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) {

http://dive4elements.wald.intevation.org