Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceExporter.java @ 7831:b4f806999173 minfo-opt
Added new columns for morph active width.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Fri, 28 Mar 2014 11:22:18 +0100 |
parents | e79e231c864d |
children | 57cb1b7ec547 |
comparison
equal
deleted
inserted
replaced
7830:d9791fa3c8ad | 7831:b4f806999173 |
---|---|
31 import org.dive4elements.river.artifacts.D4EArtifact; | 31 import org.dive4elements.river.artifacts.D4EArtifact; |
32 import org.dive4elements.river.artifacts.access.BedDifferencesAccess; | 32 import org.dive4elements.river.artifacts.access.BedDifferencesAccess; |
33 import org.dive4elements.artifacts.common.utils.Config; | 33 import org.dive4elements.artifacts.common.utils.Config; |
34 import org.dive4elements.river.artifacts.resources.Resources; | 34 import org.dive4elements.river.artifacts.resources.Resources; |
35 import org.dive4elements.river.artifacts.model.CalculationResult; | 35 import org.dive4elements.river.artifacts.model.CalculationResult; |
36 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult; | |
36 import org.dive4elements.river.artifacts.model.minfo.BedDifferencesResult; | 37 import org.dive4elements.river.artifacts.model.minfo.BedDifferencesResult; |
37 import org.dive4elements.river.artifacts.model.minfo.BedDifferenceJRDataSource; | 38 import org.dive4elements.river.artifacts.model.minfo.BedDifferenceJRDataSource; |
38 import org.dive4elements.river.exports.AbstractExporter; | 39 import org.dive4elements.river.exports.AbstractExporter; |
39 import org.dive4elements.river.utils.Formatter; | 40 import org.dive4elements.river.utils.Formatter; |
40 import org.dive4elements.river.utils.RiverUtils; | 41 import org.dive4elements.river.utils.RiverUtils; |
53 "export.minfo.beddifference.km"; | 54 "export.minfo.beddifference.km"; |
54 | 55 |
55 private static final String CSV_HEADER_DIFF = | 56 private static final String CSV_HEADER_DIFF = |
56 "export.minfo.beddifference.diff"; | 57 "export.minfo.beddifference.diff"; |
57 | 58 |
59 private static final String CSV_HEADER_MORPH1 = | |
60 "export.minfo.beddifference.morph1"; | |
61 | |
62 private static final String CSV_HEADER_MORPH2 = | |
63 "export.minfo.beddifference.morph2"; | |
64 | |
58 public static final String JASPER_FILE = | 65 public static final String JASPER_FILE = |
59 "export.minfo.beddifference.pdf.file"; | 66 "export.minfo.beddifference.pdf.file"; |
60 | 67 |
61 public static final String PDF_TITLE= | 68 public static final String PDF_TITLE= |
62 "export.minfo.beddifference.pdf.title"; | 69 "export.minfo.beddifference.pdf.title"; |
75 writeCSVHeader(writer); | 82 writeCSVHeader(writer); |
76 | 83 |
77 NumberFormat kmf = Formatter.getCalculationKm(context.getMeta()); | 84 NumberFormat kmf = Formatter.getCalculationKm(context.getMeta()); |
78 NumberFormat mf = Formatter.getMeterFormat(context); | 85 NumberFormat mf = Formatter.getMeterFormat(context); |
79 for (BedDifferencesResult result : results) { | 86 for (BedDifferencesResult result : results) { |
80 double[][] kms = result.getDifferencesData(); | 87 if (result instanceof BedDiffYearResult) { |
81 for (int j = 0; j < kms[0].length; j++) { | 88 BedDiffYearResult yResult = (BedDiffYearResult) result; |
82 writer.writeNext(new String[] { | 89 double[][] kms = yResult.getDifferencesData(); |
83 kmf.format(kms[0][j]), mf.format(kms[1][j])}); | 90 double[][] morph1 = yResult.getMorphWidth1Data(); |
91 double[][] morph2 = yResult.getMorphWidth2Data(); | |
92 for (int j = 0; j < kms[0].length; j++) { | |
93 writer.writeNext(new String[] { | |
94 kmf.format(kms[0][j]), | |
95 mf.format(kms[1][j]), | |
96 mf.format(morph1[1][j]), | |
97 mf.format(morph2[1][j])}); | |
98 } | |
99 } | |
100 else { | |
101 double[][] kms = result.getDifferencesData(); | |
102 for (int j = 0; j < kms[0].length; j++) { | |
103 writer.writeNext(new String[] { | |
104 kmf.format(kms[0][j]), | |
105 mf.format(kms[1][j])}); | |
106 } | |
84 } | 107 } |
85 } | 108 } |
86 } | 109 } |
87 | 110 |
88 @Override | 111 @Override |
134 | 157 |
135 List<String> header = new LinkedList<String>(); | 158 List<String> header = new LinkedList<String>(); |
136 if (results != null) { | 159 if (results != null) { |
137 header.add(msg(CSV_HEADER_KM, "km")); | 160 header.add(msg(CSV_HEADER_KM, "km")); |
138 header.add(msg(CSV_HEADER_DIFF, "m")); | 161 header.add(msg(CSV_HEADER_DIFF, "m")); |
162 if (results.length > 0 && | |
163 results[0] instanceof BedDiffYearResult) { | |
164 header.add(msg(CSV_HEADER_MORPH1, "morph width minuend [m]")); | |
165 header.add(msg(CSV_HEADER_MORPH2, "morph width subtrahend [m]")); | |
166 } | |
139 } | 167 } |
140 writer.writeNext(header.toArray(new String[header.size()])); | 168 writer.writeNext(header.toArray(new String[header.size()])); |
141 } | 169 } |
142 | 170 |
143 protected BedDifferenceJRDataSource createJRData() { | 171 protected BedDifferenceJRDataSource createJRData() { |