[PATCH] create module bundu (Betrieb & Unterhaltung)
Wald Commits
scm-commit at wald.intevation.org
Wed May 16 11:09:04 CEST 2018
# HG changeset patch
# User gernotbelger
# Date 1526461736 -7200
# Node ID a561b882436d4cb8054ca36ec113c54f4229c2f3
# Parent 611a523fc42fdabcb45c51dd03d61c041197515b
create module bundu (Betrieb & Unterhaltung)
incl. original Fixierungsanalyse+Ausgelagerte Wasserspiegellage
diff -r 611a523fc42f -r a561b882436d artifacts/doc/conf/artifacts/bundu.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/doc/conf/artifacts/bundu.xml Wed May 16 11:08:56 2018 +0200
@@ -0,0 +1,337 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<artifact name="bundu">
+ <states>
+ <state id="state.fix.river" description="state.fix.river"
+ helpText="help.state.fix.river"
+ state="org.dive4elements.river.artifacts.states.RiverSelect">
+ <data name="river" type="String" />
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.river"/>
+ <to state="state.fix.calculation.mode"/>
+ </transition>
+
+ <state id="state.fix.calculation.mode"
+ helpText="help.state.fix.calculation.mode"
+ description="state.fix.calcuation.mode"
+ state="org.dive4elements.river.artifacts.states.fixation.FixationSelect">
+ <data name="calculation.mode" type="String"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.calculation.mode"/>
+ <to state="state.fix.location"/>
+ </transition>
+
+ <state id="state.fix.location" description="state.fix.location"
+ helpText="help.state.fix.location"
+ state="org.dive4elements.river.artifacts.states.fixation.LocationSelect">
+ <data name="ld_from" type="Double"/>
+ <data name="ld_to" type="Double"/>
+ <data name="ld_step" type="Double"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.location"/>
+ <to state="state.fix.period"/>
+ </transition>
+
+ <state id="state.fix.period" description="state.fix.period"
+ helpText="help.state.fix.period"
+ state="org.dive4elements.river.artifacts.states.fixation.FixationPeriod">
+ <data name="start" type="Long"/>
+ <data name="end" type="Long"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.period"/>
+ <to state="state.fix.gaugerange"/>
+ </transition>
+
+ <state id="state.fix.gaugerange" description="state.fix.gaugerange"
+ helpText="help.state.fix.gaugerange"
+ state="org.dive4elements.river.artifacts.states.fixation.GaugeRange">
+ <data name="q1" type="Integer"/>
+ <data name="q2" type="Integer"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.gaugerange"/>
+ <to state="state.fix.eventselect"/>
+ </transition>
+
+ <state id="state.fix.eventselect" description="state.fix.eventselect"
+ helpText="help.state.fix.eventselect"
+ state="org.dive4elements.river.artifacts.states.fixation.EventSelect">
+ <data name="events" type="intarray"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.ValueCompareTransition">
+ <from state="state.fix.eventselect"/>
+ <to state="state.fix.analysis.referenceperiod"/>
+ <condition data="calculation.mode" value="calculation.analysis"
+ operator="equal"/>
+ </transition>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.ValueCompareTransition">
+ <from state="state.fix.eventselect"/>
+ <to state="state.fix.vollmer.function"/>
+ <condition data="calculation.mode" value="calculation.vollmer"
+ operator="equal"/>
+ </transition>
+
+ <state id="state.fix.analysis.referenceperiod"
+ helpText="help.state.fix.analysis.referenceperiod"
+ description="state.fix.analysis.referenceperiod"
+ state="org.dive4elements.river.artifacts.states.fixation.ReferencePeriod">
+ <data name="ref_start" type="Long"/>
+ <data name="ref_end" type="Long"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.analysis.referenceperiod"/>
+ <to state="state.fix.analysis.analysisperiods"/>
+ </transition>
+
+ <state id="state.fix.analysis.analysisperiods"
+ helpText="help.state.fix.analysis.analysisperiods"
+ description="state.fix.analysis.analysisperiods"
+ state="org.dive4elements.river.artifacts.states.fixation.AnalysisPeriods">
+ <data name="ana_data" type="String"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.analysis.analysisperiods"/>
+ <to state="state.fix.analysis.function"/>
+ </transition>
+
+ <state id="state.fix.analysis.function"
+ helpText="help.state.fix.analysis.function"
+ description="state.fix.analysis.function"
+ state="org.dive4elements.river.artifacts.states.fixation.FunctionSelect">
+ <data name="function" type="String"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.analysis.function"/>
+ <to state="state.fix.analysis.preprocessing"/>
+ </transition>
+
+ <state id="state.fix.analysis.preprocessing"
+ helpText="help.state.fix.analysis.preprocessing"
+ description="state.fix.analysis.preprocessing"
+ state="org.dive4elements.river.artifacts.states.fixation.PreprocessingSelect">
+ <data name="preprocessing" type="Boolean"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.analysis.preprocessing"/>
+ <to state="state.fix.analysis.compute"/>
+ </transition>
+
+ <state id="state.fix.analysis.compute"
+ helpText="help.state.fix.analysis.compute"
+ description="state.fix.analysis.compute"
+ state="org.dive4elements.river.artifacts.states.fixation.FixAnalysisCompute">
+ <outputmodes>
+ <outputmode name="fix_deltawt_export" description="output.fix_deltawt_export" mine-type="text/plain" type="export">
+ <facets>
+ <facet name="csv" description="facet.fix_deltawt.csv" />
+ </facets>
+ </outputmode>
+ <outputmode name="fix_parameters_export" description="output.fix_parameters_export" mine-type="text/plain" type="export">
+ <facets>
+ <facet name="fix_parameters" description="facet.fix_parameters.csv" />
+ </facets>
+ </outputmode>
+ <outputmode name="fix_wq_curve_at_export" description="output.fix_wq_curve_at_export" mime-type="text/plain" type="export">
+ <facets>
+ <facet name="at" description="facet.fix_wq_curve_export.at"/>
+ </facets>
+ </outputmode>
+ <outputmode name="fix_wq_curve" description="output.fix_wq_curve" mine-type="image/png" type="chart">
+ <facets>
+ <facet name="fix_sector_average_wq_0" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_wq_1" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_wq_2" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_wq_3" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_analysis_events_wq" description="Raw event values used in the calculation"/>
+ <facet name="fix_reference_events_wq" description="Raw event values used in the calculation"/>
+ <facet name="fix_wq_curve" description="WQ curve"/>
+ <facet name="qsectors" description="qsectors."/>
+ <facet name="fix_outlier" description="The outliers"/>
+ <facet name="other.wqkms.q" description="W-Type of data" />
+ <facet name="other.wqkms.w" description="W-Type of data" />
+ <facet name="other.wkms" description="facet.other.wkms"/>
+ <facet name="other.wkms.marks" description="facet.other.wkms.makrs"/>
+ <facet name="other.wqkms" description="facet.other.wqkms"/>
+ <facet name="longitudinal_section.w" description="facet.longitudinal_section.w"/>
+ <facet name="other.wq" description="Point-like data like fixations"/>
+ <facet name="heightmarks_points" description="facet.other.wkms.heightmarks_points"/>
+ <facet name="discharge_curve.curve" description="facet.discharge_curve.curve"/>
+ <facet name="fix_wq_curve.manualpoints" description="Manual points"/>
+ <facet name="mainvalues.q" description="mainvalues.q"/>
+ <facet name="mainvalues.w" description="mainvalues.w"/>
+ </facets>
+ </outputmode>
+ <outputmode name="fix_deltawt_curve" description="output.fix_deltawt_curve" mine-type="image/png" type="chart">
+ <facets>
+ <facet name="fix_sector_average_dwt_0" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_dwt_1" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_dwt_2" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_dwt_3" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_analysis_events_dwt" description="Raw event values used in the calculation"/>
+ <facet name="fix_reference_events_dwt" description="Raw event values used in the calculation"/>
+ <facet name="fix_analysis_periods_dwt" description="Dateranges of analysis periods."/>
+ <facet name="fix_deviation_dwt" description="The standard variance"/>
+ <facet name="fix_deltawt_curve.manualpoints" description="Manual points"/>
+ <facet name="fix_reference_period_dwt" description="Reference period"/>
+ </facets>
+ </outputmode>
+ <outputmode name="fix_longitudinal_section_curve" description="output.fix_longitudinal_section_curve" mine-type="image/png" type="chart">
+ <facets>
+ <facet name="fix_sector_average_ls_0" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_ls_1" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_ls_2" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_ls_3" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_ls_deviation_0" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_ls_deviation_1" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_ls_deviation_2" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_ls_deviation_3" description="Average values for Ws in Q sectors."/>
+ <facet name="longitudinal_section.annotations" description="facet.longitudinal_section.annotations"/>
+ <facet name="fix_deviation_ls" description="The standard variance"/>
+ <facet name="fix_analysis_events_ls" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_reference_events_ls" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_longitudinal_section_curve.manualpoints" description="Manual points"/>
+ <facet name="other.wqkms.q" description="W-Type of data" />
+ <facet name="other.wqkms.w" description="W-Type of data" />
+ </facets>
+ </outputmode>
+ <outputmode name="fix_derivate_curve" description="output.fix_derivate_curve" mine-type="image/png" type="chart">
+ <facets>
+ <facet name="fix_derivate_curve" description="Derivate curve"/>
+ <facet name="fix_derivate_curve.manualpoints" description="Manual points"/>
+ </facets>
+ </outputmode>
+ <outputmode name="fix_report" description="output.fix_report.report" mime-type="text/plain" type="report">
+ <facets>
+ <facet name="report" description="facet.fix.report" />
+ </facets>
+ </outputmode>
+ </outputmodes>
+ </state>
+
+ <state id="state.fix.vollmer.function"
+ helpText="help.state.fix.vollmer.function"
+ description="state.fix.vollmer.function"
+ state="org.dive4elements.river.artifacts.states.fixation.FunctionSelect">
+ <data name="function" type="String"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.vollmer.function"/>
+ <to state="state.fix.vollmer.preprocessing"/>
+ </transition>
+
+ <state id="state.fix.vollmer.preprocessing"
+ helpText="help.state.fix.vollmer.preprocessing"
+ description="state.fix.vollmer.preprocessing"
+ state="org.dive4elements.river.artifacts.states.fixation.PreprocessingSelect">
+ <data name="preprocessing" type="Boolean"/>
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.vollmer.preprocessing"/>
+ <to state="state.fix.vollmer.qs"/>
+ </transition>
+
+ <state id="state.fix.vollmer.qs" description="state.fix.vollmer.qs"
+ helpText="help.state.fix.vollmer.qs"
+ state="org.dive4elements.river.artifacts.states.WQFixing">
+ <data name="wq_isq" type="String" />
+ <data name="wq_values" type="WQTriple" />
+ </state>
+
+ <transition transition="org.dive4elements.river.artifacts.transitions.DefaultTransition">
+ <from state="state.fix.vollmer.qs"/>
+ <to state="state.fix.vollmer.compute"/>
+ </transition>
+
+ <state id="state.fix.vollmer.compute"
+ helpText="help.state.fix.vollmer.compute"
+ description="state.fix.vollmer.compute"
+ state="org.dive4elements.river.artifacts.states.fixation.FixRealizingCompute">
+ <outputmodes>
+ <outputmode name="longitudinal_section" description="output.longitudinal_section" mime-type="image/png" type="chart">
+ <facets>
+ <facet name="longitudinal_section.w" description="facet.longitudinal_section.w"/>
+ <facet name="longitudinal_section.q" description="facet.longitudinal_section.q"/>
+ <facet name="w_differences" description="facet.w_differences"/>
+ <facet name="other.wkms" description="facet.other.wkms"/>
+ <facet name="other.wq" description="WQ-Type of data" />
+ <facet name="other.wqkms" description="facet.other.wqkms"/>
+ <facet name="other.wqkms.q" description="W-Type of data" />
+ <facet name="other.wqkms.w" description="W-Type of data" />
+ <facet name="heightmarks_points" description="facet.other.wkms.heightmarks_points"/>
+ <facet name="longitudinal_section.annotations" description="facet.longitudinal_section.annotations"/>
+ <facet name="longitudinal_section.area" description="facet.longitudinal_section.area"/>
+ <facet name="longitudinal_section.manualpoints" description="Manuelle Punkte"/>
+ </facets>
+ </outputmode>
+ <outputmode name="fix_wq_curve" description="output.fix_wq_curve" mine-type="image/png" type="chart">
+ <facets>
+ <facet name="fix_sector_average_wq_0" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_wq_1" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_wq_2" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_sector_average_wq_3" description="Average values for Ws in Q sectors."/>
+ <facet name="fix_analysis_events_wq" description="Raw event values used in the calculation"/>
+ <facet name="fix_wq_curve" description="WQ curve"/>
+ <facet name="fix_wq_ls" description="WQ LS curve"/>
+ <facet name="fix_outlier" description="The outliers"/>
+ <facet name="qsectors" description="qsectors."/>
+ <facet name="fix_events_wqkms" description="WQKMS-Type of data" />
+ <facet name="other.wqkms.q" description="W-Type of data" />
+ <facet name="other.wqkms.w" description="W-Type of data" />
+ <facet name="other.wkms" description="facet.other.wqkms"/>
+ <facet name="other.wqkms" description="facet.other.wqkms"/>
+ <!--issue1383: facet name="longitudinal_section.w" description="facet.longitudinal_section.w"/-->
+ <facet name="other.wq" description="Point-like data like fixations"/>
+ <facet name="heightmarks_points" description="facet.other.wkms.heightmarks_points"/>
+ <facet name="discharge_curve.curve" description="facet.discharge_curve.curve"/>
+ <facet name="mainvalues.w" description="facet.fix_wq.mainvalues.w"/>
+ <facet name="mainvalues.q" description="facet.fix_wq.mainvalues.q"/>
+ </facets>
+ </outputmode>
+ <outputmode name="cross_section" description="output.cross_section" mime-type="image/png" type="chart">
+ <facets>
+ <facet name="cross_section_water_line" description="facet.cross_section_water_line"/>
+ <facet name="cross_section" description="facet.cross_section"/>
+ <facet name="area" description="an area"/>
+ <facet name="cross_section.area" description="an area"/>
+ <facet name="cross_section.manualpoints" description="points"/>
+ <facet name="cross_section.manualline" description="line"/>
+ <facet name="hyk" description="hyks"/>
+ </facets>
+ </outputmode>
+ <outputmode name="fix_wq_curve_at_export" description="output.fix_wq_curve_at_export" mime-type="text/plain" type="export">
+ <facets>
+ <facet name="at" description="facet.fix_wq_curve_export.at"/>
+ </facets>
+ </outputmode>
+ <outputmode name="fix_waterlevel_export" description="output.fix_waterlevel_export" mine-type="text/plain" type="export">
+ <facets>
+ <facet name="csv" description="facet.waterlevel_export.csv" />
+ <facet name="wst" description="facet.waterlevel_export.wst" />
+ <facet name="pdf" description="facet.waterlevel_export.pdf" />
+ </facets>
+ </outputmode>
+ <outputmode name="fix_report" description="output.fix_report.report" mime-type="text/plain" type="report">
+ <facets>
+ <facet name="report" description="facet.fix.report" />
+ </facets>
+ </outputmode>
+ </outputmodes>
+ </state>
+ </states>
+</artifact>
diff -r 611a523fc42f -r a561b882436d artifacts/doc/conf/conf.xml
--- a/artifacts/doc/conf/conf.xml Tue May 15 18:04:36 2018 +0200
+++ b/artifacts/doc/conf/conf.xml Wed May 16 11:08:56 2018 +0200
@@ -24,7 +24,8 @@
<!ENTITY discharge-defaults SYSTEM "generators/discharge-diagram-defaults.xml">
<!ENTITY sinfo_artifact SYSTEM "artifacts/sinfo.xml">
- <!ENTITY uinfo_artifact SYSTEM "artifacts/uinfo.xml">
+ <!ENTITY uinfo_artifact SYSTEM "artifacts/uinfo.xml">
+ <!ENTITY bundu_artifact SYSTEM "artifacts/bundu.xml">
]>
<artifact-database>
<export-secret>YOUR_SECRET</export-secret>
@@ -181,9 +182,10 @@
ttl="3600000"
artifact="org.dive4elements.river.artifacts.uinfo.UINFOArtifact">org.dive4elements.artifactdatabase.DefaultArtifactFactory</artifact-factory>
- <artifact-factory name="uinfo" description="Factory to create an artifact to be used in module uinfo."
+ <!-- BUNDU specific Artifacts -->
+ <artifact-factory name="bundu" description="Factory to create an artifact to be used in module bundu."
ttl="3600000"
- artifact="org.dive4elements.river.artifacts.uinfo.UINFOArtifact">org.dive4elements.artifactdatabase.DefaultArtifactFactory</artifact-factory>
+ artifact="org.dive4elements.river.artifacts.bundu.BUNDUArtifact">org.dive4elements.artifactdatabase.DefaultArtifactFactory</artifact-factory>
<artifact-factory name="tkhxf" description="Factory to create an artifact used in sinfo datacage."
ttl="3600000"
@@ -329,6 +331,7 @@
&sinfo_artifact;
&uinfo_artifact;
+ &bundu_artifact;
</artifacts>
&modules;
diff -r 611a523fc42f -r a561b882436d artifacts/doc/conf/modules.xml
--- a/artifacts/doc/conf/modules.xml Tue May 15 18:04:36 2018 +0200
+++ b/artifacts/doc/conf/modules.xml Wed May 16 11:08:56 2018 +0200
@@ -1,24 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<modules>
<module name="winfo" selected="true">
- <river name="Beispielfluss"/>
+ <river name="Beispielfluss" />
</module>
- <module name="sinfo" group="module.group.ingwerds">
- <river name="Beispielfluss"/>
+ <module name="sinfo" group="module.group.ingwerds">^
+ <river name="Beispielfluss" />
</module>
<module name="minfo" group="module.group.ingwerds">
- <river name="Beispielfluss"/>
+ <river name="Beispielfluss" />
</module>
<module name="uinfo" group="module.group.ingwerds">
- <river name="Beispielfluss"/>
+ <river name="Beispielfluss" />
+ </module>
+ <module name="bundu" group="module.group.ingwerds">
+ <river name="Beispielfluss" />
</module>
<module name="new_map" group="module.group.bottom">
- <river name="Beispielfluss"/>
+ <river name="Beispielfluss" />
</module>
<module name="new_chart" group="module.group.bottom">
- <river name="Beispielfluss"/>
+ <river name="Beispielfluss" />
</module>
<module name="fixanalysis" group="module.group.bottom">
- <river name="Beispielfluss"/>
+ <river name="Beispielfluss" />
</module>
</modules>
\ No newline at end of file
diff -r 611a523fc42f -r a561b882436d artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/BUNDUArtifact.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/BUNDUArtifact.java Wed May 16 11:08:56 2018 +0200
@@ -0,0 +1,81 @@
+/* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
+ * Software engineering by
+ * Björnsen Beratende Ingenieure GmbH
+ * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
+ *
+ * This file is Free Software under the GNU AGPL (>=v3)
+ * and comes with ABSOLUTELY NO WARRANTY! Check out the
+ * documentation coming with Dive4Elements River for details.
+ */
+package org.dive4elements.river.artifacts.bundu;
+
+import org.apache.commons.lang.StringUtils;
+import org.dive4elements.artifactdatabase.state.FacetActivity;
+import org.dive4elements.river.artifacts.D4EArtifact;
+
+/**
+ * The default BUNDU artifact.
+ *
+ * @author Gernot Belger
+ */
+public class BUNDUArtifact extends D4EArtifact {
+
+ private static final long serialVersionUID = 1L;
+
+ /** Error message that is thrown if no mode has been chosen. */
+ private static final String ERROR_NO_CALCULATION_MODE = "error_feed_no_calculation_mode";
+
+ /**
+ * Error message that is thrown if an invalid calculation mode has been chosen.
+ */
+ private static final String ERROR_INVALID_CALCULATION_MODE = "error_feed_invalid_calculation_mode";
+
+ /** The name of the artifact. */
+ private static final String ARTIFACT_NAME = "bundu";
+
+ private static final String FIELD_RIVER = "river";
+
+ private static final String FIELD_MODE = "calculation_mode";
+
+ static {
+ // Active/deactivate facets.
+ // BEWARE: we can only define one activity for "sinfo", so we use the artifact
+ // as place for this
+ FacetActivity.Registry.getInstance().register(ARTIFACT_NAME, (artifact, facet, output) -> null);
+ }
+
+ /**
+ * Default constructor, because it's serializable.
+ */
+ public BUNDUArtifact() {
+ }
+
+ /**
+ * Returns the name of the concrete artifact.
+ *
+ * @return the name of the concrete artifact.
+ */
+ @Override
+ public String getName() {
+ return ARTIFACT_NAME;
+ }
+
+ public BunduCalcMode getCalculationMode() {
+
+ final String calc = getDataAsString(FIELD_MODE);
+ if (calc == null) {
+ throw new IllegalArgumentException(ERROR_NO_CALCULATION_MODE);
+ }
+
+ try {
+ return BunduCalcMode.valueOf(StringUtils.trimToEmpty(calc).toLowerCase());
+ }
+ catch (final Exception e) {
+ throw new IllegalArgumentException(ERROR_INVALID_CALCULATION_MODE, e);
+ }
+ }
+
+ public String getRiver() {
+ return getDataAsString(FIELD_RIVER);
+ }
+}
\ No newline at end of file
diff -r 611a523fc42f -r a561b882436d artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/BunduCalcMode.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/BunduCalcMode.java Wed May 16 11:08:56 2018 +0200
@@ -0,0 +1,15 @@
+/* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
+ * Software engineering by
+ * Björnsen Beratende Ingenieure GmbH
+ * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
+ *
+ * This file is Free Software under the GNU AGPL (>=v3)
+ * and comes with ABSOLUTELY NO WARRANTY! Check out the
+ * documentation coming with Dive4Elements River for details.
+ */
+
+package org.dive4elements.river.artifacts.bundu;
+
+public enum BunduCalcMode {
+ bundu_bezugswst
+}
\ No newline at end of file
diff -r 611a523fc42f -r a561b882436d artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZoneAccessHelper.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZoneAccessHelper.java Wed May 16 11:08:56 2018 +0200
@@ -0,0 +1,67 @@
+/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
+ * Software engineering by
+ * Björnsen Beratende Ingenieure GmbH
+ * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
+ *
+ * This file is Free Software under the GNU AGPL (>=v3)
+ * and comes with ABSOLUTELY NO WARRANTY! Check out the
+ * documentation coming with Dive4Elements River for details.
+ */
+package org.dive4elements.river.artifacts.uinfo.vegetationzones;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Domenico Nardi Tironi
+ *
+ */
+public class VegetationZoneAccessHelper {
+ // IMMER ABGLEICHEN MIT SuperVegZonesTablePanel.TABLE_CELL_SEPARATOR
+ private static final String TABLE_CELL_SEPARATOR = "TABLE_CELL_SEPARATOR";
+ private static final String TABLE_ROW_SEPARATOR = "TABLE_ROW_SEPARATOR";
+ private final String zoneName;
+ private final int min_day_overflow;
+ private final int max_day_overflow;
+
+ public static List<VegetationZoneAccessHelper> parse(final String zonesRaw) {
+ final List<VegetationZoneAccessHelper> resultList = new ArrayList<>();
+
+ final List<String[]> results = new ArrayList<>();
+ if (zonesRaw.contains(TABLE_ROW_SEPARATOR)) {
+ final String[] rows = zonesRaw.split(TABLE_ROW_SEPARATOR);
+ for (final String row : rows) {
+ if (row.contains(TABLE_CELL_SEPARATOR)) {
+ final String[] result = row.split(TABLE_CELL_SEPARATOR);
+ results.add(result);
+ }
+ }
+ }
+ for (final String[] zone : results) {
+
+ final VegetationZoneAccessHelper helper = new VegetationZoneAccessHelper(zone[0], Integer.valueOf(zone[1]), Integer.valueOf(zone[2]));
+ resultList.add(helper);
+ }
+
+ return resultList;
+ }
+
+ private VegetationZoneAccessHelper(final String zone, final Integer min_day_overflow, final Integer max_day_overflow) {
+ // TODO Auto-generated constructor stub
+ this.zoneName = zone;
+ this.min_day_overflow = min_day_overflow;
+ this.max_day_overflow = max_day_overflow;
+ }
+
+ public int getMax_day_overflow() {
+ return this.max_day_overflow;
+ }
+
+ public String getZoneName() {
+ return this.zoneName;
+ }
+
+ public int getMin_day_overflow() {
+ return this.min_day_overflow;
+ }
+}
diff -r 611a523fc42f -r a561b882436d artifacts/src/main/resources/messages.properties
--- a/artifacts/src/main/resources/messages.properties Tue May 15 18:04:36 2018 +0200
+++ b/artifacts/src/main/resources/messages.properties Wed May 16 11:08:56 2018 +0200
@@ -752,6 +752,7 @@
module.fixanalysis = Fix Analysis
module.new_map = New Map
module.new_chart = New Chart
+module.bundu = Betrieb und Unterhaltung
load_diameter = Bedload Diameter
bed_diameter = Bed Diameter
@@ -1078,4 +1079,6 @@
uinfo.export.csv.meta.header.veg.dauerbis = \u00dcberflutungsdauer bis [d/a]
predefineddepthevol.total.title = Gesamt: {0}
-predefineddepthevol.peryear.title = J\u00e4hrlich: {0}
\ No newline at end of file
+predefineddepthevol.peryear.title = J\u00e4hrlich: {0}
+
+bundu_bezugswst = Bezugswasserst\u00e4nde
\ No newline at end of file
diff -r 611a523fc42f -r a561b882436d artifacts/src/main/resources/messages_de.properties
--- a/artifacts/src/main/resources/messages_de.properties Tue May 15 18:04:36 2018 +0200
+++ b/artifacts/src/main/resources/messages_de.properties Wed May 16 11:08:56 2018 +0200
@@ -752,6 +752,7 @@
module.fixanalysis = Fixierungsanalyse
module.new_map = Neue Karte
module.new_chart = Neues Diagramm
+module.bundu = Betrieb und Unterhaltung
load_diameter = Geschiebedurchmesser
bed_diameter = Sohldurchmesser
@@ -1078,4 +1079,6 @@
uinfo.export.csv.meta.header.veg.dauerbis = \u00dcberflutungsdauer bis [d/a]
predefineddepthevol.total.title = Gesamt: {0}
-predefineddepthevol.peryear.title = J\u00e4hrlich: {0}
\ No newline at end of file
+predefineddepthevol.peryear.title = J\u00e4hrlich: {0}
+
+bundu_bezugswst = Bezugswasserst\u00e4nde
\ No newline at end of file
diff -r 611a523fc42f -r a561b882436d gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java Tue May 15 18:04:36 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java Wed May 16 11:08:56 2018 +0200
@@ -1517,4 +1517,6 @@
String uinfo_vegetation_zones_to();
+ String bundu();
+
}
\ No newline at end of file
diff -r 611a523fc42f -r a561b882436d gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.properties
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.properties Tue May 15 18:04:36 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.properties Wed May 16 11:08:56 2018 +0200
@@ -811,4 +811,6 @@
uinfo_vegetation_zone_label = Vegetationszone
uinfo_vegetation_zones_label = Vegetationszonen
uinfo_vegetation_zones_from = \u00dcfd von [d/a]
-uinfo_vegetation_zones_to = \u00dcfd bis [d/a]
\ No newline at end of file
+uinfo_vegetation_zones_to = \u00dcfd bis [d/a]
+
+bundu = Betrieb und Unterhaltung
\ No newline at end of file
diff -r 611a523fc42f -r a561b882436d gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties Tue May 15 18:04:36 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties Wed May 16 11:08:56 2018 +0200
@@ -811,4 +811,6 @@
uinfo_vegetation_zone_label = Vegetationszone
uinfo_vegetation_zones_label = Vegetationszonen
uinfo_vegetation_zones_from = \u00dcfd von [d/a]
-uinfo_vegetation_zones_to = \u00dcfd bis [d/a]
\ No newline at end of file
+uinfo_vegetation_zones_to = \u00dcfd bis [d/a]
+
+bundu = Betrieb und Unterhaltung
\ No newline at end of file
diff -r 611a523fc42f -r a561b882436d gwt-client/src/main/java/org/dive4elements/river/client/client/ui/ParameterList.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/ParameterList.java Tue May 15 18:04:36 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/ParameterList.java Wed May 16 11:08:56 2018 +0200
@@ -8,20 +8,11 @@
package org.dive4elements.river.client.client.ui;
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-
-import com.smartgwt.client.types.Overflow;
-import com.smartgwt.client.types.VerticalAlignment;
-import com.smartgwt.client.types.VisibilityMode;
-import com.smartgwt.client.util.SC;
-import com.smartgwt.client.widgets.Canvas;
-import com.smartgwt.client.widgets.layout.HLayout;
-import com.smartgwt.client.widgets.layout.SectionStack;
-import com.smartgwt.client.widgets.layout.SectionStackSection;
-import com.smartgwt.client.widgets.layout.VLayout;
-import com.smartgwt.client.widgets.tab.Tab;
-import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
import org.dive4elements.river.client.client.Config;
import org.dive4elements.river.client.client.FLYS;
@@ -53,6 +44,7 @@
import org.dive4elements.river.client.client.ui.stationinfo.MeasurementStationPanel;
import org.dive4elements.river.client.shared.model.Artifact;
import org.dive4elements.river.client.shared.model.ArtifactDescription;
+import org.dive4elements.river.client.shared.model.BUNDUArtifact;
import org.dive4elements.river.client.shared.model.Collection;
import org.dive4elements.river.client.shared.model.Data;
import org.dive4elements.river.client.shared.model.DataItem;
@@ -69,19 +61,21 @@
import org.dive4elements.river.client.shared.model.UINFOArtifact;
import org.dive4elements.river.client.shared.model.WINFOArtifact;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.types.Overflow;
+import com.smartgwt.client.types.VerticalAlignment;
+import com.smartgwt.client.types.VisibilityMode;
+import com.smartgwt.client.util.SC;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.SectionStack;
+import com.smartgwt.client.widgets.layout.SectionStackSection;
+import com.smartgwt.client.widgets.layout.VLayout;
+import com.smartgwt.client.widgets.tab.Tab;
+import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
-
-public class ParameterList
-extends Tab
-implements StepBackHandler, StepForwardHandler, ParameterChangeHandler,
- HasParameterChangeHandler, CollectionChangeHandler,
- OutputModesChangeHandler, AdvanceHandler
-{
+public class ParameterList extends Tab implements StepBackHandler, StepForwardHandler, ParameterChangeHandler, HasParameterChangeHandler, CollectionChangeHandler, OutputModesChangeHandler, AdvanceHandler {
private static final long serialVersionUID = 5204784727239299980L;
public static final String STYLENAME_OLD_PARAMETERS = "oldParameters";
@@ -90,21 +84,15 @@
protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
/** The ArtifactService used to communicate with the Artifact server. */
- protected ArtifactServiceAsync artifactService =
- GWT.create(ArtifactService.class);
+ protected ArtifactServiceAsync artifactService = GWT.create(ArtifactService.class);
/** The StepForwardService used to put data into an existing artifact. */
- protected StepForwardServiceAsync forwardService =
- GWT.create(StepForwardService.class);
+ protected StepForwardServiceAsync forwardService = GWT.create(StepForwardService.class);
/** The StepForwardService used to put data into an existing artifact. */
- protected AdvanceServiceAsync advanceService =
- GWT.create(AdvanceService.class);
+ protected AdvanceServiceAsync advanceService = GWT.create(AdvanceService.class);
-
- protected ReportServiceAsync reportService =
- GWT.create(ReportService.class);
-
+ protected ReportServiceAsync reportService = GWT.create(ReportService.class);
/** The list of ParameterizationChangeHandler. */
protected List<ParameterChangeHandler> parameterHandlers;
@@ -117,7 +105,7 @@
protected List<DataList> old;
protected Map<String, Canvas> oldStorage;
- protected DataList current;
+ protected DataList current;
protected UIProvider uiProvider;
@@ -129,51 +117,45 @@
protected VLayout helperPanel;
protected VLayout tablePanel;
protected InfoPanel infoPanel;
- protected Canvas reportPanel;
+ protected Canvas reportPanel;
private SectionStack stack;
- public ParameterList(FLYS flys, CollectionView cView, String title) {
+ public ParameterList(final FLYS flys, final CollectionView cView, final String title) {
super(title);
this.cView = cView;
- this.flys = flys;
+ this.flys = flys;
- parameterHandlers = new ArrayList<ParameterChangeHandler>();
- old = new ArrayList<DataList>();
- oldStorage = new TreeMap<String, Canvas>();
- topLayout = new VLayout();
- oldItems = new VLayout();
- currentItems = new VLayout();
- exportModes = new VLayout();
- report = new VLayout();
+ this.parameterHandlers = new ArrayList<ParameterChangeHandler>();
+ this.old = new ArrayList<DataList>();
+ this.oldStorage = new TreeMap<String, Canvas>();
+ this.topLayout = new VLayout();
+ this.oldItems = new VLayout();
+ this.currentItems = new VLayout();
+ this.exportModes = new VLayout();
+ this.report = new VLayout();
addParameterChangeHandler(this);
init();
}
-
- public ParameterList(
- FLYS flys,
- CollectionView cView,
- String title,
- Artifact artifact)
- {
+ public ParameterList(final FLYS flys, final CollectionView cView, final String title, final Artifact artifact) {
super(title);
- this.cView = cView;
- this.flys = flys;
+ this.cView = cView;
+ this.flys = flys;
this.artifact = artifact;
- parameterHandlers = new ArrayList<ParameterChangeHandler>();
- old = new ArrayList<DataList>();
- oldStorage = new TreeMap<String, Canvas>();
- topLayout = new VLayout();
- oldItems = new VLayout();
- currentItems = new VLayout();
- exportModes = new VLayout();
- report = new VLayout();
+ this.parameterHandlers = new ArrayList<ParameterChangeHandler>();
+ this.old = new ArrayList<DataList>();
+ this.oldStorage = new TreeMap<String, Canvas>();
+ this.topLayout = new VLayout();
+ this.oldItems = new VLayout();
+ this.currentItems = new VLayout();
+ this.exportModes = new VLayout();
+ this.report = new VLayout();
init();
@@ -182,156 +164,143 @@
setArtifact(artifact, false);
}
-
protected void init() {
- HLayout rootLayout = new HLayout();
+ final HLayout rootLayout = new HLayout();
rootLayout.setMembersMargin(20);
- VLayout left = new VLayout();
+ final VLayout left = new VLayout();
- if (old == null || old.size() == 0) {
- oldItems.setHeight(1);
+ if (this.old == null || this.old.size() == 0) {
+ this.oldItems.setHeight(1);
}
- oldItems.setMembersMargin(10);
- oldItems.setStyleName(STYLENAME_OLD_PARAMETERS);
- currentItems.setAlign(VerticalAlignment.TOP);
+ this.oldItems.setMembersMargin(10);
+ this.oldItems.setStyleName(STYLENAME_OLD_PARAMETERS);
+ this.currentItems.setAlign(VerticalAlignment.TOP);
left.setMembersMargin(20);
left.setWidth(300);
- left.addMember(oldItems);
- left.addMember(currentItems);
- left.addMember(exportModes);
- left.addMember(report);
+ left.addMember(this.oldItems);
+ left.addMember(this.currentItems);
+ left.addMember(this.exportModes);
+ left.addMember(this.report);
- reportPanel = new Canvas();
- reportPanel.setHeight("*");
- report.addMember(reportPanel);
+ this.reportPanel = new Canvas();
+ this.reportPanel.setHeight("*");
+ this.report.addMember(this.reportPanel);
rootLayout.addMember(left);
rootLayout.addMember(createSectionStack());
- topLayout.addMember(rootLayout);
- if (artifact == null) {
- Canvas moduleSelection = renderNew();
+ this.topLayout.addMember(rootLayout);
+ if (this.artifact == null) {
+ final Canvas moduleSelection = renderNew();
moduleSelection.setLayoutAlign(VerticalAlignment.TOP);
- currentItems.addMember(moduleSelection);
+ this.currentItems.addMember(moduleSelection);
}
- setPane(topLayout);
+ setPane(this.topLayout);
}
-
protected SectionStack createSectionStack() {
- stack = new SectionStack();
- stack.setHeight100();
- stack.setCanResizeSections(true);
- stack.setVisibilityMode(VisibilityMode.MULTIPLE);
- stack.setOverflow(Overflow.SCROLL);
+ this.stack = new SectionStack();
+ this.stack.setHeight100();
+ this.stack.setCanResizeSections(true);
+ this.stack.setVisibilityMode(VisibilityMode.MULTIPLE);
+ this.stack.setOverflow(Overflow.SCROLL);
// This canvas is used to render helper widgets.
final SectionStackSection helperSection = new SectionStackSection();
helperSection.setExpanded(false);
- helperSection.setTitle(MSG.helperPanelTitle());
- helperPanel = new VLayout() {
+ helperSection.setTitle(this.MSG.helperPanelTitle());
+ this.helperPanel = new VLayout() {
@Override
- public void addMember(Canvas component) {
+ public void addMember(final Canvas component) {
super.addMember(component);
- stack.expandSection(helperSection.getID());
+ ParameterList.this.stack.expandSection(helperSection.getID());
}
@Override
- public void removeMembers(Canvas[] components) {
+ public void removeMembers(final Canvas[] components) {
super.removeMembers(components);
helperSection.setExpanded(false);
}
};
- helperPanel.setWidth100();
- helperPanel.setHeight100();
- helperSection.setItems(helperPanel);
+ this.helperPanel.setWidth100();
+ this.helperPanel.setHeight100();
+ helperSection.setItems(this.helperPanel);
// This canvas is used to render calculation results.
final SectionStackSection tableSection = new SectionStackSection();
tableSection.setExpanded(false);
- tableSection.setTitle(MSG.calcTableTitle());
- tablePanel = new VLayout() {
+ tableSection.setTitle(this.MSG.calcTableTitle());
+ this.tablePanel = new VLayout() {
@Override
- public void addMember(Canvas component) {
+ public void addMember(final Canvas component) {
super.addMember(component);
tableSection.setExpanded(true);
- if (stack.getSection(InfoPanel.SECTION_ID) != null) {
- stack.getSection(InfoPanel.SECTION_ID).setExpanded(false);
+ if (ParameterList.this.stack.getSection(InfoPanel.SECTION_ID) != null) {
+ ParameterList.this.stack.getSection(InfoPanel.SECTION_ID).setExpanded(false);
}
}
@Override
- public void removeMembers(Canvas[] components) {
+ public void removeMembers(final Canvas[] components) {
super.removeMembers(components);
tableSection.setExpanded(false);
}
};
- tablePanel.setHeight100();
- tablePanel.setWidth100();
- tableSection.setItems(tablePanel);
+ this.tablePanel.setHeight100();
+ this.tablePanel.setWidth100();
+ tableSection.setItems(this.tablePanel);
- stack.setSections(helperSection, tableSection);
+ this.stack.setSections(helperSection, tableSection);
- return stack;
+ return this.stack;
}
-
/** Sets and forwards artifact. */
- protected void setArtifact(Artifact artifact) {
+ protected void setArtifact(final Artifact artifact) {
setArtifact(artifact, true);
}
-
- protected void setArtifact(Artifact artifact, boolean forward) {
- Artifact tmp = this.artifact;
+ protected void setArtifact(final Artifact artifact, final boolean forward) {
+ final Artifact tmp = this.artifact;
this.artifact = artifact;
if (forward) {
- fireParameterChangeEvent(
- tmp, this.artifact, ParameterChangeEvent.Type.FORWARD);
- }
- else {
- fireParameterChangeEvent(
- tmp, this.artifact, ParameterChangeEvent.Type.BACK);
+ fireParameterChangeEvent(tmp, this.artifact, ParameterChangeEvent.Type.FORWARD);
+ } else {
+ fireParameterChangeEvent(tmp, this.artifact, ParameterChangeEvent.Type.BACK);
}
}
-
/**
* This method registers a new ParameterChangeHandler.
*
- * @param handler The new ParameterChangeHandler.
+ * @param handler
+ * The new ParameterChangeHandler.
*/
@Override
- public void addParameterChangeHandler(ParameterChangeHandler handler) {
+ public void addParameterChangeHandler(final ParameterChangeHandler handler) {
if (handler != null) {
- parameterHandlers.add(handler);
+ this.parameterHandlers.add(handler);
}
}
-
/**
* This method calls the <code>onParameterChange()</code> method of all
* registered ParameterChangeHandler.
*/
- protected void fireParameterChangeEvent(
- Artifact old,
- Artifact newArt,
- ParameterChangeEvent.Type type)
- {
- ParameterChangeEvent e = new ParameterChangeEvent(old, newArt, type);
+ protected void fireParameterChangeEvent(final Artifact old, final Artifact newArt, final ParameterChangeEvent.Type type) {
+ final ParameterChangeEvent e = new ParameterChangeEvent(old, newArt, type);
- for (ParameterChangeHandler handler: parameterHandlers) {
+ for (final ParameterChangeHandler handler : this.parameterHandlers) {
handler.onParameterChange(e);
}
}
-
/**
* This method creates a Canvas displaying the plugins of FLYS combined with
* a widget to select a river.
@@ -339,110 +308,99 @@
* @return a Canvas that displays the supported plugins and rivers of FLYS.
*/
protected Canvas renderNew() {
- River[] rivers = flys.getRivers();
- DataItem[] items = new DataItem[rivers.length];
+ final River[] rivers = this.flys.getRivers();
+ final DataItem[] items = new DataItem[rivers.length];
int i = 0;
- for (River river: rivers) {
- String name = river.getName();
- String mUuid = river.getModelUuid();
- items[i++] = new DefaultDataItem(name, null, mUuid);
+ for (final River river : rivers) {
+ final String name = river.getName();
+ final String mUuid = river.getModelUuid();
+ items[i++] = new DefaultDataItem(name, null, mUuid);
}
- Data data = new DefaultData(
- "river",
- MSG.river_selection(),
- null,
- items);
+ final Data data = new DefaultData("river", this.MSG.river_selection(), null, items);
- LinkSelection widget = new LinkSelection();
- HasStepForwardHandlers handler = widget;
+ final LinkSelection widget = new LinkSelection();
+ final HasStepForwardHandlers handler = widget;
- widget.setContainer(helperPanel);
+ widget.setContainer(this.helperPanel);
handler.addStepForwardHandler(new StepForwardHandler() {
private static final long serialVersionUID = -6210719844707004860L;
@Override
- public void onStepForward(StepForwardEvent event) {
+ public void onStepForward(final StepForwardEvent event) {
lockUI();
- Data[] data = event.getData();
+ final Data[] data = event.getData();
- DataItem[] moduleItems = data[0].getItems();
- DataItem[] riversItems = data[1].getItems();
+ final DataItem[] moduleItems = data[0].getItems();
+ final DataItem[] riversItems = data[1].getItems();
- String module = moduleItems[0].getStringValue();
- String river = riversItems[0].getStringValue();
+ final String module = moduleItems[0].getStringValue();
+ final String river = riversItems[0].getStringValue();
if (module == null || river == null) {
- GWT.log("ParameterList.renderNew(): module == null "
- + "|| river == null");
+ GWT.log("ParameterList.renderNew(): module == null " + "|| river == null");
unlockUI();
return;
}
final String newTitle = moduleItems[0].getLabel();
setTitle(newTitle);
- Config config = Config.getInstance();
+ final Config config = Config.getInstance();
final String locale = config.getLocale();
final Data[] feedData = new Data[] { data[1] };
- artifactService.create(
- locale, module.toLowerCase(), null,
- new AsyncCallback<Artifact>() {
- @Override
- public void onFailure(Throwable caught) {
- unlockUI();
- GWT.log("Could not create the new artifact.");
- SC.warn(FLYS.getExceptionString(MSG, caught));
- }
+ ParameterList.this.artifactService.create(locale, module.toLowerCase(), null, new AsyncCallback<Artifact>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ unlockUI();
+ GWT.log("Could not create the new artifact.");
+ SC.warn(FLYS.getExceptionString(ParameterList.this.MSG, caught));
+ }
- @Override
- public void onSuccess(Artifact artifact) {
- GWT.log("Successfully created a new artifact.");
+ @Override
+ public void onSuccess(final Artifact artifact) {
+ GWT.log("Successfully created a new artifact.");
- forwardService.go(locale, artifact, feedData,
- new AsyncCallback<Artifact>() {
- @Override
- public void onFailure(Throwable caught) {
- unlockUI();
- GWT.log("Could not feed the artifact.");
- SC.warn(caught.getMessage());
- }
+ ParameterList.this.forwardService.go(locale, artifact, feedData, new AsyncCallback<Artifact>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ unlockUI();
+ GWT.log("Could not feed the artifact.");
+ SC.warn(caught.getMessage());
+ }
- @Override
- public void onSuccess(Artifact artifact) {
- GWT.log("Successfully feed the artifact.");
- old.clear();
- cView.addArtifactToCollection(artifact);
- setArtifact(artifact);
- unlockUI();
- }
- });
- }
+ @Override
+ public void onSuccess(final Artifact artifact) {
+ GWT.log("Successfully feed the artifact.");
+ ParameterList.this.old.clear();
+ ParameterList.this.cView.addArtifactToCollection(artifact);
+ setArtifact(artifact);
+ unlockUI();
+ }
+ });
+ }
});
}
});
- DataList list = new DataList();
+ final DataList list = new DataList();
list.add(data);
return widget.create(list);
}
-
protected void clearOldData() {
- old.clear();
+ this.old.clear();
}
-
- public void addOldData(DataList old) {
+ public void addOldData(final DataList old) {
addOldData(old, true);
}
-
- public void addOldData(DataList old, boolean redraw) {
+ public void addOldData(final DataList old, final boolean redraw) {
if (old != null) {
this.old.add(old);
}
@@ -450,15 +408,13 @@
refreshOld(redraw);
}
-
- public void addOldDatas(DataList[] old) {
+ public void addOldDatas(final DataList[] old) {
addOldDatas(old, true);
}
-
- public void addOldDatas(DataList[] old, boolean redraw) {
+ public void addOldDatas(final DataList[] old, final boolean redraw) {
if (old != null && old.length > 0) {
- for (DataList o: old) {
+ for (final DataList o : old) {
if (o == null) {
continue;
}
@@ -479,15 +435,14 @@
addOldData(null, true);
}
-
- public boolean exists(DataList data) {
+ public boolean exists(final DataList data) {
if (data == null) {
return false;
}
- String stateName = data.getState();
+ final String stateName = data.getState();
- for (DataList o: old) {
+ for (final DataList o : this.old) {
if (stateName.equals(o.getState())) {
return true;
}
@@ -496,34 +451,29 @@
return false;
}
-
- public void setCurrentData(DataList current, UIProvider uiProvider) {
- this.current = current;
+ public void setCurrentData(final DataList current, final UIProvider uiProvider) {
+ this.current = current;
this.uiProvider = uiProvider;
refreshCurrent();
}
-
- public void refreshOld(boolean redrawAll) {
+ public void refreshOld(final boolean redrawAll) {
if (redrawAll) {
refreshAllOld();
- }
- else {
- DataList dataList = old.get(old.size()-1);
- String state = dataList.getState();
+ } else {
+ final DataList dataList = this.old.get(this.old.size() - 1);
+ final String state = dataList.getState();
- if (oldStorage.get(state) == null) {
- String provider = dataList.getUIProvider();
- UIProvider uiprovider = UIProviderFactory.getProvider(
- provider,
- flys.getCurrentUser());
+ if (this.oldStorage.get(state) == null) {
+ final String provider = dataList.getUIProvider();
+ final UIProvider uiprovider = UIProviderFactory.getProvider(provider, this.flys.getCurrentUser());
((HasStepBackHandlers) uiprovider).addStepBackHandler(this);
- Canvas c = uiprovider.createOld(dataList);
+ final Canvas c = uiprovider.createOld(dataList);
if (c != null) {
- oldStorage.put(dataList.getState(), c);
- oldItems.addMember(c);
+ this.oldStorage.put(dataList.getState(), c);
+ this.oldItems.addMember(c);
}
}
}
@@ -531,280 +481,256 @@
updateOldHeight();
}
+ protected void refreshAllOld() {
+ final List<String> not = new ArrayList<String>();
- protected void refreshAllOld() {
- List<String> not = new ArrayList<String>();
+ for (final DataList data : this.old) {
+ final String state = data.getState();
- for (DataList data: old) {
- String state = data.getState();
-
- Canvas c = oldStorage.get(state);
+ final Canvas c = this.oldStorage.get(state);
if (c != null) {
not.add(state);
}
}
- Map<String, Canvas> newOld = new TreeMap<String, Canvas>();
+ final Map<String, Canvas> newOld = new TreeMap<String, Canvas>();
- Set<Map.Entry<String, Canvas>> entries = oldStorage.entrySet();
- for (Map.Entry<String, Canvas> entry: entries) {
- String state = entry.getKey();
- Canvas value = entry.getValue();
+ final Set<Map.Entry<String, Canvas>> entries = this.oldStorage.entrySet();
+ for (final Map.Entry<String, Canvas> entry : entries) {
+ final String state = entry.getKey();
+ final Canvas value = entry.getValue();
if (not.indexOf(state) < 0) {
- oldItems.removeMember(value);
- }
- else {
+ this.oldItems.removeMember(value);
+ } else {
newOld.put(state, value);
}
}
- oldStorage = newOld;
+ this.oldStorage = newOld;
}
-
protected void updateOldHeight() {
- int minHeight = oldItems.getMinHeight();
+ final int minHeight = this.oldItems.getMinHeight();
if (minHeight <= 20) {
- oldItems.setHeight(20);
- }
- else {
- oldItems.setHeight(minHeight);
+ this.oldItems.setHeight(20);
+ } else {
+ this.oldItems.setHeight(minHeight);
}
}
-
/**
* Refreshes the part displaying the data of the current state.
* The UI is created using the UIProvider stored in the Data object.
*/
public void refreshCurrent() {
- currentItems.removeMembers(currentItems.getMembers());
+ this.currentItems.removeMembers(this.currentItems.getMembers());
- if (current != null && uiProvider != null) {
- Canvas c = uiProvider.create(current);
- Canvas h = uiProvider.createHelpLink(current, null, this.flys);
+ if (this.current != null && this.uiProvider != null) {
+ final Canvas c = this.uiProvider.create(this.current);
+ final Canvas h = this.uiProvider.createHelpLink(this.current, null, this.flys);
- HLayout wrapper = new HLayout();
+ final HLayout wrapper = new HLayout();
wrapper.addMember(h);
wrapper.addMember(c);
- currentItems.addMember(wrapper);
- }
- else if (uiProvider != null) {
- Canvas c = uiProvider.create(null);
+ this.currentItems.addMember(wrapper);
+ } else if (this.uiProvider != null) {
+ final Canvas c = this.uiProvider.create(null);
c.setLayoutAlign(VerticalAlignment.TOP);
- currentItems.addMember(c);
- }
- else {
- currentItems.setHeight(1);
+ this.currentItems.addMember(c);
+ } else {
+ this.currentItems.setHeight(1);
}
- Canvas[] members = currentItems.getMembers();
+ final Canvas[] members = this.currentItems.getMembers();
if (members == null || members.length == 0) {
- currentItems.setHeight(1);
- }
- else {
+ this.currentItems.setHeight(1);
+ } else {
int height = 0;
- for (Canvas member: members) {
+ for (final Canvas member : members) {
height += member.getHeight();
}
- currentItems.setHeight(height);
+ this.currentItems.setHeight(height);
}
}
-
/**
* This method is called if the user clicks on the 'next' button to advance
* to the next state.
*
- * @param event The StepForwardEvent.
+ * @param event
+ * The StepForwardEvent.
*/
@Override
- public void onStepForward(StepForwardEvent event) {
+ public void onStepForward(final StepForwardEvent event) {
GWT.log("CollectionView - onStepForward()");
lockUI();
- Config config = Config.getInstance();
- String locale = config.getLocale();
+ final Config config = Config.getInstance();
+ final String locale = config.getLocale();
- forwardService.go(locale, artifact, event.getData(),
- new AsyncCallback<Artifact>() {
- @Override
- public void onFailure(Throwable caught) {
- unlockUI();
- GWT.log("Could not feed the artifact.");
- SC.warn(FLYS.getExceptionString(MSG, caught));
- }
+ this.forwardService.go(locale, this.artifact, event.getData(), new AsyncCallback<Artifact>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ unlockUI();
+ GWT.log("Could not feed the artifact.");
+ SC.warn(FLYS.getExceptionString(ParameterList.this.MSG, caught));
+ }
- @Override
- public void onSuccess(Artifact artifact) {
- GWT.log("Successfully feed the artifact.");
- old.clear();
+ @Override
+ public void onSuccess(final Artifact artifact) {
+ GWT.log("Successfully feed the artifact.");
+ ParameterList.this.old.clear();
- setArtifact(artifact, true);
- unlockUI();
- }
+ setArtifact(artifact, true);
+ unlockUI();
+ }
});
}
-
/**
* This method is used to remove all old items from this list after the user
* has clicked the step back button.
*
- * @param e The StepBackEvent that holds the identifier of the target state.
+ * @param e
+ * The StepBackEvent that holds the identifier of the target state.
*/
@Override
- public void onStepBack(StepBackEvent e) {
+ public void onStepBack(final StepBackEvent e) {
lockUI();
- final String target = e.getTarget();
+ final String target = e.getTarget();
- Config config = Config.getInstance();
- final String locale = config.getLocale();
+ final Config config = Config.getInstance();
+ final String locale = config.getLocale();
- advanceService.advance(locale, artifact, target,
- new AsyncCallback<Artifact>() {
- @Override
- public void onFailure(Throwable caught) {
- unlockUI();
- GWT.log("Could not go back to '" + target + "'");
- SC.warn(FLYS.getExceptionString(MSG, caught));
- }
+ this.advanceService.advance(locale, this.artifact, target, new AsyncCallback<Artifact>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ unlockUI();
+ GWT.log("Could not go back to '" + target + "'");
+ SC.warn(FLYS.getExceptionString(ParameterList.this.MSG, caught));
+ }
- @Override
- public void onSuccess(Artifact artifact) {
- GWT.log("Successfully step back to '" + target + "'");
+ @Override
+ public void onSuccess(final Artifact artifact) {
+ GWT.log("Successfully step back to '" + target + "'");
- old.clear();
+ ParameterList.this.old.clear();
- setArtifact(artifact, false);
- unlockUI();
- }
+ setArtifact(artifact, false);
+ unlockUI();
}
- );
+ });
}
-
@Override
public void onAdvance(final String target) {
- Config config = Config.getInstance();
- final String locale = config.getLocale();
+ final Config config = Config.getInstance();
+ final String locale = config.getLocale();
- advanceService.advance(locale, artifact, target,
- new AsyncCallback<Artifact>() {
- @Override
- public void onFailure(Throwable caught) {
- GWT.log("Could not go to '" + target + "'");
- SC.warn(FLYS.getExceptionString(MSG, caught));
- }
+ this.advanceService.advance(locale, this.artifact, target, new AsyncCallback<Artifact>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ GWT.log("Could not go to '" + target + "'");
+ SC.warn(FLYS.getExceptionString(ParameterList.this.MSG, caught));
+ }
- @Override
- public void onSuccess(Artifact artifact) {
- GWT.log("Successfully advanced to '" + target + "'");
+ @Override
+ public void onSuccess(final Artifact artifact) {
+ GWT.log("Successfully advanced to '" + target + "'");
- old.clear();
+ ParameterList.this.old.clear();
- setArtifact(artifact, true);
- }
+ setArtifact(artifact, true);
}
- );
+ });
}
-
/**
* Implements the onCollectionChange() method to do update the GUI after the
* parameterization has changed.
*
- * @param event The ParameterChangeEvent.
+ * @param event
+ * The ParameterChangeEvent.
*/
@Override
- public void onParameterChange(ParameterChangeEvent event) {
+ public void onParameterChange(final ParameterChangeEvent event) {
GWT.log("ParameterList.onParameterChange");
- Canvas[] c = helperPanel.getMembers();
+ final Canvas[] c = this.helperPanel.getMembers();
if (c != null && c.length > 0) {
- helperPanel.removeMembers(c);
+ this.helperPanel.removeMembers(c);
}
- Artifact art = event.getNewValue();
- ArtifactDescription desc = art.getArtifactDescription();
+ final Artifact art = event.getNewValue();
+ final ArtifactDescription desc = art.getArtifactDescription();
- DataList currentData = desc.getCurrentData();
+ final DataList currentData = desc.getCurrentData();
if (currentData != null) {
// the user has to enter some attributes
- String uiProvider = currentData.getUIProvider();
- UIProvider provider = UIProviderFactory.getProvider(
- uiProvider,
- flys.getCurrentUser());
+ final String uiProvider = currentData.getUIProvider();
+ final UIProvider provider = UIProviderFactory.getProvider(uiProvider, this.flys.getCurrentUser());
- provider.setContainer(helperPanel);
+ provider.setContainer(this.helperPanel);
provider.setArtifact(art);
- provider.setCollection(cView.getCollection());
+ provider.setCollection(this.cView.getCollection());
provider.setParameterList(this);
((HasStepForwardHandlers) provider).addStepForwardHandler(this);
((HasStepBackHandlers) provider).addStepBackHandler(this);
setCurrentData(currentData, provider);
- }
- else {
- String[] reachable = desc.getReachableStates();
+ } else {
+ final String[] reachable = desc.getReachableStates();
if (reachable != null && reachable.length > 0) {
// We have reached a final state with the option to step to
// further to a next state. But in the current state, no user
// data is required.
- UIProvider ui = UIProviderFactory.getProvider("continue", null);
+ final UIProvider ui = UIProviderFactory.getProvider("continue", null);
ui.setArtifact(art);
- ui.setCollection(cView.getCollection());
+ ui.setCollection(this.cView.getCollection());
ui.setParameterList(this);
((ContinuePanel) ui).addAdvanceHandler(this);
setCurrentData(null, ui);
- }
- else {
+ } else {
// we have reached a final state with no more user input
setCurrentData(null, null);
}
}
- // FIXME: we got a whole artifact framework to separate ui and backend stuff, but in the end.... we have switches over specific datatypes here...
- if (art instanceof WINFOArtifact
- || art instanceof SINFOArtifact
- || art instanceof UINFOArtifact
- || art instanceof FixAnalysisArtifact) {
+ // FIXME: we got a whole artifact framework to separate ui and backend stuff, but in the end.... we have switches over
+ // specific datatypes here...
+ if (art instanceof WINFOArtifact || art instanceof SINFOArtifact || art instanceof UINFOArtifact || art instanceof FixAnalysisArtifact
+ || art instanceof BUNDUArtifact) {
createGaugePanel();
renderInfo(desc.getRiver(), desc.getOldData());
- }
- else if (art instanceof MINFOArtifact) {
+ } else if (art instanceof MINFOArtifact) {
createMeasurementStationPanel();
renderInfo(desc.getRiver(), desc.getOldData());
- }
- else {
+ } else {
removeInfoPanel();
}
- addOldDatas(
- desc.getOldData(),
- event.getType() == ParameterChangeEvent.Type.BACK);
+ addOldDatas(desc.getOldData(), event.getType() == ParameterChangeEvent.Type.BACK);
}
+ @Override
+ public void onCollectionChange(final CollectionChangeEvent event) {
+ final Collection c = event.getNewValue();
+ final Map<String, OutputMode> outs = c.getOutputModes();
+ final Set<String> keys = outs.keySet();
- @Override
- public void onCollectionChange(CollectionChangeEvent event) {
- Collection c = event.getNewValue();
- Map<String, OutputMode> outs = c.getOutputModes();
- Set<String> keys = outs.keySet();
-
- OutputMode[] outputs = new OutputMode[outs.size()];
+ final OutputMode[] outputs = new OutputMode[outs.size()];
int idx = 0;
- for (String outname: keys) {
+ for (final String outname : keys) {
outputs[idx++] = outs.get(outname);
}
@@ -812,46 +738,43 @@
updateReportModes(c, getReportModes(outputs));
}
+ @Override
+ public void onOutputModesChange(final OutputModesChangeEvent event) {
- @Override
- public void onOutputModesChange(OutputModesChangeEvent event) {
-
- Collection c = cView.getCollection();
+ final Collection c = this.cView.getCollection();
if (c != null) {
- OutputMode [] outs = event.getOutputModes();
+ final OutputMode[] outs = event.getOutputModes();
updateExportModes(c, getExportModes(outs));
updateReportModes(c, getReportModes(outs));
}
}
+ protected List<ReportMode> getReportModes(final OutputMode[] outs) {
- protected List<ReportMode> getReportModes(OutputMode [] outs) {
-
- List<ReportMode> reports = new ArrayList<ReportMode>();
+ final List<ReportMode> reports = new ArrayList<ReportMode>();
if (outs == null || outs.length == 0) {
return reports;
}
- for (OutputMode out: outs) {
+ for (final OutputMode out : outs) {
if (out instanceof ReportMode) {
- reports.add((ReportMode)out);
+ reports.add((ReportMode) out);
}
}
return reports;
}
-
- protected List<ExportMode> getExportModes(OutputMode[] outs) {
- List<ExportMode> exports = new ArrayList<ExportMode>();
+ protected List<ExportMode> getExportModes(final OutputMode[] outs) {
+ final List<ExportMode> exports = new ArrayList<ExportMode>();
if (outs == null || outs.length == 0) {
return exports;
}
- for (OutputMode out: outs) {
+ for (final OutputMode out : outs) {
if (out instanceof ExportMode) {
exports.add((ExportMode) out);
}
@@ -860,129 +783,119 @@
return exports;
}
-
- protected void updateExportModes(Collection c, List<ExportMode> exports) {
- int num = exports != null ? exports.size() : 0;
+ protected void updateExportModes(final Collection c, final List<ExportMode> exports) {
+ final int num = exports != null ? exports.size() : 0;
GWT.log("Update export modes: " + num);
- exportModes.removeMembers(exportModes.getMembers());
+ this.exportModes.removeMembers(this.exportModes.getMembers());
if (exports.size() > 0) {
- exportModes.addMember(new ExportPanel(c, exports));
- }
- else {
- exportModes.setHeight(1);
+ this.exportModes.addMember(new ExportPanel(c, exports));
+ } else {
+ this.exportModes.setHeight(1);
}
}
- protected void updateReportModes(Collection c, List<ReportMode> reports) {
- int num = reports != null ? reports.size() : 0;
+ protected void updateReportModes(final Collection c, final List<ReportMode> reports) {
+ final int num = reports != null ? reports.size() : 0;
GWT.log("Update report modes: " + num);
if (num == 0) {
- reportPanel.setContents("");
+ this.reportPanel.setContents("");
return;
}
- Config config = Config.getInstance();
- String locale = config.getLocale();
+ final Config config = Config.getInstance();
+ final String locale = config.getLocale();
- String cid = c.identifier();
+ final String cid = c.identifier();
- for (ReportMode report: reports) {
+ for (final ReportMode report : reports) {
GWT.log("report '" + report.toString() + "'");
- reportService.report(cid, locale, report.getName(),
- new AsyncCallback<String>() {
- @Override
- public void onFailure(Throwable caught) {
- SC.warn(FLYS.getExceptionString(MSG, caught));
- }
+ this.reportService.report(cid, locale, report.getName(), new AsyncCallback<String>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ SC.warn(FLYS.getExceptionString(ParameterList.this.MSG, caught));
+ }
- @Override
- public void onSuccess(String msg) {
- setReportMessage(msg);
- }
- });
+ @Override
+ public void onSuccess(final String msg) {
+ setReportMessage(msg);
+ }
+ });
}
}
-
/** Sets content of reportPanel. */
protected void setReportMessage(String msg) {
GWT.log("returned from service: " + msg);
if (msg == null) {
msg = "";
}
- reportPanel.setContents(msg);
+ this.reportPanel.setContents(msg);
}
-
/**
* Adds a table to the parameterlist to show calculated data.
*
- * @param table The table data panel.
+ * @param table
+ * The table data panel.
*/
- public void setTable(TableDataPanel table) {
+ public void setTable(final TableDataPanel table) {
removeTable();
- Canvas c = table.create();
+ final Canvas c = table.create();
c.setHeight100();
c.setWidth100();
- tablePanel.addMember(c);
+ this.tablePanel.addMember(c);
}
-
public boolean hasTable() {
- Canvas[] members = tablePanel.getMembers();
+ final Canvas[] members = this.tablePanel.getMembers();
return members != null && members.length > 0;
}
-
/**
* Removes the table from the parameter list.
*/
public void removeTable() {
- Canvas[] members = tablePanel.getMembers();
+ final Canvas[] members = this.tablePanel.getMembers();
if (members != null && members.length > 0) {
- tablePanel.removeMembers(members);
+ this.tablePanel.removeMembers(members);
}
}
-
- public void registerCollectionViewTabHandler(TabSelectedHandler tsh) {
+ public void registerCollectionViewTabHandler(final TabSelectedHandler tsh) {
this.cView.registerTabHandler(tsh);
}
-
protected void lockUI() {
- cView.lockUI();
+ this.cView.lockUI();
}
-
protected void unlockUI() {
- cView.unlockUI();
+ this.cView.unlockUI();
}
-
private void createGaugePanel() {
GWT.log("ParameterList - createGaugePanel");
- if (infoPanel == null) {
- infoPanel = new GaugePanel(flys);
- infoPanel.setWidth100();
- infoPanel.setHeight100();
+ if (this.infoPanel == null) {
+ this.infoPanel = new GaugePanel(this.flys);
+ this.infoPanel.setWidth100();
+ this.infoPanel.setHeight100();
}
}
private void createMeasurementStationPanel() {
GWT.log("ParameterList - createMeasurementStationPanel");
- if (infoPanel == null) {
- infoPanel = new MeasurementStationPanel(flys);
- infoPanel.setWidth100();
- infoPanel.setHeight100();
+ if (this.infoPanel == null) {
+ this.infoPanel = new MeasurementStationPanel(this.flys);
+ this.infoPanel.setWidth100();
+ this.infoPanel.setHeight100();
}
}
@@ -990,14 +903,14 @@
GWT.log("ParameterList - showInfoPanel");
/* Don't add InfoPanel twice */
- SectionStackSection info = stack.getSection(InfoPanel.SECTION_ID);
+ SectionStackSection info = this.stack.getSection(InfoPanel.SECTION_ID);
if (info == null) {
info = new SectionStackSection();
- info.setTitle(infoPanel.getSectionTitle());
+ info.setTitle(this.infoPanel.getSectionTitle());
info.setID(InfoPanel.SECTION_ID);
info.setName(InfoPanel.SECTION_ID);
- info.setItems(infoPanel);
- stack.addSection(info, 0);
+ info.setItems(this.infoPanel);
+ this.stack.addSection(info, 0);
}
info.setExpanded(true);
@@ -1006,29 +919,27 @@
private void hideInfoPanel() {
GWT.log("ParameterList - hideInfoPanel");
- if (infoPanel != null) {
- infoPanel.hide();
+ if (this.infoPanel != null) {
+ this.infoPanel.hide();
}
}
private void removeInfoPanel() {
GWT.log("ParameterList - removeInfoPanel");
- SectionStackSection exists = stack.getSection(InfoPanel.SECTION_ID);
+ final SectionStackSection exists = this.stack.getSection(InfoPanel.SECTION_ID);
if (exists != null) {
- stack.removeSection(InfoPanel.SECTION_ID);
+ this.stack.removeSection(InfoPanel.SECTION_ID);
}
}
-
- private void renderInfo(String river, DataList[] data) {
+ private void renderInfo(final String river, final DataList[] data) {
GWT.log("ParameterList - renderInfo");
if (river != null) {
showInfoPanel();
- infoPanel.setRiver(river);
- infoPanel.setData(data);
- }
- else {
+ this.infoPanel.setRiver(river);
+ this.infoPanel.setData(data);
+ } else {
GWT.log("ParameterList - renderInfo no river");
hideInfoPanel();
}
diff -r 611a523fc42f -r a561b882436d gwt-client/src/main/java/org/dive4elements/river/client/server/FLYSArtifactCreator.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/server/FLYSArtifactCreator.java Tue May 15 18:04:36 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/server/FLYSArtifactCreator.java Wed May 16 11:08:56 2018 +0200
@@ -13,30 +13,25 @@
import javax.xml.xpath.XPathConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
import org.apache.log4j.Logger;
-
+import org.dive4elements.artifacts.common.ArtifactNamespaceContext;
import org.dive4elements.artifacts.common.utils.XMLUtils;
-import org.dive4elements.artifacts.common.ArtifactNamespaceContext;
-
import org.dive4elements.artifacts.httpclient.utils.ArtifactCreator;
-
import org.dive4elements.river.client.shared.model.Artifact;
import org.dive4elements.river.client.shared.model.CalculationMessage;
import org.dive4elements.river.client.shared.model.ChartArtifact;
import org.dive4elements.river.client.shared.model.DefaultArtifact;
import org.dive4elements.river.client.shared.model.FixAnalysisArtifact;
import org.dive4elements.river.client.shared.model.GaugeDischargeCurveArtifact;
+import org.dive4elements.river.client.shared.model.MINFOArtifact;
import org.dive4elements.river.client.shared.model.MapArtifact;
import org.dive4elements.river.client.shared.model.SINFOArtifact;
-import org.dive4elements.river.client.shared.model.MINFOArtifact;
import org.dive4elements.river.client.shared.model.StaticSQRelationArtifact;
import org.dive4elements.river.client.shared.model.UINFOArtifact;
import org.dive4elements.river.client.shared.model.WINFOArtifact;
-
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
/**
* An implementation of an {@link ArtifactCreator}. This class uses the document
@@ -47,28 +42,25 @@
*/
public class FLYSArtifactCreator implements ArtifactCreator {
- private static final Logger log =
- Logger.getLogger(FLYSArtifactCreator.class);
+ private static final Logger log = Logger.getLogger(FLYSArtifactCreator.class);
-
- /** The XPath to the artifact's uuid.*/
+ /** The XPath to the artifact's uuid. */
public static final String XPATH_UUID = "/art:result/art:uuid/@art:value";
- /** The XPath to the artifact's hash value.*/
+ /** The XPath to the artifact's hash value. */
public static final String XPATH_HASH = "/art:result/art:hash/@art:value";
- /** The XPath to the artifact's name value.*/
+ /** The XPath to the artifact's name value. */
public static final String XPATH_NAME = "/art:result/art:name/@art:value";
- /** The XPath to the value that determines if the artifact is processing in
- * background.*/
- public static final String XPATH_BACKGROUND_VALUE =
- "/art:result/art:background-processing/@art:value";
+ /**
+ * The XPath to the value that determines if the artifact is processing in
+ * background.
+ */
+ public static final String XPATH_BACKGROUND_VALUE = "/art:result/art:background-processing/@art:value";
- /** The XPath that points to the (if existing) background messages.*/
- public static final String XPATH_BACKGROUND =
- "/art:result/art:background-processing";
-
+ /** The XPath that points to the (if existing) background messages. */
+ public static final String XPATH_BACKGROUND = "/art:result/art:background-processing";
/**
* Creates a new instance of an {@link ArtifactCreator}.
@@ -76,54 +68,50 @@
public FLYSArtifactCreator() {
}
-
/**
* This concreate implementation returns an instance of {@link Artifact}
* that is used in the FLYS GWT Client code.
*
- * @param doc A document that describes the artifact that has been created
- * in the artifact server.
+ * @param doc
+ * A document that describes the artifact that has been created
+ * in the artifact server.
*
* @return an instance if {@link Artifact}.
*/
- public Object create(Document doc) {
- Artifact artifact = extractArtifact(doc);
- artifact.setArtifactDescription(
- ArtifactDescriptionFactory.createArtifactDescription(doc));
+ @Override
+ public Object create(final Document doc) {
+ final Artifact artifact = extractArtifact(doc);
+ artifact.setArtifactDescription(ArtifactDescriptionFactory.createArtifactDescription(doc));
return artifact;
}
-
/**
* This method extracts the UUID und HASH information of the returned
* artifact document.
*
- * @param doc The result of the CREATE operation.
+ * @param doc
+ * The result of the CREATE operation.
*
* @return an instance of an {@link Artifact}.
*/
- protected Artifact extractArtifact(Document doc) {
+ protected Artifact extractArtifact(final Document doc) {
log.debug("FLYSArtifactCreator - extractArtifact()");
- String uuid = XMLUtils.xpathString(
- doc, XPATH_UUID, ArtifactNamespaceContext.INSTANCE);
+ final String uuid = XMLUtils.xpathString(doc, XPATH_UUID, ArtifactNamespaceContext.INSTANCE);
- String hash = XMLUtils.xpathString(
- doc, XPATH_HASH, ArtifactNamespaceContext.INSTANCE);
+ final String hash = XMLUtils.xpathString(doc, XPATH_HASH, ArtifactNamespaceContext.INSTANCE);
- String name = XMLUtils.xpathString(
- doc, XPATH_NAME, ArtifactNamespaceContext.INSTANCE);
+ String name = XMLUtils.xpathString(doc, XPATH_NAME, ArtifactNamespaceContext.INSTANCE);
- String backgroundStr = XMLUtils.xpathString(
- doc, XPATH_BACKGROUND_VALUE, ArtifactNamespaceContext.INSTANCE);
+ final String backgroundStr = XMLUtils.xpathString(doc, XPATH_BACKGROUND_VALUE, ArtifactNamespaceContext.INSTANCE);
boolean background = false;
if (backgroundStr != null && backgroundStr.length() > 0) {
background = Boolean.valueOf(backgroundStr);
}
- List<CalculationMessage> msg = parseBackgroundMessages(doc);
+ final List<CalculationMessage> msg = parseBackgroundMessages(doc);
log.debug("NEW Artifact UUID: " + uuid);
log.debug("NEW Artifact HASH: " + hash);
@@ -136,7 +124,8 @@
name = name.trim();
- // FIXME: why do we have a super sophisticated artifact-framework if, in the end, module dependent stuff is still switched manually....
+ // FIXME: why do we have a super sophisticated artifact-framework if, in the end, module dependent stuff is still
+ // switched manually....
if (name.equals("winfo")) {
log.debug("+++++ NEW WINFO ARTIFACT.");
return new WINFOArtifact(uuid, hash, background, msg);
@@ -146,27 +135,27 @@
log.debug("+++++ NEW MAP ARTIFACT.");
return new MapArtifact(uuid, hash, background, msg);
}
-
+
if (name.equals("new_chart")) {
log.debug("+++++ NEW CHART ARTIFACT.");
return new ChartArtifact(uuid, hash, background, msg);
}
-
+
if (name.equals("minfo")) {
log.debug("+++++ NEW MINFO ARTIFACT.");
return new MINFOArtifact(uuid, hash, background, msg);
}
-
+
if (name.equals("fixanalysis")) {
log.debug("+++++ NEW FIXANALYSIS ARTIFACT.");
return new FixAnalysisArtifact(uuid, hash, background, msg);
}
-
+
if (name.equals("gaugedischargecurve")) {
log.debug("+++++ NEW GAUGEDISCHARGECURVE ARTIFACT.");
return new GaugeDischargeCurveArtifact(uuid, hash, background, msg);
}
-
+
if (name.equals("staticsqrelation")) {
log.debug("+++++ STATICSQRELATION ARTIFACT.");
return new StaticSQRelationArtifact(uuid, hash, background, msg);
@@ -178,28 +167,27 @@
}
if (name.equals("uinfo")) {
- log.debug("+++++ NEW UINFO ARTIFACT.");
- return new UINFOArtifact(uuid, hash, background, msg);
+ log.debug("+++++ NEW UINFO ARTIFACT.");
+ return new UINFOArtifact(uuid, hash, background, msg);
}
-
+ if (name.equals("bundu")) {
+ log.debug("+++++ NEW BUNDU ARTIFACT.");
+ return new UINFOArtifact(uuid, hash, background, msg);
+ }
return new DefaultArtifact(uuid, hash, background, msg);
}
+ public static List<CalculationMessage> parseBackgroundMessages(final Document d) {
+ final NodeList list = (NodeList) XMLUtils.xpath(d, XPATH_BACKGROUND, XPathConstants.NODESET, ArtifactNamespaceContext.INSTANCE);
- public static List<CalculationMessage> parseBackgroundMessages(Document d) {
- NodeList list = (NodeList) XMLUtils.xpath(
- d, XPATH_BACKGROUND, XPathConstants.NODESET,
- ArtifactNamespaceContext.INSTANCE);
-
- int len = list != null ? list.getLength() : 0;
+ final int len = list != null ? list.getLength() : 0;
log.debug("Found " + len + " background messages.");
- List<CalculationMessage> res = new ArrayList<CalculationMessage>(len);
+ final List<CalculationMessage> res = new ArrayList<CalculationMessage>(len);
for (int i = 0; i < len; i++) {
- CalculationMessage msg = parseBackgroundMessage(
- (Element) list.item(i));
+ final CalculationMessage msg = parseBackgroundMessage((Element) list.item(i));
if (msg != null) {
res.add(msg);
@@ -209,25 +197,21 @@
return res;
}
+ public static CalculationMessage parseBackgroundMessage(final Element e) {
+ final String steps = e.getAttribute("art:steps");
+ final String currentStep = e.getAttribute("art:currentStep");
+ final String message = e.getTextContent();
- public static CalculationMessage parseBackgroundMessage(Element e) {
- String steps = e.getAttribute("art:steps");
- String currentStep = e.getAttribute("art:currentStep");
- String message = e.getTextContent();
-
- int lenCurStep = currentStep != null ? currentStep.length() : 0;
- int lenSteps = steps != null ? steps.length() : 0;
- int lenMessage = message != null ? message.length() : 0;
+ final int lenCurStep = currentStep != null ? currentStep.length() : 0;
+ final int lenSteps = steps != null ? steps.length() : 0;
+ final int lenMessage = message != null ? message.length() : 0;
if (lenSteps > 0 && lenMessage > 0 && lenCurStep > 0) {
try {
- return new CalculationMessage(
- Integer.parseInt(steps),
- Integer.parseInt(currentStep),
- message);
+ return new CalculationMessage(Integer.parseInt(steps), Integer.parseInt(currentStep), message);
}
- catch (NumberFormatException nfe) {
+ catch (final NumberFormatException nfe) {
nfe.printStackTrace();
}
}
diff -r 611a523fc42f -r a561b882436d gwt-client/src/main/java/org/dive4elements/river/client/shared/model/BUNDUArtifact.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/BUNDUArtifact.java Wed May 16 11:08:56 2018 +0200
@@ -0,0 +1,36 @@
+/* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
+ * Software engineering by Intevation GmbH
+ *
+ * This file is Free Software under the GNU AGPL (>=v3)
+ * and comes with ABSOLUTELY NO WARRANTY! Check out the
+ * documentation coming with Dive4Elements River for details.
+ */
+
+package org.dive4elements.river.client.shared.model;
+
+import java.util.List;
+
+/**
+ * The BUNDU implementation of an Artifact.
+ *
+ * @author Gernot Belger
+ */
+public class BUNDUArtifact extends DefaultArtifact {
+
+ /** The name of this artifact: 'bundu'. */
+ private static final String NAME = "bundu";
+
+ /** Necessary for serialization */
+ public BUNDUArtifact() {
+ }
+
+ public BUNDUArtifact(final String uuid, final String hash, final boolean inBackground, final List<CalculationMessage> messages) {
+ super(uuid, hash, inBackground, messages);
+ }
+
+ @Override
+ public String getName() {
+ return NAME;
+ }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
diff -r 611a523fc42f -r a561b882436d gwt-client/src/main/webapp/WEB-INF/features.xml
--- a/gwt-client/src/main/webapp/WEB-INF/features.xml Tue May 15 18:04:36 2018 +0200
+++ b/gwt-client/src/main/webapp/WEB-INF/features.xml Wed May 16 11:08:56 2018 +0200
@@ -5,6 +5,7 @@
<ftr:feature>module:winfo</ftr:feature>
<ftr:feature>module:minfo</ftr:feature>
<ftr:feature>module:uinfo</ftr:feature>
+ <ftr:feature>module:bundu</ftr:feature>
<ftr:feature>module:new_map</ftr:feature>
<ftr:feature>module:new_chart</ftr:feature>
<ftr:feature>module:fixanalysis</ftr:feature>
More information about the Dive4Elements-commits
mailing list