Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/FlowVelocityModelArtifact.java @ 7543:a338ad099c7a
issue1762: correct facet names.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 08 Nov 2013 12:26:38 +0100 |
parents | 00950f79b0d9 |
children | 8d5ca5175038 |
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, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
144 Document data) |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
145 { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
146 logger.debug("FlowVelocityModelArtifact.setup"); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
147 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
148 state = newState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
149 if (logger.isDebugEnabled()) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
150 logger.debug(XMLUtils.toString(data)); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
151 } |
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 List<Facet> fs = new ArrayList<Facet>(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
154 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
155 String code = getDatacageIDValue(data); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
156 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
157 if (code != null) { |
7368
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
158 String name = FlowVelocityModel.getModelDescription(Integer.valueOf(code)); |
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
159 |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
160 Facet facet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
161 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
162 FLOW_VELOCITY_MAINCHANNEL, |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
163 Resources.getMsg(callMeta, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
164 I18N_MAINCHANNEL, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
165 new Object[] { name } ), |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
166 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
167 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
168 fs.add(facet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
169 Facet tauFacet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
170 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
171 FLOW_VELOCITY_TAU, |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
172 Resources.getMsg(callMeta, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
173 I18N_TAU, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
174 new Object[] { name} ), |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
175 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
176 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
177 fs.add(tauFacet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
178 Facet qFacet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
179 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
180 FLOW_VELOCITY_DISCHARGE, |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
181 Resources.getMsg(callMeta, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
182 I18N_Q, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
183 new Object[] { name} ), |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
184 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
185 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
186 fs.add(qFacet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
187 Facet tFacet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
188 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
189 FLOW_VELOCITY_TOTALCHANNEL, |
7534
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
190 Resources.getMsg(callMeta, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
191 I18N_TOTALCHANNEL, |
00950f79b0d9
issue1512: i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7368
diff
changeset
|
192 new Object[] { name} ), |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
193 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
194 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
195 fs.add(tFacet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
196 addFacets(state.getID(), fs); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
197 addStringData(DATA_ID, code); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
198 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
199 else { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
200 logger.error("No id given."); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
201 } |
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 spawnState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
204 super.setup(identifier, factory, context, callMeta, data); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
205 } |
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 * Get a list containing the one and only State. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
210 * @param context ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
211 * @return list with one and only state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
212 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
213 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
214 protected List<State> getStates(Object context) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
215 ArrayList<State> states = new ArrayList<State>(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
216 states.add(getState()); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
217 return states; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
218 } |
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 * Get the "current" state (there is but one). |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 * @param cc ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 * @return the "current" (only possible) state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
225 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
226 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
227 public State getCurrentState(Object cc) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 return getState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
229 } |
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 * Get the only possible state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
234 * @return the state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
235 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
236 protected State getState() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
237 return getState(null, null); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
238 } |
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 * Get the state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
243 * @param context ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
244 * @param stateID ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
245 * @return the state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
246 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
247 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
248 protected State getState(Object context, String stateID) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
249 return (state != null) |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
250 ? state |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
251 : spawnState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
252 } |
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 * Called via setup. Overridden to avoid cloning all data. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
257 * |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
258 * @param artifact The master-artifact. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
259 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
260 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
261 protected void initialize( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
262 Artifact artifact, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
263 Object context, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
264 CallMeta meta) |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
265 { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
266 logger.debug("FlowVelocityModelArtifact.initialize"); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
267 } |
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 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |