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(),

http://dive4elements.wald.intevation.org