Author: echatellier Date: 2014-10-08 13:00:58 +0200 (Wed, 08 Oct 2014) New Revision: 345 Url: http://forge.codelutin.com/projects/isis-fish-data/repository/revisions/345 Log: Use result manager Modified: trunk/scripts/SiMatrix.java trunk/simulators/DefaultSimulator.java Modified: trunk/scripts/SiMatrix.java =================================================================== --- trunk/scripts/SiMatrix.java 2014-10-08 10:20:56 UTC (rev 344) +++ trunk/scripts/SiMatrix.java 2014-10-08 11:00:58 UTC (rev 345) @@ -55,10 +55,10 @@ import fr.ifremer.isisfish.entities.StrategyMonthInfo; import fr.ifremer.isisfish.entities.Zone; import fr.ifremer.isisfish.entities.ZoneDAO; +import fr.ifremer.isisfish.simulator.ResultManager; import fr.ifremer.isisfish.simulator.SimulationContext; +import fr.ifremer.isisfish.types.Month; import fr.ifremer.isisfish.types.TimeStep; -import fr.ifremer.isisfish.types.Month; -import fr.ifremer.isisfish.datastore.ResultStorage; import fr.ifremer.isisfish.util.Nocache; /** @@ -1891,7 +1891,7 @@ * @param pop population * @return Fishing mortality per group per year (computed in December) */ - public MatrixND fishingMortalityPerGroup(TimeStep step, Population pop, ResultStorage resManager) throws TopiaException { + public MatrixND fishingMortalityPerGroup(TimeStep step, Population pop, ResultManager resManager) throws TopiaException { double Fgroup = 0; double Cgroup = 0; double Mgroup = 0; @@ -1913,12 +1913,12 @@ for (TimeStep loopstep = new TimeStep(step.getYear() * 12); loopstep.beforeOrEquals(step); loopstep=loopstep.next()) { // On fait cette boucle pour contourner les aspects de cache qui font que les resultats ne sont pas recuperes - //s'ils ont deja ete calcules une fois (meme s'ils ont change depuis) + // s'ils ont deja ete calcules une fois (meme s'ils ont change depuis) // beforeOrEquals sert a bien prendre Decembre aussi MatrixND catchPerStrategyTemp = resManager.getMatrix(loopstep, pop, ResultName.MATRIX_CATCH_PER_STRATEGY_MET_PER_ZONE_POP); if (catchPerStrategy == null) { - catchPerStrategy = catchPerStrategyTemp.clone(); + catchPerStrategy = catchPerStrategyTemp.copy(); // On clone la matrice car si on fait les operations sur celle contenue dans le cache on la modifie et donc on recupere des resultats faux. } else { catchPerStrategy = catchPerStrategy.add(catchPerStrategyTemp); // Pour avoir la somme des captures sur les 12 mois Modified: trunk/simulators/DefaultSimulator.java =================================================================== --- trunk/simulators/DefaultSimulator.java 2014-10-08 10:20:56 UTC (rev 344) +++ trunk/simulators/DefaultSimulator.java 2014-10-08 11:00:58 UTC (rev 345) @@ -497,7 +497,7 @@ if (resManager.isEnabled(ResultName.MATRIX_FISHING_MORTALITY_PER_GROUP) || resManager.isEnabled(ResultName.MATRIX_TOTAL_FISHING_MORTALITY)) { MatrixND fishingMortalityPerGroup = siMatrix.fishingMortalityPerGroup(step, - pop, context.getSimulationStorage().getResultStorage()); + pop, context.getResultManager()); if (resManager.isEnabled(ResultName.MATRIX_FISHING_MORTALITY_PER_GROUP)) { resManager.addResult(step, pop, fishingMortalityPerGroup);