Mercurial > dive4elements > river
changeset 8253:b6d54b946f4c
merged.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 10 Sep 2014 10:02:46 +0200 (2014-09-10) |
parents | 1e30489d0958 (current diff) 2414154673e9 (diff) |
children | c87c87544cc6 5b87aaac8447 |
files | |
diffstat | 18 files changed, 205 insertions(+), 45 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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 @@ </dc:when> <dc:when test="$out = 'sedimentload_ls'"> <dc:call-macro name="annotations"/> + <dc:call-macro name="sedimentload_off_epochs"/> </dc:when> <dc:when test="$out = 'bed_longitudinal_section'"> <dc:call-macro name="annotations"/> @@ -1441,7 +1442,7 @@ </dc:choose> <dc:if test="$kind = 'official'"> <dc:variable name="info" type="string" - expr="concat('Amtliche Epoche<BR>', $info)"/> + expr="concat('Amtliche Epoche<BR>', dc:get('info'))"/> </dc:if> <dc:macro-body/> </dc:for-each> @@ -3073,6 +3074,85 @@ </dc:if> </dc:macro> + + <dc:macro name="sedimentload_off_epoch_filter"> + <dc:if test="dc:has-result()"> + <dc:if test="string-length(dc:get('epochs')) > 0"> + <dc:variable name="start" type="number" + expr="dc:min-number(dc:find-all('\d{4}', $epochs))"/> + <dc:variable name="end" type="number" + expr="dc:max-number(dc:find-all('\d{4}', $epochs))"/> + </dc:if> + <dc:filter expr="not(number($end) < + number(dc:date-format('yyyy', $startyear)) + or number($start) > + number(dc:date-format('yyyy', $endyear)))"> + <dc:macro-body/> + </dc:filter> + </dc:if> + </dc:macro> + + <dc:macro name="sedimentload_off_epochs"> + <dc:variable name="sq_time_id" type="number" expr="number($sq_ti_id)"/> + <dc:context> + <dc:comment> data at measurement stations </dc:comment> + <dc:statement> + 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' + </dc:statement> + <dc:call-macro name="sedimentload_off_epoch_filter"> + <dc:call-macro name="loads"> + <dc:call-macro name="load"/> + </dc:call-macro> + </dc:call-macro> + </dc:context> + <dc:context> + <dc:comment> longitudinal sections </dc:comment> + <dc:statement> + 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' + </dc:statement> + <dc:call-macro name="sedimentload_off_epoch_filter"> + <dc:call-macro name="loads"> + <dc:call-macro name="load_ls"/> + </dc:call-macro> + </dc:call-macro> + </dc:context> + </dc:macro> + <!-- Common stuff --> <dc:macro name="km-filtered-wsts">
--- 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; }
--- 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<Load> loads) { + for (List<Value> 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<Load> loads, Integer sqRelationTimeInterval) { + + for (List<Value> 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> LOAD_TI_CMP = new Comparator<Load>() { + @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> LOAD_SQ_TI_CMP = new Comparator<Load>() { @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<Load> findLoads(double a, double b, Integer sqRelationTimeInterval) { + public Collection<Load> findLoads(double a, double b, final Integer sqRelationTimeInterval) { final TreeSet<Load> loads = new TreeSet<Load>(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<Load> 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<Load> findUniqueTiOfficialLoads(double a, double b) { + final TreeSet<Load> loads = new TreeSet<Load>(LOAD_TI_CMP); + + findStations(a, b, new Visitor() { + @Override + public void visit(Station station) { + station.allOfficialLoads(loads); } - } + }); return loads; }
--- 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);
--- 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 <Load> 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<Load> it = loads.iterator(); it.hasNext();) { + /* Skip epochs . */ + if (it.next().isEpoch()) { + it.remove(); + } + } } return buildDocument(loads);
--- 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[] {
--- 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;
--- 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) }); }
--- 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;
--- 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);
--- 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" })); } }
--- 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.
--- 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.
--- 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.
--- 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.
--- 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
--- 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<MeasurementStation> 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) {