Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java @ 2144:a4bdf7d8527e
Use FastAnnotations for LocationProvider.
flys-artifacts/trunk@3723 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 19 Jan 2012 13:43:58 +0000 |
parents | 59622ba800c8 |
children | df70f14af981 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java Thu Jan 19 13:09:00 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/AnnotationFacet.java Thu Jan 19 13:43:58 2012 +0000 @@ -1,6 +1,7 @@ package de.intevation.flys.artifacts.model; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import org.apache.log4j.Logger; @@ -11,14 +12,21 @@ import de.intevation.artifacts.CallContext; import de.intevation.flys.artifacts.AnnotationArtifact; + import de.intevation.flys.jfree.FLYSAnnotation; import de.intevation.flys.jfree.StickyAxisAnnotation; import de.intevation.flys.model.Annotation; +import de.intevation.flys.model.FastAnnotations; import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; +import de.intevation.flys.utils.FLYSUtils; + +import de.intevation.flys.artifacts.FLYSArtifact; + + /** * Facet to access Annotations (landmarks, POIs) of a river. */ @@ -58,13 +66,20 @@ public Object getData(Artifact artifact, CallContext context) { AnnotationArtifact annotationArtifact = (AnnotationArtifact) artifact; - List<Annotation> as = annotationArtifact.getAnnotations(); - List<XYTextAnnotation> xy = new ArrayList<XYTextAnnotation>(); + String riverName = FLYSUtils.getRivername((FLYSArtifact)artifact); - for (Annotation a: as) { + FastAnnotations fas = LocationProvider.getAnnotations(riverName); + + List<XYTextAnnotation> xy = + new ArrayList<XYTextAnnotation>(fas.size()); + + for (Iterator<FastAnnotations.Annotation> iter = + fas.filter(FastAnnotations.IS_POINT); iter.hasNext();) { + FastAnnotations.Annotation fa = iter.next(); + xy.add(new StickyAxisAnnotation( - a.getPosition().getValue(), - (float) a.getRange().getA().doubleValue(), + fa.getPosition(), + (float)fa.getA(), StickyAxisAnnotation.SimpleAxis.X_AXIS)); }