diff artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java @ 8541:c0334399625b

(issue1753) Add measurements to CSV export
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 13 Feb 2015 12:35:18 +0100
parents e4606eae8ea5
children 4eb1a3c71579
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java	Fri Feb 13 12:34:38 2015 +0100
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java	Fri Feb 13 12:35:18 2015 +0100
@@ -30,6 +30,7 @@
 import org.dive4elements.river.artifacts.model.CalculationResult;
 import org.dive4elements.river.artifacts.model.sq.SQFractionResult;
 import org.dive4elements.river.artifacts.model.sq.SQResult;
+import org.dive4elements.river.artifacts.model.sq.SQ;
 import org.dive4elements.river.artifacts.model.sq.SQRelationJRDataSource;
 import org.dive4elements.river.artifacts.model.Parameters;
 import org.dive4elements.river.artifacts.model.DateRange;
@@ -102,6 +103,15 @@
     public static final String INFO_PARAM_F =
         "export.sqrelation.csv.info.param.f";
 
+    public static final String INFO_Q =
+        "export.sqrelation.csv.info.q";
+
+    public static final String INFO_S_KG =
+        "export.sqrelation.csv.info.s_kg";
+
+    public static final String INFO_DATE =
+        "export.sqrelation.csv.info.date";
+
     public static final String CSV_PARAMETER =
         "export.sqrelation.csv.header.parameter";
 
@@ -147,6 +157,15 @@
     public static final String CSV_SD =
         "export.sqrelation.csv.header.sd";
 
+    public static final String CSV_S_KG =
+        "export.sqrelation.csv.header.s_kg";
+
+    public static final String CSV_Q =
+        "export.sqrelation.csv.header.q";
+
+    public static final String CSV_DATE =
+        "export.sqrelation.csv.header.date";
+
     public static final String PDF_TITLE=
         "export.sqrelation.pdf.title";
 
@@ -184,7 +203,10 @@
             msg(CSV_N_TOTAL),
             msg(CSV_N_OUTLIERS),
             msg(CSV_C_DUAN),
-            msg(CSV_C_FERGUSON)
+            msg(CSV_C_FERGUSON),
+            msg(CSV_S_KG),
+            msg(CSV_Q),
+            msg(CSV_DATE)
         });
     }
 
@@ -207,7 +229,10 @@
                 msg(INFO_PARAM_C),
                 msg(INFO_PARAM_D),
                 msg(INFO_PARAM_E),
-                msg(INFO_PARAM_F)
+                msg(INFO_PARAM_F),
+                msg(INFO_S_KG),
+                msg(INFO_Q),
+                msg(INFO_DATE)
             });
 
         writeCSVHeader(writer);
@@ -229,6 +254,8 @@
         NumberFormat fThreeFormatter = Formatter.getFormatter(context, 3, 3);
         NumberFormat fTwoFormatter = Formatter.getFormatter(context, 2, 2);
         NumberFormat fZeroFormatter = Formatter.getFormatter(context, 0, 0);
+        DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT,
+                Resources.getLocale(context.getMeta()));
 
         for (int i = 0; i < SQResult.NUMBER_FRACTIONS; ++i) {
             SQFractionResult fraction = result.getFraction(i);
@@ -256,19 +283,25 @@
             o  = String.valueOf(fraction.totalNumOutliers());
             t  = String.valueOf(fraction.numMeasurements());
 
-            retval.add(new String[] {
-                km,
-                name,
-                a,
-                b,
-                sd, // 4
-                max_q, // 5
-                r2, // 6
-                t, // 7
-                o, // 8
-                c_duan, // 9
-                c_ferguson // 10
-            });
+            for (SQ sq: fraction.getMeasurements()) {
+                retval.add(new String[] {
+                    km,
+                    name,
+                    a,
+                    b,
+                    sd, // 4
+                    max_q, // 5
+                    r2, // 6
+                    t, // 7
+                    o, // 8
+                    c_duan, // 9
+                    c_ferguson, // 10
+                    sqAFormatter.format(sq.getS()),
+                    fZeroFormatter.format(sq.getQ()),
+                    df.format(sq.getDate())
+                });
+            }
+
         }
         return retval;
     }

http://dive4elements.wald.intevation.org