Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/artifacts/FlowVelocityModelArtifact.java @ 7471:fff862f4ef76
Experimental caching of datacage recommendations. The respective hook is called a lot and running the datacage over and over again when loading data can be expensive. So the generated recommendations are cached for some time.
Hopefully this improves the overall speed of loading data from the datacage.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Wed, 30 Oct 2013 15:26:21 +0100 |
parents | 9eef5004ff21 |
children | 00950f79b0d9 |
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 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
36 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 /** Artifact to access flow velocity models. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 public class FlowVelocityModelArtifact |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
39 extends StaticD4EArtifact |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 implements FacetTypes |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 /** The logger for this class. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 private static Logger logger = |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 Logger.getLogger(FlowVelocityModelArtifact.class); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
46 /** Artifact key name. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
47 private static final String NAME = "flowvelocitymodel"; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
48 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
49 /** Spawn only inactive facets. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
50 static { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
51 // TODO: Move to configuration. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
52 FacetActivity.Registry.getInstance() |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
53 .register(NAME, FacetActivity.INACTIVE); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
54 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
55 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
56 /** Need to give the state an id. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
57 public static final String STATIC_STATE_NAME = |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
58 "state.flowvelocitymodel.static"; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
59 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
60 /** One and only state to be in. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
61 protected transient State state = null; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
62 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
63 protected String DATA_ID = "ID"; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
64 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
65 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
66 * Trivial Constructor. |
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 public FlowVelocityModelArtifact() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
69 logger.debug("FlowVelocityModelArtifact.FlowVelocityModelArtifact"); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
70 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
71 |
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 /** Get artifact key name. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
74 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
75 public String getName() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
76 return NAME; |
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 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 private Object getFlowVelocity() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 logger.debug("FlowVelocityModelArtifact.getFlowVelocity"); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
82 Integer id = getDataAsInteger(DATA_ID); |
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 FlowVelocityModel model = FlowVelocityModel.getModel(id); |
7367
9ef09d285b1e
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7285
diff
changeset
|
85 FlowVelocityData data = new FlowVelocityData(); |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 // TODO rangeaccess |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 FlowVelocityCalculation.prepareData(data, model, 0d, 1000d); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
89 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 return new CalculationResult( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
91 new FlowVelocityData[] {data} , new Calculation()); |
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 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
95 /** Create a static state. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 private State newState() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
97 return new StaticState(STATIC_STATE_NAME) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
98 public Object staticCompute(List<Facet> facets) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 return getFlowVelocity(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 }; |
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 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
104 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 /** Create a new state with bogus output. */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
106 protected State spawnState() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
107 state = newState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
108 List<Facet> fs = getFacets(STATIC_STATE_NAME); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
109 DefaultOutput output = new DefaultOutput( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
110 "general", |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
111 "general", |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
112 "image/png", |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
113 fs, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
114 "chart"); |
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 state.getOutputs().add(output); |
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 return state; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
119 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
120 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
121 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
122 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
123 * Gets called from factory, to set things up. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
124 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
125 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
126 public void setup( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
127 String identifier, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
128 ArtifactFactory factory, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
129 Object context, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
130 CallMeta callMeta, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
131 Document data) |
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 logger.debug("FlowVelocityModelArtifact.setup"); |
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 state = newState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
136 if (logger.isDebugEnabled()) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
137 logger.debug(XMLUtils.toString(data)); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
138 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
139 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
140 List<Facet> fs = new ArrayList<Facet>(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
141 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
142 String code = getDatacageIDValue(data); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
143 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
144 if (code != null) { |
7368
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
145 String name = FlowVelocityModel.getModelDescription(Integer.valueOf(code)); |
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
146 |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
147 Facet facet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
148 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
149 FLOW_VELOCITY_MAINCHANNEL, |
7368
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
150 "mainchannel " + name, |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
151 ComputeType.ADVANCE, state.getID(), "hash" |
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 fs.add(facet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
154 Facet tauFacet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
155 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
156 FLOW_VELOCITY_TAU, |
7368
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
157 "tau " + name, |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
158 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
159 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
160 fs.add(tauFacet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
161 Facet qFacet = 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_DISCHARGE, |
7368
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
164 "Q " + name, |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
165 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
166 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
167 fs.add(qFacet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
168 Facet tFacet = new FlowVelocityFacet( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
169 0, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
170 FLOW_VELOCITY_TOTALCHANNEL, |
7368
9eef5004ff21
FlowVelocityModelArtifact: Slightly improve facet names.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
7367
diff
changeset
|
171 "total "+ name, |
7285
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
172 ComputeType.ADVANCE, state.getID(), "hash" |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
173 ); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
174 fs.add(tFacet); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
175 addFacets(state.getID(), fs); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
176 addStringData(DATA_ID, code); |
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 else { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
179 logger.error("No id given."); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
180 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
181 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
182 spawnState(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
183 super.setup(identifier, factory, context, callMeta, data); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
184 } |
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 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
187 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
188 * Get a list containing the one and only State. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
189 * @param context ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
190 * @return list with one and only state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
191 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
192 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
193 protected List<State> getStates(Object context) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
194 ArrayList<State> states = new ArrayList<State>(); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
195 states.add(getState()); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
196 return states; |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
197 } |
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 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
200 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
201 * Get the "current" state (there is but one). |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
202 * @param cc ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
203 * @return the "current" (only possible) state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
204 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
205 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
206 public State getCurrentState(Object cc) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
207 return getState(); |
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 |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
211 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
212 * Get the only possible state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
213 * @return the state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
214 */ |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
215 protected State getState() { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
216 return getState(null, null); |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
217 } |
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 * Get the state. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
222 * @param context ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 * @param stateID ignored. |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 * @return the 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 protected State getState(Object context, String stateID) { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 return (state != null) |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
229 ? state |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
230 : spawnState(); |
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 /** |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
235 * Called via setup. Overridden to avoid cloning all data. |
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 * @param artifact The master-artifact. |
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 @Override |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
240 protected void initialize( |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
241 Artifact artifact, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
242 Object context, |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
243 CallMeta meta) |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
244 { |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
245 logger.debug("FlowVelocityModelArtifact.initialize"); |
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 } |
8c315b6bbc8a
issue1512: Initial commit of FlowVelocityModelArtifact.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
248 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |