Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/HYKArtifact.java @ 5838:5aa05a7a34b7
Rename modules to more fitting names.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 15:23:37 +0200 |
parents | flys-artifacts/src/main/java/org/dive4elements/river/artifacts/HYKArtifact.java@bd047b71ab37 |
children | 4897a58c8746 |
comparison
equal
deleted
inserted
replaced
5837:d9901a08d0a6 | 5838:5aa05a7a34b7 |
---|---|
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 : |