Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/HYKArtifact.java @ 3651:06a65baae494
merged flys-artifacts/2.9
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:43 +0200 |
parents | afc7bfb4800b |
children | 4aadcb90dc77 |
comparison
equal
deleted
inserted
replaced
3549:6a8f83c538e3 | 3651:06a65baae494 |
---|---|
1 package de.intevation.flys.artifacts; | |
2 | |
3 import java.util.ArrayList; | |
4 import java.util.List; | |
5 | |
6 import org.apache.log4j.Logger; | |
7 | |
8 import org.w3c.dom.Document; | |
9 | |
10 import de.intevation.artifacts.Artifact; | |
11 import de.intevation.artifacts.ArtifactFactory; | |
12 import de.intevation.artifacts.CallMeta; | |
13 | |
14 | |
15 import de.intevation.flys.artifacts.states.DefaultState; | |
16 | |
17 import de.intevation.artifactdatabase.state.Facet; | |
18 import de.intevation.artifactdatabase.state.FacetActivity; | |
19 | |
20 | |
21 /** | |
22 * Artifact to get hydr zones (HYKs). | |
23 */ | |
24 public class HYKArtifact extends StaticFLYSArtifact { | |
25 | |
26 /** Name of Artifact. */ | |
27 public static final String HYK_ARTIFACT_NAME = "hyk"; | |
28 | |
29 /** Name of data item keeping the hyk id to load formations from. */ | |
30 public static final String HYK_ID = "hyk_artifact.data.id"; | |
31 | |
32 /** Name of data item keeping the km of cs master. */ | |
33 public static final String HYK_KM = "hyk_artifact.data.km"; | |
34 | |
35 /** Own logger. */ | |
36 private static final Logger logger = | |
37 Logger.getLogger(HYKArtifact.class); | |
38 | |
39 static { | |
40 // TODO: Move to configuration. | |
41 FacetActivity.Registry.getInstance() | |
42 .register(HYK_ARTIFACT_NAME, FacetActivity.INACTIVE); | |
43 } | |
44 | |
45 /** Return given name. */ | |
46 @Override | |
47 public String getName() { | |
48 return HYK_ARTIFACT_NAME; | |
49 } | |
50 | |
51 | |
52 /** Store ids, do super.setup. */ | |
53 @Override | |
54 public void setup( | |
55 String identifier, | |
56 ArtifactFactory factory, | |
57 Object context, | |
58 CallMeta callMeta, | |
59 Document data) | |
60 { | |
61 logger.info("HYKArtifact.setup"); | |
62 | |
63 String ids = getDatacageIDValue(data); | |
64 | |
65 logger.info("HYKArtifact.setup: id is " + ids); | |
66 | |
67 addStringData(HYK_ID, ids); | |
68 | |
69 super.setup(identifier, factory, context, callMeta, data); | |
70 } | |
71 | |
72 | |
73 /** Set km as Data. */ | |
74 public void setKm(double km) { | |
75 addStringData(HYK_KM, Double.toString(km)); | |
76 } | |
77 | |
78 | |
79 /** Get km from state data. */ | |
80 public double getKm() { | |
81 Double km = getDataAsDouble(HYK_KM); | |
82 if (km == null) { | |
83 // XXX returning 0 is to be compatible to older versions that had an | |
84 // own method getDataAsDouble that returned 0 if parsing the | |
85 // parameter failed. | |
86 return 0; | |
87 } | |
88 else { | |
89 return km; | |
90 } | |
91 } | |
92 | |
93 | |
94 /** Get hyk-id from state data. */ | |
95 public int getHykId() { | |
96 return getDataAsInteger(HYK_ID); | |
97 } | |
98 | |
99 | |
100 /** Do not copy data from daddyfact. */ | |
101 @Override | |
102 protected void initialize( | |
103 Artifact artifact, | |
104 Object context, | |
105 CallMeta callMeta) | |
106 { | |
107 logger.debug("HYKArtifact.initialize"); | |
108 WINFOArtifact winfo = (WINFOArtifact) artifact; | |
109 importData(winfo, "river"); | |
110 | |
111 List<Facet> fs = new ArrayList<Facet>(); | |
112 | |
113 DefaultState state = (DefaultState) getCurrentState(context); | |
114 state.computeInit(this, hash(), context, callMeta, fs); | |
115 if (!fs.isEmpty()) { | |
116 logger.debug("Facets to add in HYKArtifact.initialize ."); | |
117 facets.put(getCurrentStateId(), fs); | |
118 } | |
119 else { | |
120 logger.debug("No facets to add in HYKArtifact.initialize (" | |
121 + state.getID() + ")."); | |
122 } | |
123 } | |
124 } | |
125 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |