# HG changeset patch # User Andre Heinecke # Date 1374155459 -7200 # Node ID b4fcc9308d00637d39b21e70434e4b75071c52c1 # Parent ddef735db96a606143aecc9813cce7a18a6810b2 Factor out description getting code from csv export and reuse for pdf Fixes issue1388 diff -r ddef735db96a -r b4fcc9308d00 artifacts/src/main/java/org/dive4elements/river/exports/WaterlevelExporter.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/WaterlevelExporter.java Thu Jul 18 15:22:45 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/WaterlevelExporter.java Thu Jul 18 15:50:59 2013 +0200 @@ -618,6 +618,32 @@ }); } + private String getDesc(WQKms wqkms, boolean isQ) + { + D4EArtifact flys = (D4EArtifact) master; + String colDesc = ""; + + if (flys instanceof WINFOArtifact && isQ) { + colDesc = getCSVRowTitle((WINFOArtifact)flys, wqkms); + } + else if (!isQ) { + Double value = RiverUtils.getValueFromWQ(wqkms); + colDesc = (value != null) ? + Formatter.getWaterlevelW(context).format(value) : null; + } + + if (flys instanceof WINFOArtifact) { + if (wqkms != null && wqkms.getRawValue() != null) { + WINFOArtifact winfo = (WINFOArtifact) flys; + colDesc = RiverUtils.getNamedMainValue(winfo, wqkms.getRawValue()); + // For 'W am Pegel' s + if (colDesc == null) { + colDesc = ((D4EArtifact)master).getDataAsString("wq_single"); + } + } + } + return colDesc == null ? "" : colDesc; + } /** * Write "rows" of csv data from wqkms with writer. @@ -650,35 +676,16 @@ String notinrange = msg( CSV_NOT_IN_GAUGE_RANGE, DEFAULT_CSV_NOT_IN_GAUGE_RANGE); + List segments = null; + boolean isFixRealize = false; double a = gauge.getRange().getA().doubleValue(); double b = gauge.getRange().getB().doubleValue(); - - if (flys instanceof WINFOArtifact && isQ) { - desc = getCSVRowTitle((WINFOArtifact)flys, wqkms); - } - else if (!isQ) { - Double value = RiverUtils.getValueFromWQ(wqkms); - desc = value != null - ? Formatter.getWaterlevelW(context).format(value) : null; - } - long startTime = System.currentTimeMillis(); - String colDesc = desc; - List segments = null; - boolean isFixRealize = false; - if (flys instanceof WINFOArtifact) { - if (wqkms != null && wqkms.getRawValue() != null) { - WINFOArtifact winfo = (WINFOArtifact) flys; - colDesc = RiverUtils.getNamedMainValue(winfo, wqkms.getRawValue()); - // For 'W am Pegel' s - if (colDesc == null) { - colDesc = ((D4EArtifact)master).getDataAsString("wq_single"); - } - } - } - else if (flys instanceof FixationArtifact) { + desc = getDesc(wqkms, isQ); + + if (flys instanceof FixationArtifact) { // Get W/Q input per gauge for this case. FixRealizingAccess fixAccess = new FixRealizingAccess(flys); segments = fixAccess.getSegments(); @@ -708,7 +715,7 @@ : findSegment(km, segments); if (found != null) { - colDesc = nf.format(found.getValues()[0]); + desc = nf.format(found.getValues()[0]); } lastSegment = found; } @@ -729,7 +736,7 @@ ? gaugeName : notinrange; } - writeRow6(writer, result, colDesc, flys, gaugeN); + writeRow6(writer, result, desc, flys, gaugeN); } } else { // Not at gauge. @@ -919,15 +926,7 @@ double a = gauge.getRange().getA().doubleValue(); double b = gauge.getRange().getB().doubleValue(); - if (flys instanceof WINFOArtifact && isQ) { - desc = getCSVRowTitle((WINFOArtifact)flys, wqkms); - } - else if (!isQ) { - Double value = RiverUtils.getValueFromWQ(wqkms); - desc = value != null - ? Formatter.getWaterlevelW(context).format(value) : null; - } - + desc = getDesc(wqkms, isQ); long startTime = System.currentTimeMillis(); for (int i = 0; i < size; i ++) {