diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java @ 2002:98f3ef8da857

Register under a key on blackboard to meet assumptions by areaartifact. flys-artifacts/trunk@3444 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Fri, 16 Dec 2011 14:08:22 +0000
parents bf62cc7052d4
children e384d78ff78b
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java	Fri Dec 16 14:02:59 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java	Fri Dec 16 14:08:22 2011 +0000
@@ -2,6 +2,7 @@
 
 import org.apache.log4j.Logger;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import de.intevation.flys.model.CrossSectionLine;
@@ -54,6 +55,36 @@
     }
 
 
+    public List getDataProviderKeys(Artifact art) {
+        List list = new ArrayList();
+        list.add(art.identifier() + getIndex());
+        return list;
+    }
+
+
+    /**
+     * Can provide the master cross section lines or its index.
+     * @param artifact crosssection-artifact
+     * @param key      will respond on BLACKBOARD_CS_MASTER_DATA
+     * @param param    ignored
+     * @param context  ignored
+     * @return data from artifact (cross section master track).
+     */
+    public Object provideBlackboardData(Artifact artifact,
+        Object key,
+        Object param,
+        CallContext context
+    ) {
+        if (key.equals(artifact.identifier() + getIndex())) {
+            return getData(artifact, context);
+        }
+        else {
+            logger.warn("Cannot provide data for key: " + key);
+            return null;
+        }
+    }
+
+
     /** Do a deep copy. */
     @Override 
     public Facet deepCopy() {

http://dive4elements.wald.intevation.org