comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/HYKArtifact.java @ 3786:4adc35aa655c

merged flys-artifacts/2.9.1
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:14:47 +0200
parents afc7bfb4800b
children 4aadcb90dc77
comparison
equal deleted inserted replaced
3719:e82acd5c86f7 3786:4adc35aa655c
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 :

http://dive4elements.wald.intevation.org