Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java @ 2172:3ecc76ef25a9
New, basic infrastructure for user-provided data ('manual points').
flys-artifacts/trunk@3767 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 26 Jan 2012 12:52:44 +0000 |
parents | |
children | 9317863e867b |
comparison
equal
deleted
inserted
replaced
2171:9083e1b47b66 | 2172:3ecc76ef25a9 |
---|---|
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.artifactdatabase.data.DefaultStateData; | |
11 import de.intevation.artifactdatabase.state.Facet; | |
12 import de.intevation.artifactdatabase.state.DefaultOutput; | |
13 import de.intevation.artifactdatabase.state.State; | |
14 | |
15 import de.intevation.artifacts.Artifact; | |
16 import de.intevation.artifacts.ArtifactFactory; | |
17 import de.intevation.artifacts.CallMeta; | |
18 | |
19 import de.intevation.flys.model.Gauge; | |
20 import de.intevation.flys.model.MainValue; | |
21 import de.intevation.flys.model.River; | |
22 | |
23 import de.intevation.flys.artifacts.model.Calculation; | |
24 import de.intevation.flys.artifacts.model.FacetTypes; | |
25 import de.intevation.flys.artifacts.model.MainValuesQFacet; | |
26 import de.intevation.flys.artifacts.model.MainValuesWFacet; | |
27 import de.intevation.flys.artifacts.model.NamedDouble; | |
28 import de.intevation.flys.artifacts.model.WstValueTable; | |
29 import de.intevation.flys.artifacts.model.WstValueTableFactory; | |
30 | |
31 import de.intevation.flys.artifacts.states.StaticState; | |
32 import de.intevation.flys.artifacts.states.DefaultState; | |
33 | |
34 import de.intevation.flys.artifacts.resources.Resources; | |
35 | |
36 import de.intevation.flys.utils.FLYSUtils; | |
37 | |
38 | |
39 /** | |
40 * Artifact to store user-added points. | |
41 */ | |
42 public class ManualPointsArtifact | |
43 extends StaticFLYSArtifact | |
44 implements FacetTypes | |
45 { | |
46 /** The logger for this class. */ | |
47 private static Logger logger = Logger.getLogger(ManualPointsArtifact.class); | |
48 | |
49 /** The name of the artifact. */ | |
50 public static final String ARTIFACT_NAME = "manualpoints"; | |
51 | |
52 /** Name of data item where points are stored (jsonized). */ | |
53 public static final String POINT_DATA = "manualpoints.data"; | |
54 | |
55 /** | |
56 * Trivial Constructor. | |
57 */ | |
58 public ManualPointsArtifact() { | |
59 logger.debug("ManualPointsArtifact.ManualPointsartifact()"); | |
60 } | |
61 | |
62 | |
63 /** | |
64 * Gets called from factory, to set things up. | |
65 */ | |
66 @Override | |
67 public void setup( | |
68 String identifier, | |
69 ArtifactFactory factory, | |
70 Object context, | |
71 CallMeta callMeta, | |
72 Document data) | |
73 { | |
74 logger.debug("ManualPointsArtifact.setup"); | |
75 super.setup(identifier, factory, context, callMeta, data); | |
76 initialize(null, context, callMeta); | |
77 } | |
78 | |
79 | |
80 /** Return the name of this artifact. */ | |
81 public String getName() { | |
82 return ARTIFACT_NAME; | |
83 } | |
84 | |
85 | |
86 /** Access state data storing the jsonstring with points. */ | |
87 public String getPointsData() { | |
88 return getDataAsString(POINT_DATA); | |
89 } | |
90 | |
91 | |
92 /** Setup state and facet. */ | |
93 @Override | |
94 protected void initialize(Artifact artifact, Object context, CallMeta meta) { | |
95 logger.debug("ManualPointsArtifact.initialize"); | |
96 List<Facet> fs = new ArrayList<Facet>(); | |
97 addStringData(POINT_DATA, "[]"); | |
98 | |
99 DefaultState state = (DefaultState) getCurrentState(context); | |
100 state.computeInit(this, hash(), context, meta, fs); | |
101 if (!fs.isEmpty()) { | |
102 logger.debug("Facets to add in ManualPointsArtifact.initialize ."); | |
103 facets.put(getCurrentStateId(), fs); | |
104 } | |
105 else { | |
106 logger.debug("No facets to add in ManualPointsArtifact.initialize (" | |
107 + state.getID() + ")."); | |
108 } | |
109 } | |
110 | |
111 | |
112 /** | |
113 * Determines Facets initial disposition regarding activity (think of | |
114 * selection in Client ThemeList GUI). This will be checked one time | |
115 * when the facet enters a collections describe document. | |
116 * | |
117 * @param facetName name of the facet. | |
118 * @param index index of the facet. | |
119 * @return 0 if not active | |
120 */ | |
121 @Override | |
122 public int getInitialFacetActivity( | |
123 String outputName, | |
124 String facetName, | |
125 int index) | |
126 { | |
127 return 1; | |
128 } | |
129 } | |
130 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |