Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java @ 1151:08048bd090e6
Added very stubby WDifferences State/OutGenerator for WINFOArtifact.
flys-artifacts/trunk@2682 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 09 Sep 2011 10:07:14 +0000 |
parents | |
children | 62ad0a753b68 |
comparison
equal
deleted
inserted
replaced
1150:5f53b443d67c | 1151:08048bd090e6 |
---|---|
1 package de.intevation.flys.artifacts.states; | |
2 | |
3 import java.util.List; | |
4 | |
5 import org.apache.log4j.Logger; | |
6 | |
7 import de.intevation.artifacts.CallContext; | |
8 | |
9 import de.intevation.artifactdatabase.state.Facet; | |
10 | |
11 import de.intevation.flys.artifacts.FLYSArtifact; | |
12 import de.intevation.flys.artifacts.WINFOArtifact; | |
13 | |
14 import de.intevation.flys.artifacts.math.WKmsOperation; | |
15 | |
16 import de.intevation.flys.artifacts.model.DurationCurveFacet; | |
17 import de.intevation.flys.artifacts.model.FacetTypes; | |
18 import de.intevation.flys.artifacts.model.WKms; | |
19 import de.intevation.flys.artifacts.model.WQKms; | |
20 import de.intevation.flys.artifacts.model.WQDay; | |
21 | |
22 import de.intevation.flys.artifacts.model.DataFacet; | |
23 import de.intevation.flys.artifacts.model.ReportFacet; | |
24 import de.intevation.flys.artifacts.model.CalculationResult; | |
25 | |
26 import de.intevation.flys.artifacts.resources.Resources; | |
27 | |
28 import de.intevation.flys.utils.FLYSUtils; | |
29 | |
30 public class WDifferencesState | |
31 extends DefaultState | |
32 implements FacetTypes | |
33 { | |
34 /** The logger that is used in this state. */ | |
35 private static Logger logger = Logger.getLogger(WDifferencesState.class); | |
36 | |
37 public WDifferencesState() { | |
38 } | |
39 | |
40 | |
41 /** Specify to display a datacage_twin_panel. */ | |
42 @Override | |
43 protected String getUIProvider() { | |
44 return "datacage_twin_panel"; | |
45 } | |
46 | |
47 | |
48 @Override | |
49 public Object computeAdvance( | |
50 FLYSArtifact artifact, | |
51 String hash, | |
52 CallContext context, | |
53 List<Facet> facets, | |
54 Object old | |
55 ) { | |
56 WINFOArtifact winfo = (WINFOArtifact)artifact; | |
57 | |
58 // Get a data item (uuids) or parameterization of the respective | |
59 // artifacts. | |
60 // TODO Fix, choose artifacts/parameterization dynamically. | |
61 WINFOArtifact flys1 = (WINFOArtifact) FLYSUtils.getArtifact( | |
62 //"a110a16d-d155-4115-ab0d-c4c61101c9cb", //Collection | |
63 "a0ec533f-b05b-4dcd-9db3-7850686f90a2", | |
64 context); | |
65 WINFOArtifact flys2 = (WINFOArtifact) FLYSUtils.getArtifact( | |
66 //"8ebb696d-771a-4540-bd18-15e19744a6e2", //Collection | |
67 "ce5a2c4e-3f9c-4c4d-a35c-109dd8670992", | |
68 context); | |
69 | |
70 if (flys1 == null) { | |
71 logger.warn("One of the artifacts (1) for diff calculation could not be loaded"); | |
72 } | |
73 if (flys2 == null) { | |
74 logger.warn("One of the artifacts (2) for diff calculation could not be loaded"); | |
75 } | |
76 WKms wkms = null; | |
77 | |
78 if (flys1 != null && flys2 != null) { | |
79 WQKms[] minuend = (WQKms[]) flys1.getWaterlevelData().getData(); | |
80 WQKms[] subtrahend = (WQKms[]) flys2.getWaterlevelData().getData(); | |
81 wkms = WKmsOperation.SUBTRACTION.operate(minuend[0], subtrahend[0]); | |
82 logger.warn("Did a WKMSSubtraction"); | |
83 } | |
84 | |
85 if (facets != null) { | |
86 // TODO: pass computetype and state id. | |
87 //, ComputeType.ADVANCE, getID(), hash)); | |
88 facets.add(new DataFacet(W_DIFFERENCES, "wdiff data")); | |
89 } | |
90 else { | |
91 logger.debug("Not adding facets in WDifferencesState."); | |
92 } | |
93 | |
94 return wkms; | |
95 } | |
96 } | |
97 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : |