diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java @ 4015:7f8d92873d58

Handle annotationtypes in AnnotationArtifact and -Facet.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Tue, 02 Oct 2012 10:42:34 +0200
parents efb067ab2ca4
children 6ed8ebd48d6e
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java	Tue Oct 02 10:38:39 2012 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/AnnotationArtifact.java	Tue Oct 02 10:42:34 2012 +0200
@@ -9,6 +9,7 @@
 import org.apache.log4j.Logger;
 
 import de.intevation.artifacts.Artifact;
+import de.intevation.artifacts.ArtifactFactory;
 import de.intevation.artifacts.ArtifactNamespaceContext;
 import de.intevation.artifacts.CallContext;
 import de.intevation.artifacts.CallMeta;
@@ -37,6 +38,23 @@
     /** The name of the artifact. */
     public static final String ARTIFACT_NAME = "annotation";
 
+    @Override
+    public void setup(
+        String          identifier,
+        ArtifactFactory factory,
+        Object          context,
+        CallMeta        callMeta,
+        Document        data)
+    {
+        logger.debug("AnnotationArtifact.setup");
+        String filter = StaticFLYSArtifact.getDatacageIDValue(data);
+        String[] splits = filter.split(":");
+        if (splits.length > 1) {
+            addStringData("nameFilter", splits[1]);
+        }
+        super.setup(identifier, factory, context, callMeta, data);
+    }
+
     /** Get river, setup Facets. */
     @Override
     protected void initialize(Artifact artifact, Object context,
@@ -63,6 +81,10 @@
         }
     }
 
+    public String getFilterName() {
+        return getDataAsString("nameFilter");
+    }
+
 
     public double[] getDistance() {
         /** TODO In initialize(), access maximal range of river (via

http://dive4elements.wald.intevation.org