Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java @ 2028:f834a6961bb7
Refactored, make usage of blackboarddatafacet.
flys-artifacts/trunk@3490 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 20 Dec 2011 11:28:13 +0000 |
parents | e384d78ff78b |
children | f021080cb409 |
comparison
equal
deleted
inserted
replaced
2027:9d92c894941b | 2028:f834a6961bb7 |
---|---|
1 package de.intevation.flys.artifacts.model; | 1 package de.intevation.flys.artifacts.model; |
2 | 2 |
3 import org.apache.log4j.Logger; | 3 import org.apache.log4j.Logger; |
4 | 4 |
5 import java.util.ArrayList; | |
6 import java.util.List; | 5 import java.util.List; |
7 | 6 |
8 import de.intevation.flys.model.CrossSectionLine; | 7 import de.intevation.flys.model.CrossSectionLine; |
9 | 8 |
10 import de.intevation.artifacts.Artifact; | 9 import de.intevation.artifacts.Artifact; |
11 import de.intevation.artifacts.CallContext; | 10 import de.intevation.artifacts.CallContext; |
12 | 11 |
13 import de.intevation.artifactdatabase.state.DefaultFacet; | |
14 import de.intevation.artifactdatabase.state.Facet; | 12 import de.intevation.artifactdatabase.state.Facet; |
15 import de.intevation.artifacts.DataProvider; | 13 import de.intevation.artifacts.DataProvider; |
16 | 14 |
17 import de.intevation.flys.artifacts.WaterLineArtifact; | 15 import de.intevation.flys.artifacts.WaterLineArtifact; |
18 | 16 |
19 | 17 |
20 /** | 18 /** |
21 * Facet for Waterlines in Cross Sections. | 19 * Facet for Waterlines in Cross Sections. |
22 */ | 20 */ |
23 public class CrossSectionWaterLineFacet | 21 public class CrossSectionWaterLineFacet |
24 extends DefaultFacet | 22 extends BlackboardDataFacet |
25 implements FacetTypes { | 23 implements FacetTypes { |
26 | 24 |
27 private static Logger logger = Logger.getLogger(CrossSectionWaterLineFacet.class); | 25 private static Logger logger = Logger.getLogger(CrossSectionWaterLineFacet.class); |
28 | 26 |
29 | 27 |
53 | 51 |
54 return winfo.getWaterLines(this.getIndex(), (CrossSectionLine) crossSection); | 52 return winfo.getWaterLines(this.getIndex(), (CrossSectionLine) crossSection); |
55 } | 53 } |
56 | 54 |
57 | 55 |
58 public List getDataProviderKeys(Artifact art) { | |
59 List list = new ArrayList(); | |
60 list.add(art.identifier() + getIndex()); | |
61 return list; | |
62 } | |
63 | |
64 | |
65 /** | |
66 * Can provide the curve/line drawn. | |
67 * @param key will respond on uuid+index | |
68 * @param param ignored | |
69 * @param context ignored | |
70 * @return data to draw "intersection" of master cross section and | |
71 * the waterlevel at that position. | |
72 */ | |
73 public Object provideBlackboardData(Artifact artifact, | |
74 Object key, | |
75 Object param, | |
76 CallContext context | |
77 ) { | |
78 if (key.equals(artifact.identifier() + getIndex())) { | |
79 return getData(artifact, context); | |
80 } | |
81 else { | |
82 logger.warn("Cannot provide data for key: " + key); | |
83 return null; | |
84 } | |
85 } | |
86 | |
87 | |
88 /** Do a deep copy. */ | 56 /** Do a deep copy. */ |
89 @Override | 57 @Override |
90 public Facet deepCopy() { | 58 public Facet deepCopy() { |
91 CrossSectionWaterLineFacet copy = new CrossSectionWaterLineFacet( | 59 CrossSectionWaterLineFacet copy = new CrossSectionWaterLineFacet( |
92 this.getIndex(), | 60 this.getIndex(), |