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

http://dive4elements.wald.intevation.org