comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java @ 1173:2490d6ef394e

Extended WDifferences bracnh of WINFO to have calculation in dedicated, new state. flys-artifacts/trunk@2753 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 15 Sep 2011 07:39:36 +0000
parents 9bdf738abbad
children 9c1cda9e2bc4
comparison
equal deleted inserted replaced
1172:23eb122c8ec1 1173:2490d6ef394e
16 import de.intevation.flys.artifacts.model.FacetTypes; 16 import de.intevation.flys.artifacts.model.FacetTypes;
17 import de.intevation.flys.artifacts.model.WKms; 17 import de.intevation.flys.artifacts.model.WKms;
18 import de.intevation.flys.artifacts.model.WQKms; 18 import de.intevation.flys.artifacts.model.WQKms;
19 19
20 import de.intevation.flys.artifacts.model.DataFacet; 20 import de.intevation.flys.artifacts.model.DataFacet;
21 import de.intevation.flys.artifacts.model.WaterlevelFacet;
21 22
22 import de.intevation.flys.utils.FLYSUtils; 23 import de.intevation.flys.utils.FLYSUtils;
23 24
25 //import net.sf.json.JSONObject;
24 26
25 public class WDifferencesState 27 public class WDifferencesState
26 extends DefaultState 28 extends DefaultState
27 implements FacetTypes 29 implements FacetTypes
28 { 30 {
29 /** The logger that is used in this state. */ 31 /** The logger that is used in this state. */
30 private static Logger logger = Logger.getLogger(WDifferencesState.class); 32 private static Logger logger = Logger.getLogger(WDifferencesState.class);
31 33
34
32 public WDifferencesState() { 35 public WDifferencesState() {
33 } 36 }
34 37
35 38
36 /** Specify to display a datacage_twin_panel. */ 39 /** Specify to display nothing (this is kind of a "final" state). */
37 @Override 40 @Override
38 protected String getUIProvider() { 41 protected String getUIProvider() {
39 return "datacage_twin_panel"; 42 return "noinput";
40 } 43 }
41 44
42 45
43 @Override 46 @Override
44 public Object computeAdvance( 47 public Object computeAdvance(
47 CallContext context, 50 CallContext context,
48 List<Facet> facets, 51 List<Facet> facets,
49 Object old 52 Object old
50 ) { 53 ) {
51 WINFOArtifact winfo = (WINFOArtifact)artifact; 54 WINFOArtifact winfo = (WINFOArtifact)artifact;
55 String id = getID();
52 56
53 // Get a data item (uuids) or parameterization of the respective 57 // Get a data item (uuids) or parameterization of the respective
54 // artifacts. 58 // artifacts.
55 // TODO Fix, choose artifacts/parameterization dynamically. 59 // TODO Fix, choose artifacts/parameterization dynamically.
56 WINFOArtifact flys1 = (WINFOArtifact) FLYSUtils.getArtifact( 60 WINFOArtifact flys1 = (WINFOArtifact) FLYSUtils.getArtifact(
77 WQKms[] minuend = (WQKms[]) flys1.getWaterlevelData().getData(); 81 WQKms[] minuend = (WQKms[]) flys1.getWaterlevelData().getData();
78 WQKms[] subtrahend = (WQKms[]) flys2.getWaterlevelData().getData(); 82 WQKms[] subtrahend = (WQKms[]) flys2.getWaterlevelData().getData();
79 wkms = WKmsOperation.SUBTRACTION.operate(minuend[0], subtrahend[0]); 83 wkms = WKmsOperation.SUBTRACTION.operate(minuend[0], subtrahend[0]);
80 facetName = "W ("+minuend[0].getName() + ") - W (" + subtrahend[0].getName()+")"; 84 facetName = "W ("+minuend[0].getName() + ") - W (" + subtrahend[0].getName()+")";
81 logger.warn("Did a WKMSSubtraction"); 85 logger.warn("Did a WKMSSubtraction");
86 // Add these datasets also as facets.
87 // TODO Store parameterization.
88 // Therefore need: getKmRange, getQs, getRiver, eventually getWs
89 Facet minuendAbsFacet = new WaterlevelFacet(0, LONGITUDINAL_W,
90 "Minuend: W (_todo_)", ComputeType.ADVANCE, id, hash);
91 Facet subtrahendAbsFacet = new WaterlevelFacet(1, LONGITUDINAL_W,
92 "Subtrahend: W (_todo_)", ComputeType.ADVANCE, id, hash);
93 //JSONObject jsonObject = new JSONObject().accumulate("string", 2.0f);
94 //facets.add(minuendAbsFacet);
95 //facets.add(subtrahendAbsFacet);
82 } 96 }
83 97
84 if (facets != null) { 98 if (facets != null) {
85 // TODO: pass computetype and state id. 99 // TODO: pass computetype and state id.
86 //, ComputeType.ADVANCE, getID(), hash)); 100 //, ComputeType.ADVANCE, getID(), hash));

http://dive4elements.wald.intevation.org