Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java @ 2065:2f5628f0de0e
Part 2 of #125: add gaugename and Q description based on the selected WQ mode.
flys-artifacts/trunk@3559 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 02 Jan 2012 09:46:39 +0000 |
parents | 97a25b54eea3 |
children | 2b6a0de47379 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java Mon Jan 02 08:51:45 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/WaterlevelExporter.java Mon Jan 02 09:46:39 2012 +0000 @@ -28,6 +28,7 @@ import de.intevation.flys.artifacts.resources.Resources; import de.intevation.flys.utils.FLYSUtils; +import de.intevation.flys.utils.FLYSUtils.WQ_MODE; import de.intevation.flys.utils.Formatter; @@ -190,12 +191,15 @@ protected void writeCSVData(CSVWriter writer) { logger.info("WaterlevelExporter.writeData"); + WQ_MODE mode = FLYSUtils.getWQMode((FLYSArtifact)master); + boolean atGauge = mode == WQ_MODE.QGAUGE || mode == WQ_MODE.WGAUGE; + writeCSVMeta(writer); - writeCSVHeader(writer); + writeCSVHeader(writer, atGauge); for (WQKms[] tmp: data) { for (WQKms wqkms: tmp) { - wQKms2CSV(writer, wqkms); + wQKms2CSV(writer, wqkms, atGauge); } } } @@ -310,21 +314,31 @@ } - protected void writeCSVHeader(CSVWriter writer) { + protected void writeCSVHeader(CSVWriter writer, boolean atGauge) { logger.info("WaterlevelExporter.writeCSVHeader"); - writer.writeNext(new String[] { - msg(CSV_KM_HEADER, DEFAULT_CSV_KM_HEADER), - msg(CSV_W_HEADER, DEFAULT_CSV_W_HEADER), - msg(CSV_Q_HEADER, DEFAULT_CSV_Q_HEADER), - msg(CSV_Q_DESC_HEADER, DEFAULT_CSV_Q_DESC_HEADER), - msg(CSV_LOCATION_HEADER, DEFAULT_CSV_LOCATION_HEADER), - msg(CSV_GAUGE_HEADER, DEFAULT_CSV_GAUGE_HEADER) - }); + if (atGauge) { + writer.writeNext(new String[] { + msg(CSV_KM_HEADER, DEFAULT_CSV_KM_HEADER), + msg(CSV_W_HEADER, DEFAULT_CSV_W_HEADER), + msg(CSV_Q_HEADER, DEFAULT_CSV_Q_HEADER), + msg(CSV_Q_DESC_HEADER, DEFAULT_CSV_Q_DESC_HEADER), + msg(CSV_LOCATION_HEADER, DEFAULT_CSV_LOCATION_HEADER), + msg(CSV_GAUGE_HEADER, DEFAULT_CSV_GAUGE_HEADER) + }); + } + else { + writer.writeNext(new String[] { + msg(CSV_KM_HEADER, DEFAULT_CSV_KM_HEADER), + msg(CSV_W_HEADER, DEFAULT_CSV_W_HEADER), + msg(CSV_Q_HEADER, DEFAULT_CSV_Q_HEADER), + msg(CSV_LOCATION_HEADER, DEFAULT_CSV_LOCATION_HEADER) + }); + } } - protected void wQKms2CSV(CSVWriter writer, WQKms wqkms) { + protected void wQKms2CSV(CSVWriter writer, WQKms wqkms, boolean atGauge) { logger.debug("WaterlevelExporter.wQKms2CSV"); NumberFormat kmf = getKmFormatter(); @@ -334,19 +348,35 @@ int size = wqkms.size(); double[] result = new double[3]; - FLYSArtifact flys = (FLYSArtifact) master; + FLYSArtifact flys = (FLYSArtifact) master; + String gauge = FLYSUtils.getGaugename(flys); + String desc = ""; + + if (flys instanceof WINFOArtifact) { + desc = getColumnTitle((WINFOArtifact)flys, wqkms); + } for (int i = 0; i < size; i ++) { result = wqkms.get(i, result); - writer.writeNext(new String[] { - kmf.format(result[2]), - wf.format(result[0]), - qf.format(result[1]), - "", // Bezeichnung - FLYSUtils.getLocationDescription(flys, result[2]), - "" // Bezugspegel - }); + if (atGauge) { + writer.writeNext(new String[] { + kmf.format(result[2]), + wf.format(result[0]), + qf.format(result[1]), + desc, + FLYSUtils.getLocationDescription(flys, result[2]), + gauge + }); + } + else { + writer.writeNext(new String[] { + kmf.format(result[2]), + wf.format(result[0]), + qf.format(result[1]), + FLYSUtils.getLocationDescription(flys, result[2]) + }); + } } }