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