comparison 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
comparison
equal deleted inserted replaced
2143:c5d24e0587ce 2144:a4bdf7d8527e
1 package de.intevation.flys.artifacts.model; 1 package de.intevation.flys.artifacts.model;
2 2
3 import java.util.ArrayList; 3 import java.util.ArrayList;
4 import java.util.Iterator;
4 import java.util.List; 5 import java.util.List;
5 6
6 import org.apache.log4j.Logger; 7 import org.apache.log4j.Logger;
7 8
8 import org.jfree.chart.annotations.XYTextAnnotation; 9 import org.jfree.chart.annotations.XYTextAnnotation;
9 10
10 import de.intevation.artifacts.Artifact; 11 import de.intevation.artifacts.Artifact;
11 import de.intevation.artifacts.CallContext; 12 import de.intevation.artifacts.CallContext;
12 13
13 import de.intevation.flys.artifacts.AnnotationArtifact; 14 import de.intevation.flys.artifacts.AnnotationArtifact;
15
14 import de.intevation.flys.jfree.FLYSAnnotation; 16 import de.intevation.flys.jfree.FLYSAnnotation;
15 import de.intevation.flys.jfree.StickyAxisAnnotation; 17 import de.intevation.flys.jfree.StickyAxisAnnotation;
16 18
17 import de.intevation.flys.model.Annotation; 19 import de.intevation.flys.model.Annotation;
20 import de.intevation.flys.model.FastAnnotations;
18 21
19 import de.intevation.artifactdatabase.state.DefaultFacet; 22 import de.intevation.artifactdatabase.state.DefaultFacet;
20 import de.intevation.artifactdatabase.state.Facet; 23 import de.intevation.artifactdatabase.state.Facet;
24
25 import de.intevation.flys.utils.FLYSUtils;
26
27 import de.intevation.flys.artifacts.FLYSArtifact;
28
21 29
22 /** 30 /**
23 * Facet to access Annotations (landmarks, POIs) of a river. 31 * Facet to access Annotations (landmarks, POIs) of a river.
24 */ 32 */
25 public class AnnotationFacet 33 public class AnnotationFacet
56 */ 64 */
57 @Override 65 @Override
58 public Object getData(Artifact artifact, CallContext context) { 66 public Object getData(Artifact artifact, CallContext context) {
59 AnnotationArtifact annotationArtifact = (AnnotationArtifact) artifact; 67 AnnotationArtifact annotationArtifact = (AnnotationArtifact) artifact;
60 68
61 List<Annotation> as = annotationArtifact.getAnnotations(); 69 String riverName = FLYSUtils.getRivername((FLYSArtifact)artifact);
62 List<XYTextAnnotation> xy = new ArrayList<XYTextAnnotation>();
63 70
64 for (Annotation a: as) { 71 FastAnnotations fas = LocationProvider.getAnnotations(riverName);
72
73 List<XYTextAnnotation> xy =
74 new ArrayList<XYTextAnnotation>(fas.size());
75
76 for (Iterator<FastAnnotations.Annotation> iter =
77 fas.filter(FastAnnotations.IS_POINT); iter.hasNext();) {
78 FastAnnotations.Annotation fa = iter.next();
79
65 xy.add(new StickyAxisAnnotation( 80 xy.add(new StickyAxisAnnotation(
66 a.getPosition().getValue(), 81 fa.getPosition(),
67 (float) a.getRange().getA().doubleValue(), 82 (float)fa.getA(),
68 StickyAxisAnnotation.SimpleAxis.X_AXIS)); 83 StickyAxisAnnotation.SimpleAxis.X_AXIS));
69 } 84 }
70 85
71 return new FLYSAnnotation(description, xy); 86 return new FLYSAnnotation(description, xy);
72 } 87 }

http://dive4elements.wald.intevation.org