diff --git a/data/input/observersBatch.xml b/data/input/observersBatch.xml new file mode 100644 index 0000000000000000000000000000000000000000..ce0a6142d52a3475f97abecc8e9399b5dc251fc9 --- /dev/null +++ b/data/input/observersBatch.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="ISO-8859-15"?> +<!DOCTYPE xml> +<hashtable> + <entry> + <java-class>pikelake.pikes.PikesGroup</java-class> + <fr.cemagref.observation.kernel.ObservablesHandler> + <observers> + <fr.cemagref.observation.observers.CSVObserver> + <separator>;</separator> + <sysout>false</sysout> + <outputFile>data/pikegroup.txt</outputFile> + <observables> + <string>pikesNumber</string> + <string>pikesBiomass</string> + </observables> + + </fr.cemagref.observation.observers.CSVObserver> + </observers> + </fr.cemagref.observation.kernel.ObservablesHandler> + </entry> + <entry> + <java-class>pikelake.pikes.Pike</java-class> + <fr.cemagref.observation.kernel.ObservablesHandler> + <observers> + <fr.cemagref.observation.observers.CSVObserver> + <separator>;</separator> + <sysout>true</sysout> + <outputFile>data/pikes.txt</outputFile> + <observables> + <string>getIdIndividu</string> + <string>getCellIndex</string> + <string>getCellHabitatQuality</string> + </observables> + + </fr.cemagref.observation.observers.CSVObserver> + </observers> + </fr.cemagref.observation.kernel.ObservablesHandler> + </entry> +</hashtable> diff --git a/src/main/java/pikelake/pikes/Pike.java b/src/main/java/pikelake/pikes/Pike.java index dee4d6c83f25b93f8a58a70323658136e05f6ea5..d86965581cf4b9e6a4dc290a5669004c2eebea9c 100644 --- a/src/main/java/pikelake/pikes/Pike.java +++ b/src/main/java/pikelake/pikes/Pike.java @@ -1,5 +1,6 @@ package pikelake.pikes; +import fr.cemagref.observation.kernel.Observable; import fr.cemagref.simaqualife.pilot.Pilot; import pikelake.Cell; import pikelake.Individual; @@ -25,11 +26,21 @@ public class Pike extends Individual { idIndividu = cptIndividu ++; } - public final int getIdIndividu () { + @Observable(description="pike id") + public final int getIdIndividu() { return idIndividu; } - public double getIngestedFood () { + @Observable(description="cell index") + public int getCellIndex() { + return getPosition().getIndex(); + } + + @Observable(description="cell habitat quality") + public double getCellHabitatQuality() { + return getPosition().getHabitatQuality(); + } + public double getIngestedFood() { return ingestedFood; }