comparison flys-artifacts/src/main/java/org/dive4elements/river/artifacts/HYKArtifact.java @ 5831:bd047b71ab37

Repaired internal references
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:06:39 +0200
parents flys-artifacts/src/main/java/de/intevation/flys/artifacts/HYKArtifact.java@a2735a4bf75e
children
comparison
equal deleted inserted replaced
5830:160f53ee0870 5831:bd047b71ab37
1 package org.dive4elements.river.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 org.dive4elements.artifacts.Artifact;
11 import org.dive4elements.artifacts.ArtifactFactory;
12 import org.dive4elements.artifacts.CallMeta;
13
14
15 import org.dive4elements.river.artifacts.states.DefaultState;
16
17 import org.dive4elements.artifactdatabase.state.Facet;
18 import org.dive4elements.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 importData((FLYSArtifact)artifact, "river");
109
110 List<Facet> fs = new ArrayList<Facet>();
111
112 DefaultState state = (DefaultState) getCurrentState(context);
113 state.computeInit(this, hash(), context, callMeta, fs);
114 if (!fs.isEmpty()) {
115 logger.debug("Facets to add in HYKArtifact.initialize .");
116 addFacets(getCurrentStateId(), fs);
117 }
118 else {
119 logger.debug("No facets to add in HYKArtifact.initialize ("
120 + state.getID() + ").");
121 }
122 }
123 }
124 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org