Mercurial > dive4elements > river
changeset 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 (2011-09-15) |
parents | 23eb122c8ec1 |
children | f58be0d661b9 |
files | flys-artifacts/ChangeLog flys-artifacts/doc/conf/artifacts/winfo.xml flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java |
diffstat | 4 files changed, 101 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/flys-artifacts/ChangeLog Wed Sep 14 14:58:06 2011 +0000 +++ b/flys-artifacts/ChangeLog Thu Sep 15 07:39:36 2011 +0000 @@ -1,3 +1,16 @@ +2011-09-14 Felix Wolfsteller <felix.wolfsteller@intevation.de> + + Extend WDifferences branch to have calculations in dedicated, new state. + + * doc/conf/artifacts/winfo.xml: Added new State and Transition in + WDifferences-branch. + + * src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java: + New state. + + * src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java: + Specify to not take input, prepare getting other facets. + 2011-09-14 Ingo Weinzierl <ingo@intevation.de> * src/main/java/de/intevation/flys/artifacts/states/DGMSelect.java: This
--- a/flys-artifacts/doc/conf/artifacts/winfo.xml Wed Sep 14 14:58:06 2011 +0000 +++ b/flys-artifacts/doc/conf/artifacts/winfo.xml Thu Sep 15 07:39:36 2011 +0000 @@ -47,6 +47,12 @@ <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition"> <from state="state.winfo.calculation_mode"/> + <to state="state.winfo.waterlevel_pair_select"/> + <condition data="calculation_mode" value="calc.w.differences" operator="equal"/> + </transition> + + <transition transition="de.intevation.flys.artifacts.transitions.ValueCompareTransition"> + <from state="state.winfo.waterlevel_pair_select"/> <to state="state.winfo.w_differences"/> <condition data="calculation_mode" value="calc.w.differences" operator="equal"/> </transition> @@ -140,9 +146,12 @@ <data name="wq_values" type="WQTriple" /> </state> + <state id="state.winfo.waterlevel_pair_select" description="state.winfo.waterlevel_pair_select" state="de.intevation.flys.artifacts.states.WaterlevelPairSelectState"> + <data name="diffids" type="String" /> + </state> + <state id="state.winfo.w_differences" description="state.winfo.w_differences" state="de.intevation.flys.artifacts.states.WDifferencesState"> - <data name="uuid1" type="String" /> - <data name="uuid2" type="String" /> + <data name="diffids" type="String" /> <outputmodes> <outputmode name="w_differences" description="output.w_differences" mime-type="image/png" type="chart"> @@ -150,8 +159,10 @@ <facet name="w_differences" description="facet.w_differences"/> </facets> </outputmode> - <outputmode name="w_differences_export" description="output.w_differences_export" mime-type="text/plain" type="export"> + <outputmode name="w_differences_export" description="output.w_differences.export" mime-type="text/plain" type="export"> + <facets> <facet name="csv" description="facet.w_differences.csv" /> + </facets> </outputmode> </outputmodes> </state>
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java Wed Sep 14 14:58:06 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WDifferencesState.java Thu Sep 15 07:39:36 2011 +0000 @@ -18,9 +18,11 @@ import de.intevation.flys.artifacts.model.WQKms; import de.intevation.flys.artifacts.model.DataFacet; +import de.intevation.flys.artifacts.model.WaterlevelFacet; import de.intevation.flys.utils.FLYSUtils; +//import net.sf.json.JSONObject; public class WDifferencesState extends DefaultState @@ -29,14 +31,15 @@ /** The logger that is used in this state. */ private static Logger logger = Logger.getLogger(WDifferencesState.class); + public WDifferencesState() { } - /** Specify to display a datacage_twin_panel. */ + /** Specify to display nothing (this is kind of a "final" state). */ @Override protected String getUIProvider() { - return "datacage_twin_panel"; + return "noinput"; } @@ -49,6 +52,7 @@ Object old ) { WINFOArtifact winfo = (WINFOArtifact)artifact; + String id = getID(); // Get a data item (uuids) or parameterization of the respective // artifacts. @@ -79,6 +83,16 @@ wkms = WKmsOperation.SUBTRACTION.operate(minuend[0], subtrahend[0]); facetName = "W ("+minuend[0].getName() + ") - W (" + subtrahend[0].getName()+")"; logger.warn("Did a WKMSSubtraction"); + // Add these datasets also as facets. + // TODO Store parameterization. + // Therefore need: getKmRange, getQs, getRiver, eventually getWs + Facet minuendAbsFacet = new WaterlevelFacet(0, LONGITUDINAL_W, + "Minuend: W (_todo_)", ComputeType.ADVANCE, id, hash); + Facet subtrahendAbsFacet = new WaterlevelFacet(1, LONGITUDINAL_W, + "Subtrahend: W (_todo_)", ComputeType.ADVANCE, id, hash); + //JSONObject jsonObject = new JSONObject().accumulate("string", 2.0f); + //facets.add(minuendAbsFacet); + //facets.add(subtrahendAbsFacet); } if (facets != null) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelPairSelectState.java Thu Sep 15 07:39:36 2011 +0000 @@ -0,0 +1,58 @@ +package de.intevation.flys.artifacts.states; + +import java.util.List; + +import org.apache.log4j.Logger; + +import de.intevation.artifacts.CallContext; + +import de.intevation.artifactdatabase.state.Facet; + +import de.intevation.flys.artifacts.FLYSArtifact; +import de.intevation.flys.artifacts.WINFOArtifact; + +import de.intevation.flys.artifacts.math.WKmsOperation; + +import de.intevation.flys.artifacts.model.FacetTypes; +import de.intevation.flys.artifacts.model.WKms; +import de.intevation.flys.artifacts.model.WQKms; + +import de.intevation.flys.artifacts.model.DataFacet; +import de.intevation.flys.artifacts.model.WaterlevelFacet; + +import de.intevation.flys.utils.FLYSUtils; + +import net.sf.json.JSONObject; + +public class WaterlevelPairSelectState +extends DefaultState +implements FacetTypes +{ + /** The logger that is used in this state. */ + private static Logger logger = Logger.getLogger(WaterlevelPairSelectState.class); + + public WaterlevelPairSelectState() { + } + + + /** Specify to display a datacage_twin_panel. */ + @Override + protected String getUIProvider() { + return "datacage_twin_panel"; + } + + + @Override + public Object computeAdvance( + FLYSArtifact artifact, + String hash, + CallContext context, + List<Facet> facets, + Object old + ) { + //Get data and do stuff, do not calculate + //JSONObject jsonObject = new JSONObject().accumulate("string", 2.0f); + return ""; + } +} +// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :