Mercurial > dive4elements > river
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