[Dive4elements-commits] [PATCH 2 of 9] Merged
Wald Commits
scm-commit at wald.intevation.org
Fri Oct 26 16:40:47 CEST 2012
# HG changeset patch
# User Felix Wolfsteller <felix.wolfsteller at intevation.de>
# Date 1351257095 -7200
# Node ID edcd276a7234389bfeef01c051aca0dd57e2965b
# Parent 270f3ac8a82ecb04ca251d0db5e266d86eb48757
# Parent 6c776f102e0344a6e8f138c6619c2d14e1e672f4
Merged.
diff -r 270f3ac8a82e -r edcd276a7234 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeWQFacet.java
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeWQFacet.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/HistoricalDischargeWQFacet.java Fri Oct 26 15:11:35 2012 +0200
@@ -3,6 +3,7 @@
import de.intevation.artifactdatabase.state.Facet;
import de.intevation.artifacts.Artifact;
import de.intevation.artifacts.CallContext;
+import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
/**
@@ -15,8 +16,11 @@
public HistoricalDischargeWQFacet() {
}
- public HistoricalDischargeWQFacet(String name, String desc, double value) {
- super(name, desc);
+ public HistoricalDischargeWQFacet(int index, String name,
+ String description, ComputeType type, String hash, String stateId,
+ double value) {
+
+ super(index, name, description, type, hash, stateId);
this.value = value;
}
diff -r 270f3ac8a82e -r edcd276a7234 flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/MeasurementStationInfoService.java
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/MeasurementStationInfoService.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/MeasurementStationInfoService.java Fri Oct 26 15:11:35 2012 +0200
@@ -24,7 +24,7 @@
public class MeasurementStationInfoService extends RiverInfoService {
private static final Logger logger = Logger.getLogger(
- GaugeOverviewInfoService.class);
+ MeasurementStationInfoService.class);
@Override
public Document doProcess(
@@ -50,6 +50,11 @@
ec.addAttr(eg, "name", name, true);
}
+ Integer id = mstation.getId();
+ if (id != null) {
+ ec.addAttr(eg, "id", Integer.toString(id), true);
+ }
+
String type = mstation.getMeasurementType();
if (type != null) {
ec.addAttr(eg, "type", type, true);
@@ -78,6 +83,11 @@
}
}
+ String moperator = mstation.getOperator();
+ if (moperator != null) {
+ ec.addAttr(eg, "operator", moperator, true);
+ }
+
egs.appendChild(eg);
}
diff -r 270f3ac8a82e -r edcd276a7234 flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/HistoricalDischargeComputeState.java Fri Oct 26 15:11:35 2012 +0200
@@ -137,13 +137,15 @@
double[] qs = access.getQs();
for (int k = 0; k < ws.length; k++) {
- facets.add(new HistoricalDischargeWQFacet(
- HISTORICAL_DISCHARGE_WQ_W, "W=" + ws[k], ws[k]));
+ facets.add(new HistoricalDischargeWQFacet(k,
+ HISTORICAL_DISCHARGE_WQ_W, "W=" + ws[k], ComputeType.ADVANCE,
+ hash, getID(), ws[k]));
}
for (int k = 0; k < qs.length; k++) {
- facets.add(new HistoricalDischargeWQFacet(
- HISTORICAL_DISCHARGE_WQ_Q, "Q=" + qs[k], qs[k]));
+ facets.add(new HistoricalDischargeWQFacet(k,
+ HISTORICAL_DISCHARGE_WQ_Q, "Q=" + qs[k], ComputeType.ADVANCE,
+ hash, getID(), qs[k]));
}
int idx = 0;
diff -r 270f3ac8a82e -r edcd276a7234 flys-backend/src/main/java/de/intevation/flys/model/MeasurementStation.java
--- a/flys-backend/src/main/java/de/intevation/flys/model/MeasurementStation.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-backend/src/main/java/de/intevation/flys/model/MeasurementStation.java Fri Oct 26 15:11:35 2012 +0200
@@ -32,6 +32,9 @@
private TimeInterval observationTimerange;
+ public MeasurementStation() {
+ }
+
public MeasurementStation(River river, String name, String measurementType,
String riverside, Double station, Range range, Gauge gauge,
TimeInterval observationTimerange, String operator, String comment) {
diff -r 270f3ac8a82e -r edcd276a7234 flys-backend/src/main/java/de/intevation/flys/model/River.java
--- a/flys-backend/src/main/java/de/intevation/flys/model/River.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-backend/src/main/java/de/intevation/flys/model/River.java Fri Oct 26 15:11:35 2012 +0200
@@ -13,6 +13,7 @@
import javax.persistence.SequenceGenerator;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
+import javax.persistence.OrderBy;
import javax.persistence.JoinColumn;
import javax.persistence.GenerationType;
@@ -124,6 +125,7 @@
@OneToMany
+ @OrderBy("station")
@JoinColumn(name="river_id")
public List<MeasurementStation> getMeasurementStations() {
return measurementstations;
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.java Fri Oct 26 15:11:35 2012 +0200
@@ -236,6 +236,8 @@
String gaugePanelTitle();
+ String measurementStationPanelTitle();
+
String wqTitle();
String wqadaptedTitle();
@@ -1062,6 +1064,12 @@
String gauge_discharge_curve_at_export();
+ // Measurement Station Info
+
+ String measurement_station_type();
+
+ String measurement_station_operator();
+
String discharge_timeranges();
String discharge_chart();
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties
--- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants.properties Fri Oct 26 15:11:35 2012 +0200
@@ -158,6 +158,7 @@
calcTableTitle = Calculated Output
helperPanelTitle = Input Support
gaugePanelTitle = Gauge Information
+measurementStationPanelTitle = Measurement Station Information
wqW = W at Gauge [cm]
wqQ = Q [m\u00b3/s]
wqWFree = W free position [m+NHN]
@@ -553,4 +554,7 @@
gauge_river_url = https://flys-intern.intevation.de/GewaesserInfo/
gauge_curve_link = Dischargecurve
discharge_timeranges = DC-Timeranges
-discharge_chart = DC-Chart
\ No newline at end of file
+discharge_chart = DC-Chart
+
+measurement_station_type = Type of Measurement Station
+measurement_station_operator = Operator
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties
--- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_de.properties Fri Oct 26 15:11:35 2012 +0200
@@ -144,6 +144,7 @@
calcTableTitle = Berechnungsausgabe
helperPanelTitle = Eingabeunterst\u00fctzung
gaugePanelTitle = Gew\u00e4sser/Pegel-Info
+measurementStationPanelTitle = Gew\u00e4sser/Messstellen-Info
wqW = W am Pegel [cm]
wqQ = Q [m\u00b3/s]
wqWFree = W auf freier Strecke [m+NHN]
@@ -551,4 +552,7 @@
gauge_river_url = https://flys-intern.intevation.de/GewaesserInfo/
gauge_curve_link = Abflusskurve
discharge_timeranges = AK-Zeitr\u00e4ume
-discharge_chart = AK-Diagramm
\ No newline at end of file
+discharge_chart = AK-Diagramm
+
+measurement_station_type = Typ der Messstelle
+measurement_station_operator = Operator
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_en.properties
--- a/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_en.properties Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/FLYSConstants_en.properties Fri Oct 26 15:11:35 2012 +0200
@@ -158,6 +158,7 @@
calcTableTitle = Calculated Output
helperPanelTitle = Input Support
gaugePanelTitle = Gauge Information
+measurementStationPanelTitle = Measurement Station Information
wqW = W at Gauge [cm]
wqQ = Q [m\u00b3/s]
wqWFree = W at free position [m+NHN]
@@ -552,4 +553,7 @@
gauge_river_url = https://flys-intern.intevation.de/GewaesserInfo/
gauge_curve_link = Dischargecurve
discharge_timeranges = DC-Timeranges
-discharge_chart = DC-Chart
\ No newline at end of file
+discharge_chart = DC-Chart
+
+measurement_station_type = Type of Measurement Station
+measurement_station_operator = Operator
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeDischargeCurvePanel.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeDischargeCurvePanel.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeDischargeCurvePanel.java Fri Oct 26 15:11:35 2012 +0200
@@ -1,25 +1,16 @@
package de.intevation.flys.client.client.ui;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
import com.google.gwt.core.client.GWT;
-import com.smartgwt.client.types.VerticalAlignment;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.form.DynamicForm;
-import com.smartgwt.client.widgets.form.fields.SelectItem;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;
import de.intevation.flys.client.shared.model.Data;
import de.intevation.flys.client.shared.model.DataItem;
import de.intevation.flys.client.shared.model.DataList;
-import de.intevation.flys.client.shared.model.DefaultData;
-import de.intevation.flys.client.shared.model.DefaultDataItem;
-
import de.intevation.flys.client.client.FLYSConstants;
@@ -45,7 +36,6 @@
@Override
public Canvas createOld(DataList dataList) {
- HLayout layout = new HLayout();
VLayout vLayout = new VLayout();
vLayout.setWidth("400px");
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugePanel.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugePanel.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugePanel.java Fri Oct 26 15:11:35 2012 +0200
@@ -1,100 +1,30 @@
package de.intevation.flys.client.client.ui;
import com.google.gwt.core.client.GWT;
-import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.ui.Anchor;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Label;
-
-import com.smartgwt.client.types.Overflow;
-import com.smartgwt.client.widgets.Canvas;
-import com.smartgwt.client.widgets.WidgetCanvas;
-import com.smartgwt.client.widgets.events.ResizedEvent;
-import com.smartgwt.client.widgets.events.ResizedHandler;
-import com.smartgwt.client.widgets.layout.SectionStackSection;
-import com.smartgwt.client.widgets.layout.VLayout;
-
import de.intevation.flys.client.client.FLYS;
-import de.intevation.flys.client.client.FLYSConstants;
-import de.intevation.flys.client.client.services.RiverInfoService;
-import de.intevation.flys.client.client.services.RiverInfoServiceAsync;
-import de.intevation.flys.client.shared.model.DataList;
import de.intevation.flys.client.shared.model.RiverInfo;
/**
* The GaugePanel is intended to be used within a SectionStackSection
- * It extends the VLayout by two methods to show and hide the
- * section stack section.
*
* @author <a href="mailto:bjoern.ricks at intevation.de">Björn Ricks</a>
*/
-public class GaugePanel extends VLayout implements ResizedHandler {
-
- /** SectionStackSection where this GaugePanel belongs in*/
- private SectionStackSection section;
-
- /** Name of the river */
- private String river;
-
- /** The message class that provides i18n strings.*/
- protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
-
- protected RiverInfoServiceAsync riverInfoService =
- GWT.create(RiverInfoService.class);
-
- protected GaugeTree gaugetree;
- protected Canvas gaugetreecanvas;
-
- protected RiverInfoPanel riverinfopanel;
-
- public final static String SECTION_ID = "GaugePanelSection";
- private final static String GAUGE_TREE_CANVAS_ID =
- "GaugeTreeCanvas";
+public class GaugePanel extends InfoPanel {
/**
- * Creates a new VLayout with a SectionStackSection
- * The GaugePanel's SectionStackSection is hidden by default.
+ * GaugePanel loads the GaugeInfo from the RiverInfoService and
+ * displays them in a tree underneath a RiverInfoPanel
*
* @param flys The FLYS object
- * @param section The section stack section to place the VLayout in.
*/
public GaugePanel(FLYS flys) {
- SectionStackSection section = new SectionStackSection();
- section.setExpanded(false);
- section.setTitle(MSG.gaugePanelTitle());
- section.setName(SECTION_ID);
- section.setID(SECTION_ID);
-
- gaugetree = new GaugeTree(flys);
- gaugetreecanvas = new WidgetCanvas(gaugetree);
- gaugetreecanvas.setID(GAUGE_TREE_CANVAS_ID);
-
- setOverflow(Overflow.HIDDEN);
- setStyleName("gaugepanel");
-
- section.setHidden(true);
- section.setItems(this);
- this.section = section;
-
- addResizedHandler(this);
+ super(new GaugeTree(flys));
}
- /**
- * Sets and loads the river data if river is not the current set river
- */
- public void setRiver(String river) {
- if (!river.equals(this.river)) {
- this.river = river;
- this.refresh();
- }
- }
-
- /**
- * Sets the data and closes not corresponding folds in the gauge tree
- */
- public void setData(DataList[] data) {
- gaugetree.setData(data);
+ @Override
+ public String getSectionTitle() {
+ return MSG.gaugePanelTitle();
}
/**
@@ -112,96 +42,10 @@
@Override
public void onSuccess(RiverInfo riverinfo) {
GWT.log("Loaded river info");
- renderGaugeOverviewInfo(riverinfo);
+ render(riverinfo);
expand();
}
});
}
- public void renderGaugeOverviewInfo(RiverInfo riverinfo) {
- gaugetree.setGauges(riverinfo);
-
- if (riverinfopanel == null) {
- removeAllMembers();
-
- riverinfopanel = new RiverInfoPanel(riverinfo);
-
- addMember(riverinfopanel);
- addMember(gaugetreecanvas);
- }
- else {
- riverinfopanel.setRiverInfo(riverinfo);
- }
- }
-
- @Override
- public void onResized(ResizedEvent event) {
- /* this height calculation is only an approximation and doesn't reflect
- * the real height of the the gaugetree. */
- int height = getInnerContentHeight() -
- RiverInfoPanel.getStaticHeight();
- int width = getInnerContentWidth();
-
- if (height < 0) {
- height = 0;
- }
-
- GWT.log("GaugePanel - onResize " + height);
-
- gaugetree.setHeight("" + height + "px");
- gaugetree.setWidth("" + width + "px");
- }
-
-
- /**
- * Hide the section stack section.
- */
- @Override
- public void hide() {
- GWT.log("GaugePanel - hide");
- this.section.setHidden(true);
- }
-
- /**
- * Show the section stack section.
- */
- @Override
- public void show() {
- GWT.log("GaugePanel - show");
- this.section.setHidden(false);
- }
-
- @Override
- public void addMember(Canvas component) {
- super.addMember(component);
- expand();
- }
-
- @Override
- public void removeMembers(Canvas[] components) {
- super.removeMembers(components);
- contract();
- }
-
- public SectionStackSection getSection() {
- return this.section;
- }
-
- private void removeAllMembers() {
- removeMembers(getMembers());
- }
-
- /**
- * Expands the gauge section
- */
- public void expand() {
- section.setExpanded(true);
- }
-
- /**
- * Contracts/shrinks the expanded gauge section
- */
- public void contract() {
- section.setExpanded(false);
- }
}
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java Fri Oct 26 15:11:35 2012 +0200
@@ -8,14 +8,12 @@
import com.google.gwt.user.client.ui.DecoratorPanel;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
import com.smartgwt.client.widgets.layout.HLayout;
import de.intevation.flys.client.client.FLYS;
-import de.intevation.flys.client.client.FLYSConstants;
import de.intevation.flys.client.shared.model.Data;
import de.intevation.flys.client.shared.model.DataItem;
import de.intevation.flys.client.shared.model.DataList;
@@ -26,15 +24,10 @@
import java.util.Iterator;
import java.util.List;
-
-public class GaugeTree extends ScrollPanel {
-
- private FLYS flys;
- private Tree tree;
- private DataList[] data;
-
- /** The message class that provides i18n strings.*/
- protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
+/**
+ * @author <a href="mailto:bjoern.ricks at intevation.de">Björn Ricks</a>
+ */
+public class GaugeTree extends InfoTree {
public GaugeTree(FLYS flys) {
this.flys = flys;
@@ -46,7 +39,8 @@
* Resets the items of the tree.
* If the list of gauges is empty or null the tree will be empty.
*/
- public void setGauges(RiverInfo riverinfo) {
+ @Override
+ public void setRiverInfo(RiverInfo riverinfo) {
tree.clear();
List<GaugeInfo> gauges = riverinfo.getGauges();
@@ -90,114 +84,7 @@
tree.addItem(gaugeitem);
}
- public void openAll() {
- GWT.log("GaugeTree - openAll");
- for (Iterator<TreeItem> it = tree.treeItemIterator(); it.hasNext();) {
- TreeItem item = it.next();
- item.setState(true);
- }
- }
-
- public void setData(DataList[] data) {
- this.data = data;
- if (tree.getItemCount() > 0) {
- open();
- }
- }
-
- public void open() {
- ArrayList<Double> locations = new ArrayList<Double>();
-
- if (data != null && data.length > 0) {
- for (int i = 0; i < data.length; i++) {
- DataList dl = data[i];
- String state = dl.getState();
- GWT.log("GaugeTree - open " + state);
- if (state.equals("state.winfo.location_distance")) {
- Double ldfrom = null;
- Double ldto = null;
-
- for (int j = dl.size()-1; j >= 0; --j) {
- Data d = dl.get(j);
- String label = d.getLabel();
- GWT.log("GaugeTree - setData - label " + label + " " + d.getStringValue());
- if (label.equals("ld_from")) {
- ldfrom = getDoubleValue(d);
- }
- else if (label.equals("ld_to")) {
- ldto = getDoubleValue(d);
- }
- else if (label.equals("ld_locations")) {
- getLocationsFromData(locations, d);
- openOnLocations(locations);
- return;
- }
- }
- if (ldfrom != null) {
- openOnDistance(ldfrom, ldto);
- return;
- }
- }
- else if(state.equals("state.winfo.distance_only") ||
- state.equals("state.winfo.distance")) {
- Double ldfrom = null;
- Double ldto = null;
-
- for (int j = dl.size()-1; j >= 0; --j) {
- Data d = dl.get(j);
- String label = d.getLabel();
- GWT.log("GaugeTree - setData - label " + label + " " + d.getStringValue());
- if (label.equals("ld_from")) {
- ldfrom = getDoubleValue(d);
- }
- else if (label.equals("ld_to")) {
- ldto = getDoubleValue(d);
- }
- }
-
- if (ldfrom != null) {
- openOnDistance(ldfrom, ldto);
- return;
- }
- }
- else if (state.equals("state.winfo.location")) {
- getLocations("ld_locations", locations, dl);
- openOnLocations(locations);
- return;
- }
- else if (state.equals("state.winfo.reference.curve.input.start")) {
- getLocations("reference_startpoint", locations, dl);
- }
- else if (state.equals("state.winfo.reference.curve.input.end")) {
- getLocations("reference_endpoint", locations, dl);
- }
- else if (state.equals("state.winfo.historicalq.reference_gauge")) {
- for (int j = dl.size()-1; j >= 0; --j) {
- Data d = dl.get(j);
- String label = d.getLabel();
- if (label.equals("reference_gauge")) {
- String tmp = d.getStringValue();
- if (tmp != null) {
- Long gaugereference = Long.valueOf(tmp);
- if (gaugereference != null) {
- openOnReference(gaugereference);
- return;
- }
- }
- }
- }
- }
- }
- }
- if (!locations.isEmpty()) {
- openOnLocations(locations);
- }
- else {
- openAll();
- }
- }
-
- private void getLocations(String labelname, List<Double> locations, DataList dl) {
+ void getLocations(String labelname, List<Double> locations, DataList dl) {
for (int j = dl.size()-1; j >= 0; --j) {
Data d = dl.get(j);
String label = d.getLabel();
@@ -207,7 +94,7 @@
}
}
- private void getLocationsFromData(List<Double> locations, Data data) {
+ void getLocationsFromData(List<Double> locations, Data data) {
DataItem[] items = data.getItems();
for (int k = 0; k < items.length; k++) {
String tmp = items[k].getStringValue();
@@ -233,14 +120,6 @@
}
}
- private Double getDoubleValue(Data d) {
- String tmp = d.getStringValue();
- if (tmp != null) {
- return Double.valueOf(tmp);
- }
- return null;
- }
-
public void openOnReference(Long number) {
GWT.log("GaugeTree - openOnReference " + number);
for (Iterator<TreeItem> it = tree.treeItemIterator(); it.hasNext();) {
@@ -476,4 +355,95 @@
}
}
+ public void open() {
+ ArrayList<Double> locations = new ArrayList<Double>();
+
+ if (data != null && data.length > 0) {
+ for (int i = 0; i < data.length; i++) {
+ DataList dl = data[i];
+ String state = dl.getState();
+ GWT.log("GaugeTree - open " + state);
+ if (state.equals("state.winfo.location_distance")) {
+ Double ldfrom = null;
+ Double ldto = null;
+
+ for (int j = dl.size()-1; j >= 0; --j) {
+ Data d = dl.get(j);
+ String label = d.getLabel();
+ GWT.log("GaugeTree - setData - label " + label + " " + d.getStringValue());
+ if (label.equals("ld_from")) {
+ ldfrom = getDoubleValue(d);
+ }
+ else if (label.equals("ld_to")) {
+ ldto = getDoubleValue(d);
+ }
+ else if (label.equals("ld_locations")) {
+ getLocationsFromData(locations, d);
+ openOnLocations(locations);
+ return;
+ }
+ }
+ if (ldfrom != null) {
+ openOnDistance(ldfrom, ldto);
+ return;
+ }
+ }
+ else if(state.equals("state.winfo.distance_only") ||
+ state.equals("state.winfo.distance")) {
+ Double ldfrom = null;
+ Double ldto = null;
+
+ for (int j = dl.size()-1; j >= 0; --j) {
+ Data d = dl.get(j);
+ String label = d.getLabel();
+ GWT.log("GaugeTree - setData - label " + label + " " + d.getStringValue());
+ if (label.equals("ld_from")) {
+ ldfrom = getDoubleValue(d);
+ }
+ else if (label.equals("ld_to")) {
+ ldto = getDoubleValue(d);
+ }
+ }
+
+ if (ldfrom != null) {
+ openOnDistance(ldfrom, ldto);
+ return;
+ }
+ }
+ else if (state.equals("state.winfo.location")) {
+ getLocations("ld_locations", locations, dl);
+ openOnLocations(locations);
+ return;
+ }
+ else if (state.equals("state.winfo.reference.curve.input.start")) {
+ getLocations("reference_startpoint", locations, dl);
+ }
+ else if (state.equals("state.winfo.reference.curve.input.end")) {
+ getLocations("reference_endpoint", locations, dl);
+ }
+ else if (state.equals("state.winfo.historicalq.reference_gauge")) {
+ for (int j = dl.size()-1; j >= 0; --j) {
+ Data d = dl.get(j);
+ String label = d.getLabel();
+ if (label.equals("reference_gauge")) {
+ String tmp = d.getStringValue();
+ if (tmp != null) {
+ Long gaugereference = Long.valueOf(tmp);
+ if (gaugereference != null) {
+ openOnReference(gaugereference);
+ return;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if (!locations.isEmpty()) {
+ openOnLocations(locations);
+ }
+ else {
+ openAll();
+ }
+ }
}
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/ui/InfoPanel.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/InfoPanel.java Fri Oct 26 15:11:35 2012 +0200
@@ -0,0 +1,170 @@
+package de.intevation.flys.client.client.ui;
+
+import com.google.gwt.core.client.GWT;
+
+import com.smartgwt.client.types.Overflow;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.events.ResizedEvent;
+import com.smartgwt.client.widgets.events.ResizedHandler;
+import com.smartgwt.client.widgets.layout.SectionStackSection;
+import com.smartgwt.client.widgets.layout.VLayout;
+import com.smartgwt.client.widgets.WidgetCanvas;
+
+import de.intevation.flys.client.client.FLYSConstants;
+import de.intevation.flys.client.client.services.RiverInfoService;
+import de.intevation.flys.client.client.services.RiverInfoServiceAsync;
+import de.intevation.flys.client.shared.model.DataList;
+import de.intevation.flys.client.shared.model.RiverInfo;
+
+/**
+ * @author <a href="mailto:bjoern.ricks at intevation.de">Björn Ricks</a>
+ */
+public abstract class InfoPanel extends VLayout implements ResizedHandler {
+
+ /** SectionStackSection where this InfoPanel belongs in*/
+ protected SectionStackSection section;
+
+ /** Name of the river */
+ protected String river;
+
+ /** The message class that provides i18n strings.*/
+ protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
+
+ protected RiverInfoServiceAsync riverInfoService = GWT.create(RiverInfoService.class);
+
+ /** Panel to show the info about the river */
+ protected RiverInfoPanel riverinfopanel;
+ protected InfoTree tree;
+
+ /** Wrapper arround the GWT Tree (InfoTree) object */
+ protected Canvas treecanvas;
+
+ protected final static String SECTION_ID = "InfoPanelSection";
+
+ public InfoPanel(InfoTree tree) {
+ SectionStackSection section = new SectionStackSection();
+ section.setExpanded(false);
+ section.setTitle(getSectionTitle());
+ section.setName(SECTION_ID);
+ section.setID(SECTION_ID);
+
+ treecanvas = new WidgetCanvas(tree);
+
+ setOverflow(Overflow.HIDDEN);
+ setStyleName("infopanel");
+
+ section.setHidden(true);
+ section.setItems(this);
+ this.section = section;
+ this.tree = tree;
+
+ addResizedHandler(this);
+ }
+
+ /**
+ * Sets and loads the river data if river is not the current set river
+ */
+ public void setRiver(String river) {
+ if (!river.equals(this.river)) {
+ this.river = river;
+ this.refresh();
+ }
+ }
+
+ /**
+ * Sets the data and closes not corresponding folds in the gauge tree
+ */
+ public void setData(DataList[] data) {
+ tree.setData(data);
+ }
+
+ protected void render(RiverInfo riverinfo) {
+ tree.setRiverInfo(riverinfo);
+
+ if (riverinfopanel == null) {
+ removeAllMembers();
+
+ riverinfopanel = new RiverInfoPanel(riverinfo);
+
+ addMember(riverinfopanel);
+ addMember(treecanvas);
+ }
+ else {
+ riverinfopanel.setRiverInfo(riverinfo);
+ }
+ }
+
+ @Override
+ public void onResized(ResizedEvent event) {
+ /* this height calculation is only an approximation and doesn't reflect
+ * the real height of the the gaugetree. */
+ int height = getInnerContentHeight() -
+ RiverInfoPanel.getStaticHeight();
+ int width = getInnerContentWidth();
+
+ if (height < 0) {
+ height = 0;
+ }
+
+ GWT.log("InfoPanel - onResize " + height);
+
+ tree.setHeight("" + height + "px");
+ tree.setWidth("" + width + "px");
+ }
+
+ /**
+ * Hide the section stack section.
+ */
+ @Override
+ public void hide() {
+ GWT.log("InfoPanel - hide");
+ this.section.setHidden(true);
+ }
+
+ /**
+ * Show the section stack section.
+ */
+ @Override
+ public void show() {
+ GWT.log("InfoPanel - show");
+ this.section.setHidden(false);
+ }
+
+ @Override
+ public void addMember(Canvas component) {
+ super.addMember(component);
+ expand();
+ }
+
+ @Override
+ public void removeMembers(Canvas[] components) {
+ super.removeMembers(components);
+ contract();
+ }
+
+ public SectionStackSection getSection() {
+ return this.section;
+ }
+
+ protected void removeAllMembers() {
+ removeMembers(getMembers());
+ }
+
+ /**
+ * Expands the gauge section
+ */
+ public void expand() {
+ section.setExpanded(true);
+ }
+
+ /**
+ * Contracts/shrinks the expanded gauge section
+ */
+ public void contract() {
+ section.setExpanded(false);
+ }
+
+ protected abstract void refresh();
+
+ protected abstract String getSectionTitle();
+}
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/ui/InfoTree.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/InfoTree.java Fri Oct 26 15:11:35 2012 +0200
@@ -0,0 +1,55 @@
+package de.intevation.flys.client.client.ui;
+
+import java.util.Iterator;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.ui.ScrollPanel;
+import com.google.gwt.user.client.ui.Tree;
+import com.google.gwt.user.client.ui.TreeItem;
+
+import de.intevation.flys.client.client.FLYS;
+import de.intevation.flys.client.client.FLYSConstants;
+import de.intevation.flys.client.shared.model.Data;
+import de.intevation.flys.client.shared.model.DataList;
+import de.intevation.flys.client.shared.model.RiverInfo;
+
+/**
+ * @author <a href="mailto:bjoern.ricks at intevation.de">Björn Ricks</a>
+ */
+public abstract class InfoTree extends ScrollPanel {
+
+ protected FLYS flys;
+ protected Tree tree;
+ protected DataList[] data;
+
+ /** The message class that provides i18n strings.*/
+ protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
+
+ public void openAll() {
+ for (Iterator<TreeItem> it = tree.treeItemIterator(); it.hasNext();) {
+ TreeItem item = it.next();
+ item.setState(true);
+ }
+ }
+
+ public void setData(DataList[] data) {
+ this.data = data;
+ if (tree.getItemCount() > 0) {
+ open();
+ }
+ }
+
+ protected Double getDoubleValue(Data d) {
+ String tmp = d.getStringValue();
+ if (tmp != null) {
+ return Double.valueOf(tmp);
+ }
+ return null;
+ }
+
+ public abstract void open() ;
+
+ public abstract void setRiverInfo(RiverInfo riverinfo);
+
+
+}
\ No newline at end of file
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/ui/MeasurementStationPanel.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/MeasurementStationPanel.java Fri Oct 26 15:11:35 2012 +0200
@@ -0,0 +1,55 @@
+package de.intevation.flys.client.client.ui;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import de.intevation.flys.client.client.FLYS;
+import de.intevation.flys.client.shared.model.RiverInfo;
+
+/**
+ * A Panel to show info about the MeasurementStations of a river
+ *
+ * @author <a href="mailto:bjoern.ricks at intevation.de">Björn Ricks</a>
+ */
+public class MeasurementStationPanel extends InfoPanel {
+
+ /**
+ * MeasurementStationPanel loads the MeasurementStations from the
+ * RiverInfoService and displays them in a tree underneath a RiverInfoPanel
+ *
+ * @param flys The FLYS object
+ */
+ public MeasurementStationPanel(FLYS flys) {
+ super(new MeasurementStationTree(flys));
+ }
+
+ /**
+ * Returns the title which should be displayed in the section
+ */
+ @Override
+ public String getSectionTitle() {
+ return MSG.measurementStationPanelTitle();
+ }
+
+ /**
+ * Loads the river info and renders it afterwards
+ */
+ @Override
+ public void refresh() {
+ contract();
+
+ riverInfoService.getMeasurementStations(this.river,
+ new AsyncCallback<RiverInfo>() {
+ @Override
+ public void onFailure(Throwable e) {
+ GWT.log("Could not load the river info." + e);
+ }
+
+ @Override
+ public void onSuccess(RiverInfo riverinfo) {
+ GWT.log("Loaded river info");
+ render(riverinfo);
+ expand();
+ }
+ });
+ }
+}
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/ui/MeasurementStationTree.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/MeasurementStationTree.java Fri Oct 26 15:11:35 2012 +0200
@@ -0,0 +1,205 @@
+package de.intevation.flys.client.client.ui;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.i18n.client.NumberFormat;
+import com.google.gwt.user.client.ui.Anchor;
+import com.google.gwt.user.client.ui.DecoratorPanel;
+import com.google.gwt.user.client.ui.Grid;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Tree;
+import com.google.gwt.user.client.ui.TreeItem;
+
+import com.smartgwt.client.widgets.layout.HLayout;
+
+import de.intevation.flys.client.client.FLYS;
+import de.intevation.flys.client.shared.model.Data;
+import de.intevation.flys.client.shared.model.DataItem;
+import de.intevation.flys.client.shared.model.DataList;
+import de.intevation.flys.client.shared.model.MeasurementStation;
+import de.intevation.flys.client.shared.model.RiverInfo;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:bjoern.ricks at intevation.de">Björn Ricks</a>
+ */
+public class MeasurementStationTree extends InfoTree {
+
+ public MeasurementStationTree(FLYS flys) {
+ this.flys = flys;
+ tree = new Tree();
+ setWidget(tree);
+ }
+
+ /**
+ * Resets the items of the tree.
+ * If the list of gauges is empty or null the tree will be empty.
+ */
+ @Override
+ public void setRiverInfo(RiverInfo riverinfo) {
+ tree.clear();
+
+ List<MeasurementStation> stations = riverinfo.getMeasurementStations();
+
+ if (stations != null && !stations.isEmpty()) {
+
+ ArrayList<MeasurementStation> emptystations =
+ new ArrayList<MeasurementStation>();
+
+ if (!riverinfo.isKmUp()) {
+ for (MeasurementStation station : stations) {
+ addStation(station, emptystations);
+ }
+ }
+ else {
+ for (int i = stations.size()-1; i >= 0; i--) {
+ MeasurementStation station = stations.get(i);
+ addStation(station, emptystations);
+ }
+ }
+
+ // put empty stations to the end
+ for (MeasurementStation station : emptystations) {
+ addStation(station);
+ }
+ }
+ }
+
+ private void addStation(MeasurementStation station,
+ List<MeasurementStation> empty) {
+ if (station.getKmStart() != null && station.getKmEnd() != null) {
+ addStation(station);
+ }
+ else {
+ empty.add(station);
+ }
+ }
+
+ private void addStation(MeasurementStation station) {
+ MeasurementStationItem sitem =
+ new MeasurementStationItem(flys, station);
+ tree.addItem(sitem);
+ }
+
+ class MeasurementStationItem extends TreeItem {
+
+ private MeasurementStation station;
+
+ public MeasurementStationItem(FLYS flys, MeasurementStation station) {
+ MeasurementStationHead head =
+ new MeasurementStationHead(flys, station);
+ MeasurementStationDecoratorPanel
+ panel = new MeasurementStationDecoratorPanel(station);
+ setWidget(head);
+ addItem(panel);
+ this.station = station;
+ }
+
+ public Double getStart() {
+ return station.getKmStart();
+ }
+
+ public Double getEnd() {
+ return station.getKmEnd();
+ }
+
+ public Integer getID() {
+ return station.getID();
+ }
+ }
+
+ class MeasurementStationHead extends HLayout {
+
+ public MeasurementStationHead(FLYS flys, MeasurementStation station) {
+ setStyleName("infohead");
+ setAutoHeight();
+ setAutoWidth();
+
+ NumberFormat nf = NumberFormat.getDecimalFormat();
+
+ Label label = new Label(station.getName(), true);
+ addMember(label);
+
+ Double start;
+ Double end;
+
+ if (!station.isKmUp()) {
+ start = station.getKmStart();
+ end = station.getKmEnd();
+ }
+ else {
+ start = station.getKmEnd();
+ end = station.getKmStart();
+ }
+
+ String kmtext = "";
+ if (start != null) {
+ kmtext += nf.format(start);
+ kmtext += " - ";
+ }
+ if (end != null) {
+ kmtext += nf.format(end);
+ }
+ if (start != null || end != null) {
+ kmtext += " km";
+ }
+
+ label = new Label(kmtext);
+
+ addMember(label);
+
+ Double dstation = station.getStation();
+ if (dstation != null) {
+ String stext = nf.format(dstation);
+ stext += " km";
+ label = new Label(stext);
+ addMember(label);
+ }
+
+ /* Long number = gauge.getOfficialNumber(); */
+ /* String url = number != null ? */
+ /* MSG.gauge_url() + number : */
+ /* MSG.gauge_url(); */
+ /* Anchor anchor = new Anchor(MSG.gauge_info_link(), url, "_blank"); */
+ /* addMember(anchor); */
+ }
+ }
+
+ class MeasurementStationDecoratorPanel extends DecoratorPanel {
+
+ public MeasurementStationDecoratorPanel(MeasurementStation station) {
+ setStyleName("infopanel");
+ Grid grid = new Grid(4, 2);
+
+ NumberFormat nf = NumberFormat.getDecimalFormat();
+
+ String riverside = station.getRiverSide();
+ if (riverside != null) {
+ grid.setText(0, 0, MSG.riverside());
+ grid.setText(0, 1, riverside);
+ }
+
+ String type = station.getMeasurementType();
+ if (type != null) {
+ grid.setText(1, 0, MSG.measurement_station_type());
+ grid.setText(1, 1, type);
+ }
+
+ String moperator = station.getOperator();
+ if (moperator != null) {
+ grid.setText(2, 0, MSG.measurement_station_operator());
+ grid.setText(2, 1, moperator);
+ }
+
+ setWidget(grid);
+ }
+ }
+
+ @Override
+ public void open() {
+ }
+}
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterList.java Fri Oct 26 15:11:35 2012 +0200
@@ -52,6 +52,7 @@
import de.intevation.flys.client.shared.model.ReportMode;
import de.intevation.flys.client.shared.model.River;
import de.intevation.flys.client.shared.model.WINFOArtifact;
+import de.intevation.flys.client.shared.model.MINFOArtifact;
import java.util.ArrayList;
import java.util.List;
@@ -112,7 +113,7 @@
protected VLayout report;
protected VLayout helperPanel;
protected VLayout tablePanel;
- protected GaugePanel gaugePanel;
+ protected InfoPanel infoPanel;
protected Canvas reportPanel;
private SectionStack stack;
@@ -752,17 +753,15 @@
}
}
if (art instanceof WINFOArtifact) {
- String river = desc.getRiver();
-
- if (river != null) {
- renderGaugeInfo(desc.getRiver(), desc.getOldData());
- }
- else {
- hideGaugePanel();
- }
+ createGaugePanel();
+ renderInfo(desc.getRiver(), desc.getOldData());
+ }
+ else if (art instanceof MINFOArtifact) {
+ createMeasurementStationPanel();
+ renderInfo(desc.getRiver(), desc.getOldData());
}
else {
- removeGaugePanel();
+ removeInfoPanel();
}
addOldDatas(
@@ -944,49 +943,60 @@
private void createGaugePanel() {
GWT.log("ParameterList - createGaugePanel");
- if (gaugePanel == null) {
- gaugePanel = new GaugePanel(flys);
- gaugePanel.setWidth100();
- gaugePanel.setHeight100();
+ if (infoPanel == null) {
+ infoPanel = new GaugePanel(flys);
+ infoPanel.setWidth100();
+ infoPanel.setHeight100();
}
}
- private void addGaugePanel() {
- GWT.log("ParameterList - addGaugePanel");
- createGaugePanel();
- stack.addSection(gaugePanel.getSection(), 0);
- }
-
- private void showGaugePanel() {
- GWT.log("ParameterList - showGaugePanel");
-
- /* Don't add GaugePanel twice */
- SectionStackSection exists = stack.getSection(GaugePanel.SECTION_ID);
- if (exists == null) {
- addGaugePanel();
- }
-
- gaugePanel.show();
- }
-
- private void hideGaugePanel() {
- GWT.log("ParameterList - hideGaugePanel");
-
- if (gaugePanel != null) {
- gaugePanel.hide();
+ private void createMeasurementStationPanel() {
+ GWT.log("ParameterList - createMeasurementStationPanel");
+ if (infoPanel == null) {
+ infoPanel = new MeasurementStationPanel(flys);
+ infoPanel.setWidth100();
+ infoPanel.setHeight100();
}
}
- private void removeGaugePanel() {
- GWT.log("ParameterList - removeGaugePanel");
- stack.removeSection(GaugePanel.SECTION_ID);
+ private void showInfoPanel() {
+ GWT.log("ParameterList - showInfoPanel");
+
+ /* Don't add InfoPanel twice */
+ SectionStackSection exists = stack.getSection(InfoPanel.SECTION_ID);
+ if (exists == null) {
+ stack.addSection(infoPanel.getSection(), 0);
+ }
+
+ infoPanel.show();
}
+ private void hideInfoPanel() {
+ GWT.log("ParameterList - hideInfoPanel");
- private void renderGaugeInfo(String river, DataList[] data) {
- showGaugePanel();
- gaugePanel.setRiver(river);
- gaugePanel.setData(data);
+ if (infoPanel != null) {
+ infoPanel.hide();
+ }
+ }
+
+ private void removeInfoPanel() {
+ GWT.log("ParameterList - removeInfoPanel");
+ stack.removeSection(InfoPanel.SECTION_ID);
+ }
+
+
+ private void renderInfo(String river, DataList[] data) {
+ GWT.log("ParameterList - renderInfo");
+
+ if (river != null) {
+ showInfoPanel();
+ infoPanel.setRiver(river);
+ infoPanel.setData(data);
+ }
+ else {
+ GWT.log("ParameterList - renderInfo no river");
+ hideInfoPanel();
+ }
}
}
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/server/RiverInfoServiceImpl.java
--- a/flys-client/src/main/java/de/intevation/flys/client/server/RiverInfoServiceImpl.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/server/RiverInfoServiceImpl.java Fri Oct 26 15:11:35 2012 +0200
@@ -112,7 +112,7 @@
DefaultRiverInfo riverinfo = getRiverInfo(result);
List<MeasurementStation> mstations = createMeasurementStations(
- result, riverinfo.getName());
+ result, riverinfo.getName(), riverinfo.isKmUp());
riverinfo.setMeasurementStations(mstations);
@@ -157,8 +157,22 @@
}
}
+ private Integer parseInteger(String value) {
+ if (value == null || value.isEmpty()) {
+ return null;
+ }
+ try {
+ return Integer.valueOf(value);
+ }
+ catch(NumberFormatException e) {
+ logger.error(e, e);
+ return null;
+ }
+ }
+
private List<MeasurementStation> createMeasurementStations(
- Document result, String rivername) {
+ Document result, String rivername, boolean kmup) {
+
NodeList stationnodes = (NodeList) XMLUtils.xpath(
result,
XPATH_STATIONS,
@@ -190,17 +204,24 @@
ArtifactNamespaceContext.NAMESPACE_URI, "type");
String riverside = stationele.getAttributeNS(
ArtifactNamespaceContext.NAMESPACE_URI, "riverside");
+ String mid = stationele.getAttributeNS(
+ ArtifactNamespaceContext.NAMESPACE_URI, "id");
+ String moperator = stationele.getAttributeNS(
+ ArtifactNamespaceContext.NAMESPACE_URI, "operator");
logger.debug("Found measurement station with name " + mname);
MeasurementStation station = new DefaultMeasurementStation(
rivername,
mname,
+ parseInteger(mid),
parseDouble(mstation),
parseDouble(mstart),
parseDouble(mend),
+ kmup,
riverside,
- mtype
+ mtype,
+ moperator
);
mstations.add(station);
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultMeasurementStation.java
--- a/flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultMeasurementStation.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultMeasurementStation.java Fri Oct 26 15:11:35 2012 +0200
@@ -5,25 +5,31 @@
*/
public class DefaultMeasurementStation implements MeasurementStation {
- private String name;
- private Double start;
- private Double end;
- private Double station;
- private String rivername;
- private String measurementtype;
- private String riverside;
+ private String name;
+ private Double start;
+ private Double end;
+ private Double station;
+ private String rivername;
+ private String measurementtype;
+ private String riverside;
+ private Integer id;
+ private boolean kmup;
+ private String moperator;
public DefaultMeasurementStation() {
}
public DefaultMeasurementStation(
- String rivername,
- String name,
- Double station,
- Double start,
- Double end,
- String riverside,
- String measurementtype)
+ String rivername,
+ String name,
+ Integer id,
+ Double station,
+ Double start,
+ Double end,
+ boolean kmup,
+ String riverside,
+ String measurementtype,
+ String moperator)
{
this.rivername = rivername;
this.name = name;
@@ -32,6 +38,9 @@
this.end = end;
this.riverside = riverside;
this.measurementtype = measurementtype;
+ this.id = id;
+ this.kmup = kmup;
+ this.moperator = moperator;
}
/**
@@ -90,4 +99,25 @@
public String getRiverSide() {
return this.riverside;
}
+
+ /**
+ * Returns the ID of the measurement station
+ */
+ @Override
+ public Integer getID() {
+ return this.id;
+ }
+
+ @Override
+ public boolean isKmUp() {
+ return this.kmup;
+ }
+
+ /**
+ * Returns the operator of the measurement station
+ */
+ @Override
+ public String getOperator() {
+ return this.moperator;
+ }
}
diff -r 270f3ac8a82e -r edcd276a7234 flys-client/src/main/java/de/intevation/flys/client/shared/model/MeasurementStation.java
--- a/flys-client/src/main/java/de/intevation/flys/client/shared/model/MeasurementStation.java Fri Oct 26 15:09:48 2012 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/shared/model/MeasurementStation.java Fri Oct 26 15:11:35 2012 +0200
@@ -22,6 +22,8 @@
*/
Double getKmEnd();
+ boolean isKmUp();
+
/**
* Returns the station km of the measurement station or null if not
* available
@@ -42,4 +44,14 @@
* Returns the type of the measurement station
*/
String getMeasurementType();
+
+ /**
+ * Returns the ID of the measurement station
+ */
+ Integer getID();
+
+ /**
+ * Returns the operator of the measurement station
+ */
+ String getOperator();
}
More information about the Dive4elements-commits
mailing list