comparison artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceExporter.java @ 7915:931dffefc3dd

flys/issue1628: Adjusted the PDF export.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 04 Jun 2014 15:34:22 +0200
parents db1a2b14c32d
children c0843a658474
comparison
equal deleted inserted replaced
7914:db1a2b14c32d 7915:931dffefc3dd
28 import net.sf.jasperreports.engine.JRException; 28 import net.sf.jasperreports.engine.JRException;
29 29
30 import org.dive4elements.artifacts.CallMeta; 30 import org.dive4elements.artifacts.CallMeta;
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.river.artifacts.access.RiverAccess;
33 import org.dive4elements.artifacts.common.utils.Config; 34 import org.dive4elements.artifacts.common.utils.Config;
34 import org.dive4elements.river.artifacts.resources.Resources; 35 import org.dive4elements.river.artifacts.resources.Resources;
35 import org.dive4elements.river.artifacts.model.CalculationResult; 36 import org.dive4elements.river.artifacts.model.CalculationResult;
36 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult; 37 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult;
37 import org.dive4elements.river.artifacts.model.minfo.BedDifferencesResult; 38 import org.dive4elements.river.artifacts.model.minfo.BedDifferencesResult;
38 import org.dive4elements.river.artifacts.model.minfo.BedDifferenceJRDataSource; 39 import org.dive4elements.river.artifacts.model.minfo.BedDifferenceJRDataSource;
39 import org.dive4elements.river.exports.AbstractExporter; 40 import org.dive4elements.river.exports.AbstractExporter;
40 import org.dive4elements.river.utils.Formatter; 41 import org.dive4elements.river.utils.Formatter;
41 import org.dive4elements.river.utils.RiverUtils;
42 42
43 import au.com.bytecode.opencsv.CSVWriter; 43 import au.com.bytecode.opencsv.CSVWriter;
44 44
45 public class BedDifferenceExporter 45 public class BedDifferenceExporter
46 extends AbstractExporter 46 extends AbstractExporter
135 protected void addMetaData(BedDifferenceJRDataSource source) { 135 protected void addMetaData(BedDifferenceJRDataSource source) {
136 CallMeta meta = context.getMeta(); 136 CallMeta meta = context.getMeta();
137 137
138 D4EArtifact arti = (D4EArtifact) master; 138 D4EArtifact arti = (D4EArtifact) master;
139 139
140 source.addMetaData ("river", RiverUtils.getRivername(arti)); 140 //source.addMetaData ("river", RiverUtils.getRivername(arti));
141 source.addMetaData ("river", new RiverAccess(arti).getRiverName());
141 142
142 Locale locale = Resources.getLocale(meta); 143 Locale locale = Resources.getLocale(meta);
143 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); 144 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
144 145
145 source.addMetaData("date", df.format(new Date())); 146 source.addMetaData("date", df.format(new Date()));
158 159
159 source.addMetaData("differences", StringUtils.join( 160 source.addMetaData("differences", StringUtils.join(
160 access.getDifferenceArtifactNamePairs(), "\n")); 161 access.getDifferenceArtifactNamePairs(), "\n"));
161 162
162 source.addMetaData("unit", msg(CSV_HEADER_DIFF, "cm")); 163 source.addMetaData("unit", msg(CSV_HEADER_DIFF, "cm"));
164 source.addMetaData("diffpairheader",
165 msg(CSV_HEADER_DIFF_PAIR, "Difference pair"));
163 } 166 }
164 167
165 168
166 protected void writeCSVHeader(CSVWriter writer) { 169 protected void writeCSVHeader(CSVWriter writer) {
167 logger.debug("writeCSVHeader()"); 170 logger.debug("writeCSVHeader()");
186 addMetaData(source); 189 addMetaData(source);
187 NumberFormat kmf = Formatter.getCalculationKm(context.getMeta()); 190 NumberFormat kmf = Formatter.getCalculationKm(context.getMeta());
188 NumberFormat mf = Formatter.getMeterFormat(context); 191 NumberFormat mf = Formatter.getMeterFormat(context);
189 for (BedDifferencesResult result: results) { 192 for (BedDifferencesResult result: results) {
190 double[][] kms = result.getDifferencesData(); 193 double[][] kms = result.getDifferencesData();
194 String desc = result.getDiffDescription();
191 for (int j = 0; j < kms[0].length; j++) { 195 for (int j = 0; j < kms[0].length; j++) {
192 source.addData(new String[] { 196 source.addData(new String[] {
193 kmf.format(kms[0][j]), mf.format(kms[1][j])}); 197 kmf.format(kms[0][j]),
198 mf.format(kms[1][j]),
199 desc });
194 } 200 }
195 } 201 }
196 return source; 202 return source;
197 } 203 }
198 204
206 JASPER_FILE, 212 JASPER_FILE,
207 "/jasper/beddifference_en.jasper"); 213 "/jasper/beddifference_en.jasper");
208 String confPath = Config.getConfigDirectory().toString(); 214 String confPath = Config.getConfigDirectory().toString();
209 215
210 216
211 Map parameters = new HashMap(); 217 Map<String, Object> parameters = new HashMap<String, Object>();
212 parameters.put("ReportTitle", Resources.getMsg( 218 parameters.put("ReportTitle", Resources.getMsg(
213 context.getMeta(), PDF_TITLE, "Exported Data")); 219 context.getMeta(), PDF_TITLE, "Exported Data"));
214 try { 220 try {
215 JasperPrint print = JasperFillManager.fillReport( 221 JasperPrint print = JasperFillManager.fillReport(
216 confPath + jasperFile, 222 confPath + jasperFile,

http://dive4elements.wald.intevation.org