Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/ATWriter.java @ 4942:04c68af45534
Merged.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 31 Jan 2013 16:00:21 +0100 |
parents | 450840751f1b 65059ad920c6 |
children | 7669747d22f2 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/ATWriter.java Thu Jan 31 14:45:38 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/ATWriter.java Thu Jan 31 16:00:21 2013 +0100 @@ -35,6 +35,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; @@ -109,7 +112,7 @@ } - protected static void printHeader( + protected static void printGaugeHeader( PrintWriter out, CallMeta callMeta, String river, @@ -121,12 +124,26 @@ DateFormat f = DateFormat.getDateInstance(); out.print(Resources.getMsg( callMeta, - I18N_AT_HEADER, - I18N_AT_HEADER, + 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 + ) { + DateFormat f = DateFormat.getDateInstance(); + out.print(Resources.getMsg( + callMeta, + I18N_AT_HEADER, + I18N_AT_HEADER, + new Object[] { river, km } )); + out.print("\r\n"); + } public void write( Writer writer, @@ -135,14 +152,20 @@ double km, String gName, BigDecimal datum, - Date date) + 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, gName, datum, date); + if (gName != null) { + printGaugeHeader(out, meta, river, km, gName, datum, date); + } + else { + printHeader(out, meta, river, km); + } double rest = (minW * 100.0) % 10.0; @@ -156,7 +179,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)); + out.printf(Locale.US, "%8d", (int)Math.round(w * scale)); } if (w < minW) {