From 655504b191d2e0eccffc0a366d38aa2ba09001bf Mon Sep 17 00:00:00 2001 From: Nicolas Dumoulin <nicolas.dumoulin@irstea.fr> Date: Tue, 15 Sep 2015 08:40:33 +0000 Subject: [PATCH] position observer sample --- data/input/observersBatch.xml | 39 ++++++++++++++++++++++++++ src/main/java/pikelake/pikes/Pike.java | 15 ++++++++-- 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 data/input/observersBatch.xml diff --git a/data/input/observersBatch.xml b/data/input/observersBatch.xml new file mode 100644 index 0000000..ce0a614 --- /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 dee4d6c..d869655 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; } -- GitLab