r3761 - in trunk: . src/main/java/fr/ifremer/isisfish/datastore
Author: echatellier Date: 2012-09-04 10:52:27 +0200 (Tue, 04 Sep 2012) New Revision: 3761 Url: http://forge.codelutin.com/repositories/revision/isis-fish/3761 Log: Restore commented stuff after release Modified: trunk/pom.xml trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2012-09-04 08:25:48 UTC (rev 3760) +++ trunk/pom.xml 2012-09-04 08:52:27 UTC (rev 3761) @@ -62,14 +62,14 @@ <dependency> <groupId>org.nuiton.matrix</groupId> <artifactId>nuiton-matrix</artifactId> - <version>2.3.1</version> + <version>2.3.2-SNAPSHOT</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.nuiton.matrix</groupId> <artifactId>nuiton-matrix-gui</artifactId> - <version>2.3.1</version> + <version>2.3.2-SNAPSHOT</version> <scope>compile</scope> </dependency> Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java 2012-09-04 08:25:48 UTC (rev 3760) +++ trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultMappedStorage.java 2012-09-04 08:52:27 UTC (rev 3761) @@ -25,8 +25,22 @@ package fr.ifremer.isisfish.datastore; -import static org.nuiton.i18n.I18n._; - +import fr.ifremer.isisfish.IsisFishDAOHelper; +import fr.ifremer.isisfish.IsisFishException; +import fr.ifremer.isisfish.IsisFishRuntimeException; +import fr.ifremer.isisfish.entities.ActiveRule; +import fr.ifremer.isisfish.entities.ActiveRuleDAO; +import fr.ifremer.isisfish.entities.Population; +import fr.ifremer.isisfish.export.Export; +import fr.ifremer.isisfish.export.SensitivityExport; +import fr.ifremer.isisfish.rule.Rule; +import fr.ifremer.isisfish.simulator.SimulationContext; +import fr.ifremer.isisfish.simulator.SimulationException; +import fr.ifremer.isisfish.simulator.SimulationPlan; +import fr.ifremer.isisfish.simulator.SimulationResultGetter; +import fr.ifremer.isisfish.simulator.SimulationResultListener; +import fr.ifremer.isisfish.types.Month; +import fr.ifremer.isisfish.types.TimeStep; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; @@ -39,36 +53,25 @@ import java.util.Map; import java.util.Set; import java.util.TreeMap; - import org.apache.commons.collections.BidiMap; import org.apache.commons.collections.bidimap.DualHashBidiMap; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.math.matrix.DoubleBigMappedVector; +import org.nuiton.math.matrix.MatrixFactory; +import org.nuiton.math.matrix.MatrixHelper; import org.nuiton.math.matrix.MatrixIterator; import org.nuiton.math.matrix.MatrixND; +import org.nuiton.math.matrix.MatrixSemanticsDecorator; +import org.nuiton.math.matrix.SemanticsDecorator; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.ArrayUtil; import org.nuiton.util.HashList; -import fr.ifremer.isisfish.IsisFishDAOHelper; -import fr.ifremer.isisfish.IsisFishException; -import fr.ifremer.isisfish.IsisFishRuntimeException; -import fr.ifremer.isisfish.entities.ActiveRule; -import fr.ifremer.isisfish.entities.ActiveRuleDAO; -import fr.ifremer.isisfish.entities.Population; -import fr.ifremer.isisfish.export.Export; -import fr.ifremer.isisfish.export.SensitivityExport; -import fr.ifremer.isisfish.rule.Rule; -import fr.ifremer.isisfish.simulator.SimulationContext; -import fr.ifremer.isisfish.simulator.SimulationException; -import fr.ifremer.isisfish.simulator.SimulationPlan; -import fr.ifremer.isisfish.simulator.SimulationResultGetter; -import fr.ifremer.isisfish.simulator.SimulationResultListener; -import fr.ifremer.isisfish.types.Month; -import fr.ifremer.isisfish.types.TimeStep; +import static org.nuiton.i18n.I18n._; /** * Cette classe permet de conserver des résultats de simulation. Elle permet @@ -88,7 +91,7 @@ /** to use log facility, just put in your code: log.info(\"...\"); */ static private Log log = LogFactory.getLog(ResultMappedStorage.class); - //static protected MatrixFactory matrixFactory = MatrixFactory.getInstance(DoubleBigMappedVector.class); + static protected MatrixFactory matrixFactory = MatrixFactory.getInstance(DoubleBigMappedVector.class); protected SimulationStorage simulation = null; protected RandomAccessFile raf; @@ -105,7 +108,7 @@ * Convertie une entite, month, timestep en string et inversement. * Entity = "TopiaId:Entity.toString" */ - static protected class EntitySemanticsDecorator /*implements SemanticsDecorator*/ { + static protected class EntitySemanticsDecorator implements SemanticsDecorator { static final private String SEP = ":"; protected TopiaContext tx; @@ -223,8 +226,8 @@ long dataOffset = offset + size; int dataSize = raf.readInt(); // en mettant un int on est limite a 2Go x 8 (double) = 16Go par matrice - //DoubleBigMappedVector data = new DoubleBigMappedVector(raf, dataOffset, dataSize); - //this.matrix = matrixFactory.create(name, sems, dimNames, data); + DoubleBigMappedVector data = new DoubleBigMappedVector(raf, dataOffset, dataSize); + this.matrix = matrixFactory.create(name, sems, dimNames, data); size += dataSize * 8; /* un double est sur 8 bytes*/ this.size = size; @@ -241,7 +244,7 @@ String[] dimNames = matrix.getDimensionNames(); int[] dims = matrix.getDim(); List[] sems = matrix.getSemantics(); - int dataSize = 0; //MatrixHelper.getVectorSize(dims); // en mettant un int on est limite a 2Go x 8 (double) = 16Go par matrice + int dataSize = MatrixHelper.getVectorSize(dims); // en mettant un int on est limite a 2Go x 8 (double) = 16Go par matrice raf.write(step.getStep()); // ecriture du pas de temps raf.writeUTF(name); // ecriture du nom du resultat @@ -255,13 +258,13 @@ } // conversion et enregistrement des semantiques - //SemanticsDecorator deco = new EntitySemanticsDecorator(); + SemanticsDecorator deco = new EntitySemanticsDecorator(); for (int i=0; i<sems.length; i ++) { List l = sems[i]; List undecorate = new ArrayList(l.size()); sems[i] = undecorate; for (Object o : l) { - //o = deco.undecorate(o); + o = deco.undecorate(o); undecorate.add(o); raf.writeUTF(o.toString()); // ecriture de chaque dimension } @@ -274,8 +277,8 @@ long dataOffset = offset + size; // on cree la nouvelle matrice comme il faut (semantique non decore) - //DoubleBigMappedVector data = new DoubleBigMappedVector(raf, dataOffset, dataSize); - //this.matrix = MatrixFactory.getInstance().create(name, sems, dimNames, data); + DoubleBigMappedVector data = new DoubleBigMappedVector(raf, dataOffset, dataSize); + this.matrix = MatrixFactory.getInstance().create(name, sems, dimNames, data); // et on met les valeurs de l'ancienne dans la nouvelle this.matrix.paste(matrix); @@ -305,8 +308,8 @@ public MatrixND getMatrix(TopiaContext tx) { // on met la matrice dans un decorateur pour convertir automatiquement les semantiques - //MatrixND result = new MatrixSemanticsDecorator(matrix, new EntitySemanticsDecorator(tx)); - return null; + MatrixND result = new MatrixSemanticsDecorator(matrix, new EntitySemanticsDecorator(tx)); + return result; } } @@ -711,7 +714,7 @@ } // creation de la matrice resultat - //resultMat = matrixFactory.create(name, sem, dimNames); + resultMat = matrixFactory.create(name, sem, dimNames); // recuperation du resultat pour chaque date de la simulation, de Date(0) à lastDate for (ResultMapped result : results.values()) { @@ -735,7 +738,7 @@ // on decore la matrice resultat au dernier moment, tous les calcules // ce font avec les strings tx = getTx(tx); - //resultMat = new MatrixSemanticsDecorator(resultMat, new EntitySemanticsDecorator(tx)); + resultMat = new MatrixSemanticsDecorator(resultMat, new EntitySemanticsDecorator(tx)); } return resultMat; } Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2012-09-04 08:25:48 UTC (rev 3760) +++ trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2012-09-04 08:52:27 UTC (rev 3761) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2005 - 2011 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric + * Copyright (C) 2005 - 2012 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -453,24 +453,24 @@ public ResultStorage getResultStorage() throws StorageException { if (resultStorage == null) { - // depuis la version 4.1.1.1 le stockage a changé de base + // depuis la version 4.1.1.2 le stockage a changé de base // de données à fichier mappe pour les resultat // mais il faut pouvoir relire les anciennes simulations - /*SimulationParameter param = getParameter(); + SimulationParameter param = getParameter(); String isisFishVersion = param.getIsisFishVersion(); Version simuVersion = new Version(isisFishVersion); - Version version4111 = new Version(4,1,1,1); + Version version4112 = new Version(4,1,1,2); // instancier un ResultStorage ou un ResultMappedStorage - if (simuVersion.before(version4111)) {*/ + if (simuVersion.before(version4112)) { resultStorage = new ResultDatabaseStorage(this); - /*} else { + } else { try { resultStorage = new ResultMappedStorage(this); } catch (IOException ex) { throw new StorageException("Can't get storage", ex); } - }*/ + } } return resultStorage; }
participants (1)
-
echatellier@users.forge.codelutin.com