Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java @ 232:3d6d89bcbf42
Added special Data-Selection to the ODV-Exports of TimeSeries on TimeSeriesPoints. issue68
gnv-artifacts/trunk@300 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Mon, 09 Nov 2009 08:55:01 +0000 |
parents | 34f233123a6f |
children | e964a3d8f7bc |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java Fri Nov 06 11:12:45 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/chart/VerticalProfileChartFactory.java Mon Nov 09 08:55:01 2009 +0000 @@ -212,7 +212,7 @@ protected XYSeries createXYSeries(String seriesName, Collection<Result> resultSet, int lUpperCut, int lLowerCut, int pStart, - int pEnd) throws TechnicalChartException { + int pEnd, double maxGap) throws TechnicalChartException { if (sDebug) sLogger.debug("createXYSeries()"); XYSeries series = new XYSeries(seriesName); @@ -262,16 +262,23 @@ int mEnd = 0; Iterator<Result> resultIterator = resultSet.iterator(); + Result firstRow = null, lastRow = null; + + double maxGap; if (resultIterator.hasNext()) { // Row row = new Row(sArrayStrLine); Result row = resultIterator.next(); - + + firstRow = row; + lastRow = row; + break1 = row.getString("GROUP1"); // 2 break2 = row.getString("GROUP2"); // 3 break3 = row.getString("GROUP3"); // 4 int i = 1; while (resultIterator.hasNext()) { row = resultIterator.next(); + if (!break1.equals(row.getString("GROUP1")) || !break2.equals(row.getString("GROUP2")) || !break3.equals(row.getString("GROUP3"))) { @@ -279,8 +286,12 @@ sLogger.debug("Neuer Datensatz " + seriesName + "von Datensätzen " + mStart + " / " + mEnd); + + maxGap = this.calculateMaxGap(firstRow, lastRow, mEnd-mStart); + xyDataset.addSeries(createXYSeries(seriesName, - resultSet, lUpperCut, lLowerCut, mStart, mEnd)); + resultSet, lUpperCut, lLowerCut, mStart, mEnd,maxGap)); + firstRow = row; mStart = i; break1 = row.getString("GROUP1"); @@ -288,6 +299,7 @@ break3 = row.getString("GROUP3"); // 4 } + lastRow = row; mEnd = i; // mEnd ++; i = i + 1; @@ -296,11 +308,13 @@ String seriesName = this.createSeriesName(parameters, measurements, dates, break1, break2, break3); sLogger.debug("Neuer Datensatz " + seriesName + "von Datensätzen " + mStart + " / " + mEnd); + + maxGap = this.calculateMaxGap(firstRow, lastRow, mEnd-mStart); xyDataset.addSeries(createXYSeries(seriesName, resultSet, - lUpperCut, lLowerCut, mStart, mEnd)); + lUpperCut, lLowerCut, mStart, mEnd,maxGap)); }else{ xyDataset.addSeries(createXYSeries("", - resultSet, lUpperCut, lLowerCut, mStart, mEnd)); + resultSet, lUpperCut, lLowerCut, mStart, mEnd,9999)); } } catch (Exception e) { sLogger.error(e.getMessage(), e); @@ -308,6 +322,15 @@ } return xyDataset; } + + + protected double calculateMaxGap(Result firstRow, Result lastRow, int numResults){ + + double firstValue = firstRow.getDouble("YORDINATE"); + // TODO Implement me. Hier ist die zentrale Frage wie wir zwischen Netzen und + // anderen Datenquellen unterscheiden. + return 0; + } /** * @param parameters