Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/MainValuesArtifact.java @ 1078:048517d67215
Changed state spawning mechanism of MainValuesArtifact.
flys-artifacts/trunk@2575 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 25 Aug 2011 10:38:45 +0000 |
parents | 21b9eb24bd47 |
children | ef756e166154 |
comparison
equal
deleted
inserted
replaced
1077:3067e700fc13 | 1078:048517d67215 |
---|---|
4 import java.util.List; | 4 import java.util.List; |
5 | 5 |
6 import org.apache.log4j.Logger; | 6 import org.apache.log4j.Logger; |
7 | 7 |
8 import org.w3c.dom.Document; | 8 import org.w3c.dom.Document; |
9 | |
10 import de.intevation.artifactdatabase.state.DefaultFacet; | |
11 import de.intevation.artifactdatabase.state.Facet; | |
12 import de.intevation.artifactdatabase.state.DefaultOutput; | |
13 import de.intevation.artifactdatabase.state.State; | |
9 | 14 |
10 import de.intevation.artifacts.Artifact; | 15 import de.intevation.artifacts.Artifact; |
11 import de.intevation.artifacts.ArtifactFactory; | 16 import de.intevation.artifacts.ArtifactFactory; |
12 import de.intevation.artifacts.CallContext; | 17 import de.intevation.artifacts.CallContext; |
13 import de.intevation.artifacts.CallMeta; | 18 import de.intevation.artifacts.CallMeta; |
19 import de.intevation.flys.artifacts.model.RiverFactory; | |
20 | |
21 import de.intevation.flys.artifacts.model.FacetTypes; | |
14 import de.intevation.flys.artifacts.states.StaticState; | 22 import de.intevation.flys.artifacts.states.StaticState; |
15 | 23 |
16 import de.intevation.artifactdatabase.state.DefaultFacet; | 24 import de.intevation.flys.model.Gauge; |
17 import de.intevation.artifactdatabase.state.Facet; | 25 import de.intevation.flys.model.River; |
18 import de.intevation.artifactdatabase.state.DefaultOutput; | 26 |
19 import de.intevation.artifactdatabase.state.State; | |
20 | 27 |
21 /** | 28 /** |
22 * Artifact to access names of Points Of Interest along a segment of a river. | 29 * Artifact to access names of Points Of Interest along a segment of a river. |
23 * This artifact neglects (Static)FLYSArtifacts capabilities of interaction | 30 * This artifact neglects (Static)FLYSArtifacts capabilities of interaction |
24 * with the StateEngine by overriding the getState*-methods. | 31 * with the StateEngine by overriding the getState*-methods. |
30 private static Logger logger = Logger.getLogger(MainValuesArtifact.class); | 37 private static Logger logger = Logger.getLogger(MainValuesArtifact.class); |
31 | 38 |
32 /** The name of the artifact. */ | 39 /** The name of the artifact. */ |
33 public static final String ARTIFACT_NAME = "mainvalue"; | 40 public static final String ARTIFACT_NAME = "mainvalue"; |
34 | 41 |
42 /** One and only state to be in. */ | |
43 protected transient State state = null; | |
44 | |
35 | 45 |
36 /** | 46 /** |
37 * Trivial Constructor. | 47 * Trivial Constructor. |
38 */ | 48 */ |
39 public MainValuesArtifact() { | 49 public MainValuesArtifact() { |
96 * @param stateID ignored. | 106 * @param stateID ignored. |
97 * @return the state. | 107 * @return the state. |
98 */ | 108 */ |
99 @Override | 109 @Override |
100 protected State getState(Object context, String stateID) { | 110 protected State getState(Object context, String stateID) { |
101 // TODO Add other outputs, prevent this code from being executed | 111 if (state != null) { |
102 // multiple times (e.g. make state serializable and a field). | 112 |
103 State state = new StaticState(); | 113 } |
104 List<Facet> fs = new ArrayList<Facet>(); | 114 else { |
105 fs.add(new MainValuesFacet()); | 115 state = new StaticState(); |
106 facets.put(state.getID(), fs); | 116 List<Facet> fs = new ArrayList<Facet>(); |
107 DefaultOutput mainValuesOutput = new DefaultOutput( | 117 fs.add(new MainValuesFacet()); |
108 "discharge_curve", "output.discharge_curve", "image/png", | 118 // TODO check if facets and outputs already exist. |
109 fs, | 119 // TODO also check, this is usually done in initialize, too. |
110 "chart"); | 120 facets.put(state.getID(), fs); |
121 DefaultOutput mainValuesOutput1 = new DefaultOutput( | |
122 "discharge_curve", "output.discharge_curve", "image/png", | |
123 fs, | |
124 "chart"); | |
125 DefaultOutput mainValuesOutput2 = new DefaultOutput( | |
126 "computed_discharge_curve", | |
127 "output.computed_discharge_curve", "image/png", | |
128 fs, | |
129 "chart"); | |
130 | |
131 state.getOutputs().add(mainValuesOutput1); | |
132 state.getOutputs().add(mainValuesOutput2); | |
133 } | |
134 return state; | |
135 } | |
136 | |
111 | 137 |
112 state.getOutputs().add(mainValuesOutput); | 138 state.getOutputs().add(mainValuesOutput); |
113 return state; | 139 return state; |
114 } | 140 } |
115 | 141 |