# HG changeset patch # User Raimund Renkert # Date 1410336166 -7200 # Node ID b6d54b946f4c7504abd1cbb89784fcf61a189152 # Parent 1e30489d09587e6a3d91fc3f2bf8962814a8a2dc# Parent 2414154673e9d02c4d39a773e2f9a83b8883be5e merged. diff -r 1e30489d0958 -r b6d54b946f4c .hgtags --- a/.hgtags Wed Sep 10 10:01:57 2014 +0200 +++ b/.hgtags Wed Sep 10 10:02:46 2014 +0200 @@ -96,3 +96,4 @@ e0d06f4edaa6d0f3a15b8eecfe7696e825ff5062 3.1.3 8333b9b06c981a231e0c92283de3bfa65b6cc0d9 3.1.3 6fef38a526c705158f17fa16839ad216d5ec8afc 3.1.4 +d81c4b0d5ca74c14fe7845e62ba83c7161ce6374 3.1.5 diff -r 1e30489d0958 -r b6d54b946f4c artifacts/doc/conf/meta-data.xml --- a/artifacts/doc/conf/meta-data.xml Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/doc/conf/meta-data.xml Wed Sep 10 10:02:46 2014 +0200 @@ -115,6 +115,7 @@ + @@ -1441,7 +1442,7 @@ + expr="concat('Amtliche Epoche<BR>', dc:get('info'))"/> @@ -3073,6 +3074,85 @@ + + + + + + + + + + + + + + + + + data at measurement stations + + SELECT DISTINCT + sl.id AS slid, + slk.kind AS kind, + ti.start_time AS startyear, + ti.stop_time AS endyear, + gf.name AS fraction + FROM sediment_load sl + JOIN sediment_load_kinds slk ON slk.id = sl.kind + JOIN sediment_load_values slv + ON sl.id = slv.sediment_load_id + JOIN measurement_station ms + ON ms.id = slv.measurement_station_id + JOIN rivers r ON ms.river_id = r.id + JOIN time_intervals ti ON sl.time_interval_id = ti.id + JOIN grain_fraction gf ON gf.id = sl.grain_fraction_id + WHERE r.id = ${river_id} + AND sq_time_interval_id = ${sq_time_id} + AND ms.station BETWEEN ${fromkm} AND ${tokm} + AND slk.kind = 'official' + + + + + + + + + longitudinal sections + + SELECT DISTINCT + sl.id AS slid, + slk.kind AS kind, + ti.start_time AS startyear, + ti.stop_time AS endyear, + sq_time_interval_id AS sqid, + gf.name AS fraction + FROM sediment_load_ls sl + JOIN sediment_load_kinds slk ON slk.id = sl.kind + JOIN rivers r ON sl.river_id = r.id + JOIN sediment_load_ls_values slv + ON sl.id = slv.sediment_load_ls_id + JOIN time_intervals ti ON sl.time_interval_id = ti.id + JOIN grain_fraction gf ON gf.id = sl.grain_fraction_id + WHERE r.id = ${river_id} + AND sq_time_interval_id = ${sq_time_id} + AND slv.station BETWEEN ${fromkm} AND ${tokm} + AND slk.kind = 'official' + + + + + + + + + diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation6.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation6.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation6.java Wed Sep 10 10:02:46 2014 +0200 @@ -244,7 +244,10 @@ : vc.findValueForQ(refTable, value); if (Double.isNaN(ref)) { - addProblem("hist.discharge.no.value.in.ref", value); + addProblem("hist.discharge.no.value.in.ref", value, + mode == EvaluationMode.W.getMode() + ? "cm" + : "m\u00b3/s"); continue; } diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadData.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadData.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadData.java Wed Sep 10 10:02:46 2014 +0200 @@ -230,6 +230,36 @@ } } + public void allOfficialLoads(Collection loads) { + for (List values: grainFractions) { + if (values != null) { + for (Value value: values) { + Load load = value.getLoad(); + if (load.getKind() == 1) { + loads.add(value.getLoad()); + } + } + } + } + } + + public void allLoads(Collection loads, Integer sqRelationTimeInterval) { + + for (List values: grainFractions) { + if (values == null) { + continue; + } + for (Value value: values) { + Load load = value.getLoad(); + Integer sqId = load.getSQRelationTimeIntervalId(); + if ((sqRelationTimeInterval == null) + || sqId != null && sqId.equals(sqRelationTimeInterval)) { + loads.add(load); + } + } + } + } + public double getStation() { return station; } @@ -435,6 +465,25 @@ } }; + public static final Comparator LOAD_TI_CMP = new Comparator() { + @Override + public int compare(Load a, Load b) { + Date a_start = a.getStartTime(); + Date a_stop = a.getStopTime(); + Date b_start = b.getStartTime(); + Date b_stop = b.getStopTime(); + if (a_start == null && b_start == null) { + return 0; + } else if (a_start != null) { + return a_start.compareTo(b_start); + } else if (a_stop != null) { + return a_stop.compareTo(b_stop); + } else { + return 1; + } + } + }; + public static final Comparator LOAD_SQ_TI_CMP = new Comparator() { @Override public int compare(Load a, Load b) { @@ -454,24 +503,29 @@ }; /** Find all loads in the range a/b with the according sq_time_interval */ - public Collection findLoads(double a, double b, Integer sqRelationTimeInterval) { + public Collection findLoads(double a, double b, final Integer sqRelationTimeInterval) { final TreeSet loads = new TreeSet(LOAD_ID_CMP); findStations(a, b, new Visitor() { @Override public void visit(Station station) { - station.allLoads(loads); + station.allLoads(loads, sqRelationTimeInterval); } }); - /* This may not be the most beautiful thing to do but well,.. */ - for (Iterator it = loads.iterator(); it.hasNext();) { - Integer obj = it.next().getSQRelationTimeIntervalId(); - if ((obj == null && sqRelationTimeInterval != null) || - (obj != null && !obj.equals(sqRelationTimeInterval))) { - it.remove(); + return loads; + } + + /** Find all official loads with a distinct time interval id */ + public Collection findUniqueTiOfficialLoads(double a, double b) { + final TreeSet loads = new TreeSet(LOAD_TI_CMP); + + findStations(a, b, new Visitor() { + @Override + public void visit(Station station) { + station.allOfficialLoads(loads); } - } + }); return loads; } diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataCalculation.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataCalculation.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataCalculation.java Wed Sep 10 10:02:46 2014 +0200 @@ -308,7 +308,8 @@ filter, sum); if (result[0].length == 0 || DoubleUtil.isNaN(result[1])) { - continue; + addProblem("sedimentload.missing.fraction." + + ls.getDescription(), ((Integer)year).toString()); } transformT2M3(sd, year, result); diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/artifacts/services/SedimentLoadInfoService.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/services/SedimentLoadInfoService.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/services/SedimentLoadInfoService.java Wed Sep 10 10:02:46 2014 +0200 @@ -85,8 +85,7 @@ log.debug("Requested type: " + type + " with sq_ti_id: " + sq_ti_id); Collection loads; if (type.equals("off_epoch")) { - /* TODO */ - loads = null; + loads = allLoadData.findUniqueTiOfficialLoads(fromD, toD); } else if (type.equals("sq_time_intervals")) { loads = allLoadData.findUniqueTimeIntervalLoads(fromD, toD); @@ -99,12 +98,16 @@ } else { if (!sq_ti_id.isEmpty()) { Integer id = Integer.parseInt(sq_ti_id); - log.debug("Finding only items for id"); loads = allLoadData.findLoads(fromD, toD, id); } else { - log.debug("Finding everything."); loads = allLoadData.findLoads(fromD, toD); } + for (Iterator it = loads.iterator(); it.hasNext();) { + /* Skip epochs . */ + if (it.next().isEpoch()) { + it.remove(); + } + } } return buildDocument(loads); diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/YearEpochSelect.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/YearEpochSelect.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/YearEpochSelect.java Wed Sep 10 10:02:46 2014 +0200 @@ -43,6 +43,8 @@ { CallMeta meta = context.getMeta(); Element[] elements; + + /* Disable calculation of official epochs if (((D4EArtifact)artifact).getCurrentStateId() .equals("state.minfo.sediment.load.year_epoch") ) { @@ -57,7 +59,8 @@ } else { elements = new Element[2]; - } + } */ + elements = new Element[2]; elements[0] = createItem( ec, new String[] { diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/exports/ChartGenerator.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/ChartGenerator.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/ChartGenerator.java Wed Sep 10 10:02:46 2014 +0200 @@ -16,6 +16,8 @@ import org.dive4elements.artifacts.CallMeta; import org.dive4elements.artifacts.PreferredLocale; import org.dive4elements.artifacts.common.utils.XMLUtils; + +import org.dive4elements.river.artifacts.access.RiverAccess; import org.dive4elements.river.artifacts.access.RangeAccess; import org.dive4elements.river.artifacts.D4EArtifact; import org.dive4elements.river.artifacts.resources.Resources; @@ -1412,18 +1414,23 @@ return Resources.getMsg(context.getMeta(), key, key); } + protected String msg(String key, Object[] args) { + return Resources.getMsg(context.getMeta(), key, key, args); + } + protected String msg(String key, String def, Object[] args) { return Resources.getMsg(context.getMeta(), key, def, args); } protected String getRiverName() { - D4EArtifact flys = (D4EArtifact) master; - - River river = RiverUtils.getRiver(flys); - return (river != null) ? river.getName() : ""; + return new RiverAccess((D4EArtifact)master).getRiver().getName(); } + protected String getRiverUnit() { + return new RiverAccess((D4EArtifact)master).getRiver() + .getWstUnit().getName(); + } protected double[] getRange() { D4EArtifact flys = (D4EArtifact) master; diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveExporter.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveExporter.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveExporter.java Wed Sep 10 10:02:46 2014 +0200 @@ -32,6 +32,7 @@ import org.dive4elements.river.artifacts.D4EArtifact; +import org.dive4elements.river.artifacts.access.RiverAccess; import org.dive4elements.river.artifacts.access.RangeAccess; import org.dive4elements.river.artifacts.model.WQDay; import org.dive4elements.river.artifacts.model.CalculationResult; @@ -60,10 +61,6 @@ public static final String CSV_Q_HEADER = "export.duration.curve.csv.header.q"; - public static final String DEFAULT_CSV_DURATION_HEADER = "D [Tagen]"; - public static final String DEFAULT_CSV_W_HEADER = "W [NN + m]"; - public static final String DEFAULT_CSV_Q_HEADER = "Q [m\u00b3/s]"; - public static final String PDF_HEADER_MODE = "export.duration.pdf.mode"; public static final String JASPER_FILE = "export.duration.pdf.file"; @@ -99,10 +96,13 @@ protected void writeCSVHeader(CSVWriter writer) { log.info("DurationCurveExporter.writeCSVHeader"); + String unit = new RiverAccess((D4EArtifact)master) + .getRiver().getWstUnit().getName(); + writer.writeNext(new String[] { - msg(CSV_W_HEADER, DEFAULT_CSV_W_HEADER), - msg(CSV_Q_HEADER, DEFAULT_CSV_Q_HEADER), - msg(CSV_DURATION_HEADER, DEFAULT_CSV_DURATION_HEADER) + msg(CSV_W_HEADER, new Object[] { unit }), + msg(CSV_Q_HEADER), + msg(CSV_DURATION_HEADER) }); } diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveGenerator.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveGenerator.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/DurationCurveGenerator.java Wed Sep 10 10:02:46 2014 +0200 @@ -58,8 +58,11 @@ public static final String I18N_XAXIS_LABEL = "chart.duration.curve.xaxis.label"; - public static final String I18N_YAXIS_LABEL = - "chart.duration.curve.yaxis.label"; + public static final String I18N_YAXIS_LABEL_W = + "chart.duration.curve.yaxis.label.w"; + + public static final String I18N_YAXIS_LABEL_Q = + "chart.duration.curve.yaxis.label.q"; public static final String I18N_CHART_TITLE_DEFAULT = "Dauerlinie"; @@ -67,9 +70,6 @@ public static final String I18N_XAXIS_LABEL_DEFAULT = "Unterschreitungsdauer [Tage]"; - public static final String I18N_YAXIS_LABEL_DEFAULT = - "W [NN + m]"; - public DurationCurveGenerator() { super(); @@ -123,12 +123,10 @@ protected String getDefaultYAxisLabel(int index) { String label = "default"; if (index == YAXIS.W.idx) { - label = msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL_DEFAULT); + label = msg(I18N_YAXIS_LABEL_W, new Object[] { getRiverUnit() }); } else if (index == YAXIS.Q.idx) { - // TODO i18n for this label - label = "Q [m\u00b3/s]"; - //label = msg(get2YAxisLabelKey(), get2YAxisDefaultLabel()); + label = msg(I18N_YAXIS_LABEL_Q); } return label; diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java Wed Sep 10 10:02:46 2014 +0200 @@ -119,6 +119,8 @@ Collections.sort(data); + writeCSVHeader(writer); + for (MiddleBedHeightData d: data) { data2CSV(writer, d); } @@ -148,8 +150,6 @@ writeMetaData(writer, data); - writeCSVHeader(writer); - NumberFormat kmF = Formatter.getMiddleBedHeightKM(context); NumberFormat heightF = Formatter.getMiddleBedHeightHeight(context); NumberFormat uncertF = Formatter.getMiddleBedHeightUncert(context); diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java Wed Sep 10 10:02:46 2014 +0200 @@ -89,10 +89,11 @@ String river = access.getRiverName(); double radius = scales.getRadius(river, start, end); + context.putContextValue("radius", radius); generator.addSubtitle(Resources.getMsg( context.getMeta(), I18N_SUBTITLE_RADIUS, - new Object[] { radius })); + new Object[] { "$RADIUS" })); } } diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/resources/messages.properties --- a/artifacts/src/main/resources/messages.properties Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/resources/messages.properties Wed Sep 10 10:02:46 2014 +0200 @@ -379,7 +379,7 @@ export.computed.discharge.curve.csv.header.w = W [{0}] export.computed.discharge.curve.csv.header.q = Q [m\u00b3/s] export.duration.curve.csv.header.duration = D [Days] -export.duration.curve.csv.header.w = W [NN + m] +export.duration.curve.csv.header.w = W [{0}] export.duration.curve.csv.header.q = Q [m\u00b3/s] export.discharge.longitudinal.section.csv.header.km = River-Km export.discharge.longitudinal.section.csv.header.w = W [NN + m] @@ -546,6 +546,7 @@ w.w.qkm2.failed = Calculating Q for WST index {0,number,#.##} failed. w.w.wkm2.failed = Calculating W for Q = {0,number,#.##} / WST index {1,number,#.##} failed. +hist.discharge.no.value.in.ref = {0} {1} not in reference table cannot.find.hist.q.for.w = Cannot find Q for W = {0,number,#.##} in timerange {1, date} - {2, date} cannot.find.hist.w.for.q = Cannot find W for Q = {0,number,#.##} in timerange {1, date} - {2, date} cannot.find.hist.q.tables = Cannot find Discharge Tables for given timerange. diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/resources/messages_de.properties --- a/artifacts/src/main/resources/messages_de.properties Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/resources/messages_de.properties Wed Sep 10 10:02:46 2014 +0200 @@ -379,7 +379,7 @@ export.waterlevel.csv.not.in.gauge.range = au\u00dferh. d. Bez.pegels export.computed.discharge.curve.csv.header.w = W [{0}] export.computed.discharge.curve.csv.header.q = Q [m\u00b3/s] -export.duration.curve.csv.header.duration = D [Tagen] +export.duration.curve.csv.header.duration = D [Tage] export.duration.curve.csv.header.w = W [{0}] export.duration.curve.csv.header.q = Q [m\u00b3/s] export.discharge.longitudinal.section.csv.header.km = Fluss-Km @@ -549,6 +549,7 @@ w.w.qkm2.failed = Berechnung von Q f\u00fcr WST-Index {0,number,#.##} fehlgeschlagen. w.w.wkm2.failed = Berechnung von W f\u00fcr Q = {0,number,#.##} / WST-Index {1,number,#.##} fehlgeschlagen. +hist.discharge.no.value.in.ref = {0} {1} nicht in Bezugskurve enthalten cannot.find.hist.q.for.w = Konnte zu W = {0,number,#.##} im Zeitraum ({1,date} - {2,date}) keinen Abfluss ermitteln. cannot.find.hist.w.for.q = Konnte zu Q = {0,number,#.##} im Zeitraum ({1,date} - {2,date}) keinen Wasserstand ermitteln. cannot.find.hist.q.tables = Konnte f\u00fcr den angegebenen Zeitraum keine Abflusstafeln finden. diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/resources/messages_de_DE.properties --- a/artifacts/src/main/resources/messages_de_DE.properties Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/resources/messages_de_DE.properties Wed Sep 10 10:02:46 2014 +0200 @@ -179,7 +179,8 @@ chart.duration.curve.title = Dauerlinie chart.duration.curve.subtitle = {0}-km: {1,number,#.###} chart.duration.curve.xaxis.label = Unterschreitungsdauer [Tage] -chart.duration.curve.yaxis.label = W [NN + m] +chart.duration.curve.yaxis.label.w = W [{0}] +chart.duration.curve.yaxis.label.q = Q [m\u00b3/s] chart.duration.curve.curve.w = Wasserstandsdauerline f\u00fcr {0} (km:{1}) chart.duration.curve.curve.q = Abflussdauerline f\u00fcr {0} (km:{1}) chart.historical.discharge.title = Historische Abflusskurven @@ -376,7 +377,7 @@ export.waterlevel.csv.not.in.gauge.range = au\u00dferh. d. Bez.pegels export.computed.discharge.curve.csv.header.w = W [{0}] export.computed.discharge.curve.csv.header.q = Q [m\u00b3/s] -export.duration.curve.csv.header.duration = D [Tagen] +export.duration.curve.csv.header.duration = D [Tage] export.duration.curve.csv.header.w = W [{0}] export.duration.curve.csv.header.q = Q [m\u00b3/s] export.discharge.longitudinal.section.csv.header.km = Fluss-Km @@ -544,6 +545,7 @@ w.w.qkm2.failed = Berechnung von Q f\u00fcr WST-Index {0,number,#.##} fehlgeschlagen. w.w.wkm2.failed = Berechnung von W f\u00fcr Q = {0,number,#.##} / WST-Index {1,number,#.##} fehlgeschlagen. +hist.discharge.no.value.in.ref = {0} {1} nicht in Bezugskurve enthalten cannot.find.hist.q.for.w = Konnte zu W = {0,number,#.##} im Zeitraum ({1,date} - {2,date}) keinen Abfluss ermitteln. cannot.find.hist.w.for.q = Konnte zu Q = {0,number,#.##} im Zeitraum ({1,date} - {2,date}) keinen Wasserstand ermitteln. cannot.find.hist.q.tables = Konnte f\u00fcr den angegebenen Zeitraum keine Abflusstafeln finden. diff -r 1e30489d0958 -r b6d54b946f4c artifacts/src/main/resources/messages_en.properties --- a/artifacts/src/main/resources/messages_en.properties Wed Sep 10 10:01:57 2014 +0200 +++ b/artifacts/src/main/resources/messages_en.properties Wed Sep 10 10:02:46 2014 +0200 @@ -548,6 +548,7 @@ w.w.qkm2.failed = Calculating Q for WST index {0,number,#.##} failed. w.w.wkm2.failed = Calculating W for Q = {0,number,#.##} / WST index {1,number,#.##} failed. +hist.discharge.no.value.in.ref = {0} {1} not in reference table cannot.find.hist.q.for.w = Cannot find Q for W = {0,number,#.##} in timerange {1, date} - {2, date} cannot.find.hist.w.for.q = Cannot find W for Q = {0,number,#.##} in timerange {1, date} - {2, date} cannot.find.hist.q.tables = Cannot find Discharge Tables for given timerange. diff -r 1e30489d0958 -r b6d54b946f4c contrib/make_flys_release/make_release.sh --- a/contrib/make_flys_release/make_release.sh Wed Sep 10 10:01:57 2014 +0200 +++ b/contrib/make_flys_release/make_release.sh Wed Sep 10 10:02:46 2014 +0200 @@ -272,7 +272,8 @@ cp -r $FLYS_SOURCE_DIR/OpenLayers-2.11 $FLYS_SOURCE_DIR/river/gwt-client/src/main/webapp/ echo "INFO: Downloading smartGWT" -mvn com.isomorphic:isc-maven-plugin:install -Dproduct=SMARTGWT -Dlicense=LGPL -DbuildNumber=4.1p -DbuildDate=2014-06-17 -Dworkdir=$WORK_DIR +mvn com.isomorphic:isc-maven-plugin:install -Dproduct=SMARTGWT -Dlicense=LGPL \ + -DbuildNumber=4.1p -DbuildDate=2014-09-08 -Dworkdir=$WORK_DIR echo "INFO: compile and build sources" mvn -f $FLYS_SOURCE_DIR/framework/pom.xml clean compile package install diff -r 1e30489d0958 -r b6d54b946f4c gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/MeasurementStationListGrid.java --- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/MeasurementStationListGrid.java Wed Sep 10 10:01:57 2014 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/stationinfo/MeasurementStationListGrid.java Wed Sep 10 10:02:46 2014 +0200 @@ -81,12 +81,15 @@ private void addStation(MeasurementStation station, List empty) { + /* switch off sorting stations without range to the end if (station.getKmStart() != null && station.getKmEnd() != null) { addStation(station); } else { empty.add(station); } + */ + addStation(station); } private void addStation(MeasurementStation station) {