Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java @ 2087:bda04ae1154f
#196 Localized the WQ labels in CSV exports.
flys-artifacts/trunk@3609 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 06 Jan 2012 09:38:58 +0000 |
parents | 0cf60d64895c |
children | a4bdf7d8527e |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java Fri Jan 06 08:06:00 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java Fri Jan 06 09:38:58 2012 +0000 @@ -198,6 +198,53 @@ } + protected String getCSVRowTitle(WINFOArtifact winfo, WQKms wqkms) { + logger.debug("WaterlevelExporter.prepareNamedValue"); + + String name = wqkms.getName(); + + logger.debug("Name of WQKms = '" + name + "'"); + + WQ_MODE wqmode = FLYSUtils.getWQMode(winfo); + + if (wqmode == WQ_MODE.WFREE || wqmode == WQ_MODE.QGAUGE) { + return localizeWQKms(winfo, wqkms); + } + + Double v = wqkms.getRawValue(); + + String nmv = FLYSUtils.getNamedMainValue(winfo, v); + + if (nmv != null && nmv.length() > 0) { + nmv = FLYSUtils.stripNamedMainValue(nmv); + logger.debug("Set named main value '" + nmv + "'"); + + return nmv; + } + + return localizeWQKms(winfo, wqkms); + } + + + protected String localizeWQKms(WINFOArtifact winfo, WQKms wqkms) { + WQ_MODE wqmode = FLYSUtils.getWQMode(winfo); + Double rawValue = wqkms.getRawValue(); + + if (rawValue == null) { + return wqkms.getName(); + } + + NumberFormat nf = Formatter.getRawFormatter(context); + + if (wqmode == WQ_MODE.WFREE || wqmode == WQ_MODE.WGAUGE) { + return "W=" + nf.format(rawValue); + } + else { + return "Q=" + nf.format(rawValue); + } + } + + @Override protected void writeCSVData(CSVWriter writer) { logger.info("WaterlevelExporter.writeData"); @@ -383,7 +430,7 @@ double b = gauge.getRange().getB().doubleValue(); if (flys instanceof WINFOArtifact && isQ) { - desc = getColumnTitle((WINFOArtifact)flys, wqkms); + desc = getCSVRowTitle((WINFOArtifact)flys, wqkms); } else if (!isQ) { Double value = FLYSUtils.getValueFromWQ(wqkms);