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