# HG changeset patch
# User gernotbelger
# Date 1526378426 -7200
# Node ID 1ffd3882617534b372e3d5b367bd6e370c07af5a
# Parent a5cf8d7bff3cc5ae0aa06ea54f0afe4cc8149bc7
access uinfo.vegetationzones+inundation_duration
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/doc/conf/artifacts/uinfo.xml
--- a/artifacts/doc/conf/artifacts/uinfo.xml Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/doc/conf/artifacts/uinfo.xml Tue May 15 12:00:26 2018 +0200
@@ -104,9 +104,9 @@
-
-
-
+
+
+
@@ -183,8 +183,8 @@
-
-
+
+
@@ -262,7 +262,7 @@
-
+
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/common/AccessHelper.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/common/AccessHelper.java Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/common/AccessHelper.java Tue May 15 12:00:26 2018 +0200
@@ -37,14 +37,14 @@
}
/** [year1, years2,..] if its about years. */
- public int[] getYears(final String yearSelectedValue) {
+ public int[] getYears(final String yearSelectedValue, final String yearKey) {
int[] years = null;
// if (years != null) {
// return years;
// }
if (getYearEpoch().equals(yearSelectedValue)) {
final TIntArrayList ints = new TIntArrayList();
- final String yearsData = getString("years");
+ final String yearsData = getString(yearKey);
if (yearsData == null || yearsData.isEmpty()) {
log.warn("No years provided");
return null;
@@ -69,7 +69,7 @@
return null;
}
- public int[][] getEpochs(final String epochSelectedValue) {
+ public int[][] getEpochs(final String epochSelectedValue, final String epochKey) {
int epochs[][] = null;
// if (epochs != null) {
// return epochs;
@@ -79,7 +79,7 @@
return null;
}
- final String data = getString("epochs");
+ final String data = getString(epochKey);
if (data == null) {
log.warn("No 'epochs' parameter specified!");
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionAccess.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionAccess.java Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionAccess.java Tue May 15 12:00:26 2018 +0200
@@ -52,11 +52,11 @@
}
public int[] getYears() {
- return this.helper.getYears("state.sinfo.year");
+ return this.helper.getYears("state.sinfo.year", "years");
}
public int[][] getEpochs() {
- return this.helper.getEpochs("state.sinfo.epoch");
+ return this.helper.getEpochs("state.sinfo.epoch", "epochs");
}
}
\ No newline at end of file
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/commons/UInfoResultType.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/commons/UInfoResultType.java Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/commons/UInfoResultType.java Tue May 15 12:00:26 2018 +0200
@@ -110,8 +110,9 @@
@Override
public String exportValue(final CallContext context, final Object value) {
- final double doubleValue = asDouble(value);
- return exportDoubleValue(context, doubleValue);
+ return exportStringValue(value);
+ // final double doubleValue = asDouble(value);
+ // return exportDoubleValue(context, doubleValue);
}
@Override
@@ -127,8 +128,9 @@
@Override
public String exportValue(final CallContext context, final Object value) {
- final double doubleValue = asDouble(value);
- return exportDoubleValue(context, doubleValue);
+ return exportStringValue(value);
+ // final double doubleValue = asDouble(value);
+ // return exportDoubleValue(context, doubleValue);
}
@Override
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationAccess.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationAccess.java Tue May 15 12:00:26 2018 +0200
@@ -0,0 +1,102 @@
+/* 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.inundationduration;
+
+import java.util.ArrayList;
+
+import org.apache.commons.lang.math.DoubleRange;
+import org.dive4elements.river.artifacts.access.RangeAccess;
+import org.dive4elements.river.artifacts.common.AccessHelper;
+import org.dive4elements.river.artifacts.uinfo.UINFOArtifact;
+import org.dive4elements.river.artifacts.uinfo.UinfoCalcMode;
+
+/**
+ * Access to the flow depth calculation type specific SInfo artifact data.
+ * REMARK: this class is NOT intended to be hold in the results (or anywhere else), in order to avoid a permanent
+ * reference to the artifact instance.
+ * Hence we do NOT cache any data.
+ *
+ * @author Gernot Belger
+ */
+final class InundationDurationAccess extends RangeAccess {
+
+ // IMMER ABGLEICHEN MIT SuperVegZonesTablePanel.TABLE_CELL_SEPARATOR
+ public static final String TABLE_CELL_SEPARATOR = "TABLE_CELL_SEPARATOR";
+ public static final String TABLE_ROW_SEPARATOR = "TABLE_ROW_SEPARATOR";
+ private final AccessHelper helper;
+
+ // Fields from state:
+ //
+ // calculation_mode (String)
+ // ld_from, ld_to
+ // ye_select (String; state.uinfo.totalepoch oder state.uinfo.year)
+ // singleyear (String)
+ // totalepoch (String; TODO: minmax totalEpoch herausfinden und setzen (nicht hier.. aber trotzdem die Erinnerung hier))
+ // use_scenario boolean (danach kommt kein radioBtn, sondern sedimentheight-Eingabe)
+ // sedimentheight String
+ //
+ // vegzones (String) TODO: MIT VegetationzonesAccess zusammenlegen
+
+ public InundationDurationAccess(final UINFOArtifact uinfo) {
+ super(uinfo);
+
+ /* assert calculation mode */
+ final UinfoCalcMode calculationMode = uinfo.getCalculationMode();
+ this.helper = new AccessHelper(uinfo);
+ assert (calculationMode == UinfoCalcMode.uinfo_inundation_duration);
+ }
+
+ public DoubleRange getRange() {
+ final double from = getFrom();
+ final double to = getTo();
+ return new DoubleRange(from, to);
+ }
+
+ public Double getSedimentHeight() {
+ if (super.getBoolean("use_scenario")) {
+ return super.getDouble("sedimentheight"); // TODO: INPUT Valdiation (nicht hier, sondern im Panel. Erinnerung)
+ }
+ return null;
+ }
+
+ public Integer getYear() {
+ final int[] years = this.helper.getYears("state.uinfo.year", "singleyear");
+ if (years != null) {
+ return years[0];
+ }
+ return null;
+ }
+
+ public int[] getTotalEpoch() {
+ final int[][] epochs = this.helper.getEpochs("state.uinfo.totalepoch", "totalepoch");
+ if (epochs != null) {
+ return epochs[0];
+ }
+ return null;
+ }
+
+ public ArrayList getVegZones() {
+ // TODO: MIT VegetationzonesAccess zusammenlegen
+ final ArrayList results = new ArrayList<>();
+ final String zonesRaw = super.getString("vegzones");
+ 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);
+ }
+ }
+ }
+ return results;
+ }
+
+}
\ No newline at end of file
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/inundationduration/InundationDurationCalculation.java Tue May 15 12:00:26 2018 +0200
@@ -1,6 +1,6 @@
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
- * Software engineering by
- * Björnsen Beratende Ingenieure GmbH
+ * 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)
@@ -31,13 +31,13 @@
*/
final class InundationDurationCalculation {
- private CallContext context;
+ private final CallContext context;
- public InundationDurationCalculation(CallContext context) {
+ public InundationDurationCalculation(final CallContext context) {
this.context = context;
}
- public CalculationResult calculate(UINFOArtifact uinfo) {
+ public CalculationResult calculate(final UINFOArtifact uinfo) {
final Calculation problems = new Calculation();
final String calcModeLabel = Resources.getMsg(this.context.getMeta(), uinfo.getCalculationMode().name());
@@ -45,21 +45,27 @@
final RiverAccess access = new RiverAccess(uinfo);
final River river = access.getRiver();
- DoubleRange calcRange = null;
+ final DoubleRange calcRange = null;
final RiverInfo riverInfo = new RiverInfo(river);
-
+
+ final InundationDurationAccess indurax = new InundationDurationAccess(uinfo);
+ final int[] totalEpoch = indurax.getTotalEpoch();
+ final Integer year = indurax.getYear(); // null bei year -> Integer.. evtl ungünstig.. evtl. anders lösen
+ final DoubleRange range = indurax.getRange();
+ final Double sedimentHeight = indurax.getSedimentHeight();
+
final InundationDurationCalculationResults results = new InundationDurationCalculationResults(calcModeLabel, user, riverInfo, calcRange);
- final Collection rows = new ArrayList();
-
- final ResultRow row1 = ResultRow.create(). //
+ final Collection rows = new ArrayList<>();
+
+ final ResultRow row1 = ResultRow.create(). //
putValue(SInfoResultType.discharge, 100). //
- putValue(SInfoResultType.waterlevel, 2). //
- putValue(SInfoResultType.gaugeLabel, "Torgau");
+ putValue(SInfoResultType.waterlevel, 2). //
+ putValue(SInfoResultType.gaugeLabel, "Torgau");
rows.add(row1);
- ResultRow row2 = ResultRow.create(). //
+ final ResultRow row2 = ResultRow.create(). //
putValue(SInfoResultType.discharge, 200). //
putValue(SInfoResultType.waterlevel, 3). //
putValue(SInfoResultType.gaugeLabel, "Zollenspieker");
@@ -67,9 +73,9 @@
rows.add(row2);
final InundationDurationCalculationResult result = new InundationDurationCalculationResult("Ergebnis 1", null, rows);
-
+
results.addResult(result, problems);
-
+
return new CalculationResult(results, problems);
}
}
\ No newline at end of file
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineCalculation.java Tue May 15 12:00:26 2018 +0200
@@ -66,14 +66,17 @@
final Collection rows = new ArrayList<>();
final ResultRow row1 = ResultRow.create(). //
- putValue(GeneralResultType.station, 100).putValue(UInfoResultType.salixline, 28).putValue(UInfoResultType.salixlinehist, 2)
- .putValue(UInfoResultType.salixlinescen, 82);
+ putValue(GeneralResultType.station, 100).//
+ putValue(UInfoResultType.salixline, 28).//
+ putValue(UInfoResultType.salixlinehist, 2).//
+ putValue(UInfoResultType.salixlinescen, 82);
rows.add(row1);
final ResultRow row2 = ResultRow.create(). //
putValue(GeneralResultType.station, 200). //
putValue(UInfoResultType.salixline, 3). //
- putValue(UInfoResultType.salixlinehist, 2).putValue(UInfoResultType.salixlinescen, 822);
+ putValue(UInfoResultType.salixlinehist, 2).//
+ putValue(UInfoResultType.salixlinescen, 822);
rows.add(row2);
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCalculation.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCalculation.java Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCalculation.java Tue May 15 12:00:26 2018 +0200
@@ -48,18 +48,21 @@
final DoubleRange calcRange = null;
final RiverInfo riverInfo = new RiverInfo(river);
+ final VegetationzonesAccess vAccess = new VegetationzonesAccess(uinfo);
+ final ArrayList zones = vAccess.getVegZones();
+
final VegetationZonesCalculationResults results = new VegetationZonesCalculationResults(calcModeLabel, user, riverInfo, calcRange);
final Collection rows = new ArrayList<>();
- // TODO: get results from access!
- final ResultRow row2 = ResultRow.create(). //
- putValue(UInfoResultType.vegname, "Zonaler Wald"). //
- putValue(UInfoResultType.vegdauervon, 0). //
- putValue(UInfoResultType.vegdauerbis, 5);
+ for (final String[] zone : zones) {
+ final ResultRow row2 = ResultRow.create().//
+ putValue(UInfoResultType.vegname, zone[0]).//
+ putValue(UInfoResultType.vegdauervon, zone[1]).//
+ putValue(UInfoResultType.vegdauerbis, zone[2]);
+ rows.add(row2);
+ }
- rows.add(row2);
-
- final VegetationZonesCalculationResult result = new VegetationZonesCalculationResult("Ergebnis 1", null, rows);
+ final VegetationZonesCalculationResult result = new VegetationZonesCalculationResult("Ergebnis 1", rows);
results.addResult(result, problems);
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCalculationResult.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCalculationResult.java Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCalculationResult.java Tue May 15 12:00:26 2018 +0200
@@ -1,6 +1,6 @@
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
- * Software engineering by
- * Björnsen Beratende Ingenieure GmbH
+ * 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)
@@ -13,7 +13,6 @@
import org.dive4elements.river.artifacts.common.AbstractCalculationResult;
import org.dive4elements.river.artifacts.common.ResultRow;
-import org.dive4elements.river.artifacts.sinfo.util.WstInfo;
/**
* @author Domenico Nardi Tironi
@@ -22,8 +21,8 @@
private static final long serialVersionUID = 1L;
- public VegetationZonesCalculationResult(final String label, final WstInfo wst, final Collection< ResultRow> rows) {
- super(label, rows);
+ public VegetationZonesCalculationResult(final String label, final Collection rows) {
+ super(label, rows);
}
-
+
}
\ No newline at end of file
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesState.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesState.java Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesState.java Tue May 15 12:00:26 2018 +0200
@@ -95,10 +95,10 @@
return res;
}
- private CalculationResult doCompute(final UINFOArtifact sinfo, final CallContext context, final Object old) {
+ private CalculationResult doCompute(final UINFOArtifact uinfo, final CallContext context, final Object old) {
if (old instanceof CalculationResult)
return (CalculationResult) old;
- return new VegetationZonesCalculation(context).calculate(sinfo); // Test2
+ return new VegetationZonesCalculation(context).calculate(uinfo);
}
}
\ No newline at end of file
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesTableEditState.java
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesTableEditState.java Mon May 14 18:24:35 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesTableEditState.java Tue May 15 12:00:26 2018 +0200
@@ -9,6 +9,7 @@
*/
package org.dive4elements.river.artifacts.uinfo.vegetationzones;
+import org.dive4elements.artifacts.Artifact;
import org.dive4elements.river.artifacts.states.DefaultState;
/**
@@ -22,4 +23,19 @@
protected String getUIProvider() {
return "uinfo.vegetationzones.table.edit";
}
+
+ @Override
+ public boolean validate(final Artifact artifact) throws IllegalArgumentException {
+ // TODO: check verstehen
+
+ // final InundationDurationAccess access = new InundationDurationAccess((SINFOArtifact) artifact);
+
+ // Second year should be later than first.
+
+ // if (access.getYears() == null || access.getYears().length == 0)
+ return true;
+ // throw new IllegalArgumentException("error_years_wrong");
+
+ // return true;
+ }
}
\ No newline at end of file
diff -r a5cf8d7bff3c -r 1ffd38826175 artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationzonesAccess.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationzonesAccess.java Tue May 15 12:00:26 2018 +0200
@@ -0,0 +1,71 @@
+/* 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 org.apache.commons.lang.math.DoubleRange;
+import org.dive4elements.river.artifacts.access.RangeAccess;
+import org.dive4elements.river.artifacts.common.AccessHelper;
+import org.dive4elements.river.artifacts.uinfo.UINFOArtifact;
+import org.dive4elements.river.artifacts.uinfo.UinfoCalcMode;
+
+/**
+ * Access to the flow depth calculation type specific SInfo artifact data.
+ * REMARK: this class is NOT intended to be hold in the results (or anywhere else), in order to avoid a permanent
+ * reference to the artifact instance.
+ * Hence we do NOT cache any data.
+ *
+ * @author Gernot Belger
+ */
+final class VegetationzonesAccess extends RangeAccess {
+
+ // IMMER ABGLEICHEN MIT SuperVegZonesTablePanel.TABLE_CELL_SEPARATOR
+ public static final String TABLE_CELL_SEPARATOR = "TABLE_CELL_SEPARATOR";
+ public static final String TABLE_ROW_SEPARATOR = "TABLE_ROW_SEPARATOR";
+ private final AccessHelper helper;
+
+ // Fields from state:
+ // calculation_mode (String)
+ // ld_from, ld_to,ld_step
+ // vegzones (String)
+
+ public VegetationzonesAccess(final UINFOArtifact uinfo) {
+ super(uinfo);
+
+ /* assert calculation mode */
+ final UinfoCalcMode calculationMode = uinfo.getCalculationMode();
+ this.helper = new AccessHelper(uinfo);
+ assert (calculationMode == UinfoCalcMode.uinfo_vegetation_zones);
+ }
+
+ public DoubleRange getRange() {
+ final double from = getFrom();
+ final double to = getTo();
+ return new DoubleRange(from, to);
+ }
+
+ public ArrayList getVegZones() {
+ final ArrayList results = new ArrayList<>();
+ final String zonesRaw = super.getString("vegzones");
+ 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);
+ }
+ }
+ }
+ return results;
+ }
+
+}
\ No newline at end of file
diff -r a5cf8d7bff3c -r 1ffd38826175 gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/SuperVegZonesTablePanel.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/SuperVegZonesTablePanel.java Mon May 14 18:24:35 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/SuperVegZonesTablePanel.java Tue May 15 12:00:26 2018 +0200
@@ -34,8 +34,8 @@
*/
public abstract class SuperVegZonesTablePanel extends AbstractUIProvider {
private static final long serialVersionUID = 1L;
- public static final String tableCellSeparator = "tableCellSeparator";
- public static final String tableRowSeparator = "tableRowSeparator";
+ public static final String TABLE_CELL_SEPARATOR = "TABLE_CELL_SEPARATOR";
+ public static final String TABLE_ROW_SEPARATOR = "TABLE_ROW_SEPARATOR";
protected static final String datakey = "vegzones";
@@ -117,9 +117,9 @@
for (final Data dataItemContainer : data.getAll()) {
if (dataItemContainer.getItems() != null) {
for (final DataItem dataItem : dataItemContainer.getItems()) {
- if (dataItem.getStringValue() != null && dataItem.getStringValue().contains(tableRowSeparator)) {
+ if (dataItem.getStringValue() != null && dataItem.getStringValue().contains(TABLE_ROW_SEPARATOR)) {
- final String[] rows = dataItem.getStringValue().split(tableRowSeparator);
+ final String[] rows = dataItem.getStringValue().split(TABLE_ROW_SEPARATOR);
for (final String row : rows) {
this.elements.addData(createEntry(row));
}
@@ -160,9 +160,9 @@
final Data str = getData(items, datakey);
final DataItem[] strItems = str.getItems();
- final String[] entries = strItems[0].getLabel().split(VegetationzonesTablePanel.tableRowSeparator);
+ final String[] entries = strItems[0].getLabel().split(VegetationzonesTablePanel.TABLE_ROW_SEPARATOR);
for (final String entry : entries) {
- final String[] vals = entry.split(VegetationzonesTablePanel.tableCellSeparator);
+ final String[] vals = entry.split(VegetationzonesTablePanel.TABLE_CELL_SEPARATOR);
final Label dateLabel = new Label(vals[0] + " (" + vals[1] + "-" + vals[2] + ")");
dateLabel.setHeight(20);
vLayout.addMember(dateLabel);
@@ -178,15 +178,16 @@
protected static final Data[] getDummyData() {
final List data = new ArrayList();
String d = "";
- d = d + "Zonaler Wald" + tableCellSeparator + "0" + tableCellSeparator + "5" + tableRowSeparator;
- d = d + "Hartholzaue, trocken" + tableCellSeparator + "5" + tableCellSeparator + "40" + tableRowSeparator;
- d = d + "Hartholzaue, feucht" + tableCellSeparator + "40" + tableCellSeparator + "80" + tableRowSeparator;
- d = d + "Silberweidenwald" + tableCellSeparator + "80" + tableCellSeparator + "140" + tableRowSeparator;
- d = d + "Weidengebüsch" + tableCellSeparator + "140" + tableCellSeparator + "200" + tableRowSeparator;
- d = d + "Uferröhricht" + tableCellSeparator + "200" + tableCellSeparator + "260" + tableRowSeparator;
- d = d + "Uferpioniere" + tableCellSeparator + "260" + tableCellSeparator + "320" + tableRowSeparator;
- d = d + "Vegetationslos" + tableCellSeparator + "320" + tableCellSeparator + "365" + tableRowSeparator;
- d = d + "Wasserfläche" + tableCellSeparator + "365" + tableCellSeparator + "365" + tableRowSeparator;
+ // TODO: move to messages
+ d = d + "Zonaler Wald" + TABLE_CELL_SEPARATOR + "0" + TABLE_CELL_SEPARATOR + "5" + TABLE_ROW_SEPARATOR;
+ d = d + "Hartholzaue, trocken" + TABLE_CELL_SEPARATOR + "5" + TABLE_CELL_SEPARATOR + "40" + TABLE_ROW_SEPARATOR;
+ d = d + "Hartholzaue, feucht" + TABLE_CELL_SEPARATOR + "40" + TABLE_CELL_SEPARATOR + "80" + TABLE_ROW_SEPARATOR;
+ d = d + "Silberweidenwald" + TABLE_CELL_SEPARATOR + "80" + TABLE_CELL_SEPARATOR + "140" + TABLE_ROW_SEPARATOR;
+ d = d + "Weidengebüsch" + TABLE_CELL_SEPARATOR + "140" + TABLE_CELL_SEPARATOR + "200" + TABLE_ROW_SEPARATOR;
+ d = d + "Uferröhricht" + TABLE_CELL_SEPARATOR + "200" + TABLE_CELL_SEPARATOR + "260" + TABLE_ROW_SEPARATOR;
+ d = d + "Uferpioniere" + TABLE_CELL_SEPARATOR + "260" + TABLE_CELL_SEPARATOR + "320" + TABLE_ROW_SEPARATOR;
+ d = d + "Vegetationslos" + TABLE_CELL_SEPARATOR + "320" + TABLE_CELL_SEPARATOR + "365" + TABLE_ROW_SEPARATOR;
+ d = d + "Wasserfläche" + TABLE_CELL_SEPARATOR + "365" + TABLE_CELL_SEPARATOR + "365" + TABLE_ROW_SEPARATOR;
final DataItem item = new DefaultDataItem(datakey, "entryDescription", d); // DATA-key
data.add(new DefaultData(datakey, null, null, new DataItem[] { item }));
@@ -204,9 +205,9 @@
String d = "";
for (final ListGridRecord element : lgr) {
final Record r = element;
- d += r.getAttribute("vegzone") + VegetationzonesTablePanel.tableCellSeparator + r.getAttribute("from")
- + VegetationzonesTablePanel.tableCellSeparator + r.getAttribute("to");
- d += VegetationzonesTablePanel.tableRowSeparator;
+ d += r.getAttribute("vegzone") + VegetationzonesTablePanel.TABLE_CELL_SEPARATOR + r.getAttribute("from")
+ + VegetationzonesTablePanel.TABLE_CELL_SEPARATOR + r.getAttribute("to");
+ d += VegetationzonesTablePanel.TABLE_ROW_SEPARATOR;
}
final DataItem item = new DefaultDataItem(datakey, null, d); // DATA-key
@@ -216,9 +217,9 @@
public final ListGridRecord createEntry(final String row) {
- if (row.contains(tableCellSeparator)) {
+ if (row.contains(TABLE_CELL_SEPARATOR)) {
- final String[] vals = row.split(tableCellSeparator);
+ final String[] vals = row.split(TABLE_CELL_SEPARATOR);
if (vals.length == 3) {
final String vegzone = vals[0];
final String from = vals[1];
diff -r a5cf8d7bff3c -r 1ffd38826175 gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java Mon May 14 18:24:35 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java Tue May 15 12:00:26 2018 +0200
@@ -63,6 +63,15 @@
if (v1 == null || v2 == null || v3 == null) {
return;
}
+ try {
+ final double test = Double.valueOf(v1);
+ final double test2 = Double.valueOf(v2);
+ // TODO: MAKE MESSAGE, Apply Format (1.000,00)
+ }
+ catch (final Exception e) {
+ e.printStackTrace();
+ return;
+ }
final ListGridRecord r = new ListGridRecord();
r.setAttribute("vegzone", v3);
@@ -75,7 +84,7 @@
final Label sel = new Label(this.MSG.select());
sel.setHeight(25);
this.elements.setWidth(450); // 185
- this.elements.setHeight(500); // 120
+ this.elements.setHeight(300); // 120
this.elements.setShowHeaderContextMenu(false);
this.elements.setCanReorderFields(false);
this.elements.setCanSort(false);
diff -r a5cf8d7bff3c -r 1ffd38826175 gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTablePanel.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTablePanel.java Mon May 14 18:24:35 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTablePanel.java Tue May 15 12:00:26 2018 +0200
@@ -36,7 +36,7 @@
final Label sel = new Label(this.MSG.select());
sel.setHeight(25);
this.elements.setWidth(420); // 185
- this.elements.setHeight(500); //
+ this.elements.setHeight(300); //
this.elements.setShowHeaderContextMenu(false);
this.elements.setCanReorderFields(false);
this.elements.setCanSort(false);