Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/ATWriter.java @ 5086:4f65d833680f dami
Merge Default onto Dami branch.
Dami is now temporarily a public merge branch to fix problems
created by the merge.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Mon, 25 Feb 2013 11:50:13 +0100 |
parents | 7669747d22f2 |
children | a929d9a9fa1e |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/ATWriter.java Mon Feb 25 11:46:36 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/ATWriter.java Mon Feb 25 11:50:13 2013 +0100 @@ -3,7 +3,10 @@ import java.io.IOException; import java.io.Writer; import java.io.PrintWriter; +import java.math.BigDecimal; +import java.text.DateFormat; +import java.util.Date; import java.util.Locale; import de.intevation.artifacts.CallMeta; @@ -31,6 +34,9 @@ public static final String I18N_AT_HEADER = "export.discharge.curve.at.header"; + public static final String I18N_AT_GAUGE_HEADER = + "export.discharge.curve.at.gauge.header"; + public static final String EMPTY = " "; protected double minW; @@ -105,28 +111,59 @@ } + protected static void printGaugeHeader( + PrintWriter out, + CallMeta callMeta, + String river, + double km, + String gName, + BigDecimal datum, + Date date + ) { + DateFormat f = DateFormat.getDateInstance(); + out.print(Resources.getMsg( + callMeta, + I18N_AT_GAUGE_HEADER, + I18N_AT_GAUGE_HEADER, + new Object[] { river, gName, f.format(date), datum } )); + out.print("\r\n"); + } + protected static void printHeader( PrintWriter out, CallMeta callMeta, String river, double km ) { - out.println(Resources.getMsg( + out.print(Resources.getMsg( callMeta, I18N_AT_HEADER, I18N_AT_HEADER, new Object[] { river, km } )); + out.print("\r\n"); } - - public void write(Writer writer, CallMeta meta, String river, double km) + public void write( + Writer writer, + CallMeta meta, + String river, + double km, + String gName, + BigDecimal datum, + Date date, + double scale) throws IOException { PrintWriter out = new PrintWriter(writer); // a header is required, because the desktop version of FLYS will skip // the first row. - printHeader(out, meta, river, km); + if (gName != null) { + printGaugeHeader(out, meta, river, km, gName, datum, date); + } + else { + printHeader(out, meta, river, km); + } double rest = (minW * 100.0) % 10.0; @@ -140,7 +177,7 @@ int col = 0; for (double w = startW; w <= maxW; w += 0.01) { if (col == 0) { - out.printf(Locale.US, "%8d", (int)Math.round(w*100.0)); + out.printf(Locale.US, "%8d", (int)Math.round(w * scale)); } if (w < minW) { @@ -151,13 +188,13 @@ } if (++col >= COLUMNS) { - out.println(); + out.print("\r\n"); col = 0; } } if (col > 0) { - out.println(); + out.print("\r\n"); } out.flush();