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