Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/FlowVelocityModelArtifact.java @ 7843:2e45ff3f249b
D4EArtifact is no longer abstract.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 30 Apr 2014 15:15:35 +0200 |
parents | 8d5ca5175038 |
children | e4606eae8ea5 |
rev | line source |
---|---|
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
3 * |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
7 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
8 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
9 package org.dive4elements.river.artifacts; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
11 import java.util.ArrayList; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 import java.util.List; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 import org.apache.log4j.Logger; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
15 import org.w3c.dom.Document; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 import org.dive4elements.artifactdatabase.state.DefaultOutput; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
18 import org.dive4elements.artifactdatabase.state.Facet; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
19 import org.dive4elements.artifactdatabase.state.FacetActivity; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 import org.dive4elements.artifactdatabase.state.State; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
21 import org.dive4elements.artifacts.Artifact; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 import org.dive4elements.artifacts.ArtifactFactory; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 import org.dive4elements.artifacts.CallMeta; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
24 import org.dive4elements.artifacts.common.utils.XMLUtils; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
25 import org.dive4elements.river.artifacts.model.Calculation; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
26 import org.dive4elements.river.artifacts.model.CalculationResult; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
27 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
28 import org.dive4elements.river.model.FlowVelocityModel; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
29 import org.dive4elements.river.artifacts.model.FlowVelocityCalculation; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
30 import org.dive4elements.river.artifacts.model.FlowVelocityData; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
31 import org.dive4elements.river.artifacts.model.FlowVelocityFacet; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
32 import org.dive4elements.river.artifacts.states.StaticState; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
33 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
34 import org.dive4elements.river.artifacts.model.FacetTypes; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
35 |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
36 import org.dive4elements.river.artifacts.resources.Resources; |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 /** Artifact to access flow velocity models. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
39 public class FlowVelocityModelArtifact |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 extends StaticD4EArtifact |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 implements FacetTypes |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 /** The logger for this class. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 private static Logger logger = |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 Logger.getLogger(FlowVelocityModelArtifact.class); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
46 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
47 /** Artifact key name. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
48 private static final String NAME = "flowvelocitymodel"; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
49 |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
50 private static final String I18N_MAINCHANNEL = |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
51 "facet.flow_velocity.model.mainchannel"; |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
52 |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
53 private static final String I18N_TAU = |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
54 "facet.flow_velocity.model.tau"; |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
55 |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
56 private static final String I18N_TOTALCHANNEL = |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
57 "facet.flow_velocity.model.totalchannel"; |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
58 |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
59 private static final String I18N_Q = |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
60 "facet.flow_velocity.model.q"; |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
61 |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
62 /** Spawn only inactive facets. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
63 static { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
64 // TODO: Move to configuration. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
65 FacetActivity.Registry.getInstance() |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
66 .register(NAME, FacetActivity.INACTIVE); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
67 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
68 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
69 /** Need to give the state an id. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
70 public static final String STATIC_STATE_NAME = |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
71 "state.flowvelocitymodel.static"; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
72 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
73 /** One and only state to be in. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
74 protected transient State state = null; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
75 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
76 protected String DATA_ID = "ID"; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
77 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
78 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
79 * Trivial Constructor. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 public FlowVelocityModelArtifact() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
82 logger.debug("FlowVelocityModelArtifact.FlowVelocityModelArtifact"); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
83 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
84 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
85 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 /** Get artifact key name. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 public String getName() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
89 return NAME; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
91 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
92 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 private Object getFlowVelocity() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 logger.debug("FlowVelocityModelArtifact.getFlowVelocity"); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
95 Integer id = getDataAsInteger(DATA_ID); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
97 FlowVelocityModel model = FlowVelocityModel.getModel(id); |
7367
9ef09d285b1e
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7285
diff
changeset
|
98 FlowVelocityData data = new FlowVelocityData(); |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 // TODO rangeaccess |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 FlowVelocityCalculation.prepareData(data, model, 0d, 1000d); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
103 return new CalculationResult( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
104 new FlowVelocityData[] {data} , new Calculation()); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
106 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
107 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
108 /** Create a static state. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
109 private State newState() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
110 return new StaticState(STATIC_STATE_NAME) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
111 public Object staticCompute(List<Facet> facets) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
112 return getFlowVelocity(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
113 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
114 }; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
115 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
116 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
117 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
118 /** Create a new state with bogus output. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
119 protected State spawnState() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
120 state = newState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
121 List<Facet> fs = getFacets(STATIC_STATE_NAME); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
122 DefaultOutput output = new DefaultOutput( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
123 "general", |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
124 "general", |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
125 "image/png", |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
126 fs, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
127 "chart"); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
128 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
129 state.getOutputs().add(output); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
130 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
131 return state; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
132 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
133 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
134 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
135 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
136 * Gets called from factory, to set things up. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
137 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
138 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
139 public void setup( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
140 String identifier, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
141 ArtifactFactory factory, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
142 Object context, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
143 CallMeta callMeta, |
7842
8d5ca5175038
Updated signature of artifacts setup method; Removed unnecessary setup overrides.
Raimund Renkert <rrenkert@intevation.de>
parents:
7534
diff
changeset
|
144 Document data, |
8d5ca5175038
Updated signature of artifacts setup method; Removed unnecessary setup overrides.
Raimund Renkert <rrenkert@intevation.de>
parents:
7534
diff
changeset
|
145 List<Class> loadFacets) |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
146 { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
147 logger.debug("FlowVelocityModelArtifact.setup"); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
148 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
149 state = newState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
150 if (logger.isDebugEnabled()) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
151 logger.debug(XMLUtils.toString(data)); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
152 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
153 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
154 List<Facet> fs = new ArrayList<Facet>(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
155 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
156 String code = getDatacageIDValue(data); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
157 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
158 if (code != null) { |
7368
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
159 String name = FlowVelocityModel.getModelDescription(Integer.valueOf(code)); |
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
160 |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
161 Facet facet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
162 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
163 FLOW_VELOCITY_MAINCHANNEL, |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
164 Resources.getMsg(callMeta, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
165 I18N_MAINCHANNEL, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
166 new Object[] { name } ), |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
167 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
168 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
169 fs.add(facet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
170 Facet tauFacet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
171 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
172 FLOW_VELOCITY_TAU, |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
173 Resources.getMsg(callMeta, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
174 I18N_TAU, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
175 new Object[] { name} ), |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
176 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
177 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
178 fs.add(tauFacet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
179 Facet qFacet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
180 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
181 FLOW_VELOCITY_DISCHARGE, |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
182 Resources.getMsg(callMeta, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
183 I18N_Q, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
184 new Object[] { name} ), |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
185 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
186 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
187 fs.add(qFacet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
188 Facet tFacet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
189 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
190 FLOW_VELOCITY_TOTALCHANNEL, |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
191 Resources.getMsg(callMeta, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
192 I18N_TOTALCHANNEL, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
193 new Object[] { name} ), |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
194 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
195 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
196 fs.add(tFacet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
197 addFacets(state.getID(), fs); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
198 addStringData(DATA_ID, code); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
199 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
200 else { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
201 logger.error("No id given."); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
202 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
203 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
204 spawnState(); |
7842
8d5ca5175038
Updated signature of artifacts setup method; Removed unnecessary setup overrides.
Raimund Renkert <rrenkert@intevation.de>
parents:
7534
diff
changeset
|
205 super.setup(identifier, factory, context, callMeta, data, loadFacets); |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
206 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
207 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
208 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
209 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
210 * Get a list containing the one and only State. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
211 * @param context ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
212 * @return list with one and only state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
213 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
214 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
215 protected List<State> getStates(Object context) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
216 ArrayList<State> states = new ArrayList<State>(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
217 states.add(getState()); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
218 return states; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
219 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
220 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
221 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
222 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 * Get the "current" state (there is but one). |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 * @param cc ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
225 * @return the "current" (only possible) state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
226 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
227 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 public State getCurrentState(Object cc) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
229 return getState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
230 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
231 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
232 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
233 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
234 * Get the only possible state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
235 * @return the state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
236 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
237 protected State getState() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
238 return getState(null, null); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
239 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
240 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
241 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
242 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
243 * Get the state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
244 * @param context ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
245 * @param stateID ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
246 * @return the state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
247 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
248 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
249 protected State getState(Object context, String stateID) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
250 return (state != null) |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
251 ? state |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
252 : spawnState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
253 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
254 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
255 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
256 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
257 * Called via setup. Overridden to avoid cloning all data. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
258 * |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
259 * @param artifact The master-artifact. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
260 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
261 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
262 protected void initialize( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
263 Artifact artifact, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
264 Object context, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
265 CallMeta meta) |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
266 { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
267 logger.debug("FlowVelocityModelArtifact.initialize"); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
268 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
269 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
270 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |