Non ca marche pas...
ERROR|18:46:44,699|InProcessSimulatorLauncher.java|484|localSimulateSameThread|Error during simulation
java.lang.NullPointerException
at fr.ifremer.isisfish.simulator.SimulationVariable.getAsDouble(SimulationVariable.java:100)
at scripts.SiMatrix.fishingMortalityPerGroup_aroundBody102(SiMatrix.java:1946)
at scripts.SiMatrix$AjcClosure103.run(SiMatrix.java:1)
at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)
at fr.ifremer.isisfish.util.IsisCache.realCall(IsisCache.java:202)
at fr.ifremer.isisfish.util.IsisCache.get(IsisCache.java:143)
at fr.ifremer.isisfish.aspect.CacheAspect.call(CacheAspect.java:73)
at scripts.SiMatrix.fishingMortalityPerGroup(SiMatrix.java:1921)
at simulators.DefaultSimulator.simulate(DefaultSimulator.java:335)
at simulators.SimulatorEffortByCell.simulate(SimulatorEffortByCell.java:51)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher.localSimulateSameThread(InProcessSimulatorLauncher.java:441)
at fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher$SimThread.run(InProcessSimulatorLauncher.java:271)Le 17 avril 2015 18:45, Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :C'est bon j ai contourné le probleme je pense !ca va si je fais ca ? :
MatrixND catchPerStrategyTemp = resManager.getMatrix(loopstep, pop, ResultName.MATRIX_CATCH_PER_STRATEGY_MET_PER_ZONE_POP);
if(context.get(pop).getAsDouble("FonCatch") == 0) {
catchPerStrategyTemp = resManager.getMatrix(loopstep, pop, ResultName.MATRIX_LANDING_PER_MET);
}
Si y a pas de variable FonCatch pour la pop, est ce que ca va planter ou est ce qu il n entrera simplement pas ds le if ?Le 17 avril 2015 18:41, Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :attends seule l erreur 1 est pertinente, les autres c est mon étourderie.Le 17 avril 2015 18:38, Sigrid Lehuta <sigridlehuta@gmail.com> a écrit :non il rale quand je mets ca...
----------
1. ERROR in C:\Users\slehuta\isis-fish-4\isis-database\scripts\SiMatrix.java (at line 1944)
if(context.get(pop).getAsDouble("FonCatch") == null || context.get(pop).getAsDouble("FonCatch") == 1){
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The operator == is undefined for the argument type(s) double, null
----------
2. ERROR in C:\Users\slehuta\isis-fish-4\isis-database\scripts\SiMatrix.java (at line 1948)
catchPerStrategyTemp = resManager.getMatrix(loopstep, pop, ResultName.MATRIX_LANDING_PER_MET);
^^^^^^^^^^^^^^^^^^^^
catchPerStrategyTemp cannot be resolved to a variable
----------
3. ERROR in C:\Users\slehuta\isis-fish-4\isis-database\scripts\SiMatrix.java (at line 1951)
catchPerStrategy = catchPerStrategyTemp.clone();
^^^^^^^^^^^^^^^^^^^^
catchPerStrategyTemp cannot be resolved
----------
4. ERROR in C:\Users\slehuta\isis-fish-4\isis-database\scripts\SiMatrix.java (at line 1954)
catchPerStrategy = catchPerStrategy.add(catchPerStrategyTemp); // Pour avoir la somme des captures sur les 12 mois
^^^^^^^^^^^^^^^^^^^^
catchPerStrategyTemp cannot be resolved to a variable
----------
4 problems (4 errors)Le 17 avril 2015 18:32, Eric Chatellier <chatellier@codelutin.com> a écrit :Le 17/04/2015 18:17, Sigrid Lehuta a écrit :
> Comme le dit le titre :
> dans SiMatrix je veux accéder a la valeur d'une variable d'une population
> (onglet variables), son petit nom est "FonCatch". je sais le faire ds une
> regle avec context.get(pop).getAsDouble("FonCatch")
>
> mais ds si matrix on a pas de context...
Si, il y a un context sur SiMatrix directement (this).
Donc "context.get(pop).getAsDouble("FonCatch")" doit fonctionner.
Ca résout tout ton problème ?
--
Éric Chatellier - www.codelutin.com - 02.40.50.29.28
_______________________________________________
Isis-fish-users mailing list
Isis-fish-users@list.isis-fish.org
http://list.isis-fish.org/cgi-bin/mailman/listinfo/isis-fish-users