comparison flys-artifacts/src/main/java/de/intevation/flys/exports/ReferenceCurveExporter.java @ 2310:ecb76933362f

Added PDF export to reference curve calculation. flys-artifacts/trunk@3988 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Thu, 09 Feb 2012 10:21:16 +0000
parents 6f4a1f513e89
children 6bbb8295fd64
comparison
equal deleted inserted replaced
2309:92640472e563 2310:ecb76933362f
4 import java.io.OutputStream; 4 import java.io.OutputStream;
5 import java.text.NumberFormat; 5 import java.text.NumberFormat;
6 import java.util.ArrayList; 6 import java.util.ArrayList;
7 import java.util.List; 7 import java.util.List;
8 8
9 /*
10 import java.util.Map; 9 import java.util.Map;
11 import java.util.HashMap; 10 import java.util.HashMap;
12 import java.util.Date; 11 import java.util.Date;
13 import java.text.DateFormat; 12 import java.text.DateFormat;
14 import java.util.Locale; 13 import java.util.Locale;
15 */
16 14
17 import org.w3c.dom.Document; 15 import org.w3c.dom.Document;
18 16
19 import org.apache.log4j.Logger; 17 import org.apache.log4j.Logger;
20 18
21 import au.com.bytecode.opencsv.CSVWriter; 19 import au.com.bytecode.opencsv.CSVWriter;
22 20
23 /*
24 import net.sf.jasperreports.engine.JasperExportManager; 21 import net.sf.jasperreports.engine.JasperExportManager;
25 import net.sf.jasperreports.engine.JasperFillManager; 22 import net.sf.jasperreports.engine.JasperFillManager;
26 import net.sf.jasperreports.engine.JasperPrint; 23 import net.sf.jasperreports.engine.JasperPrint;
27 import net.sf.jasperreports.engine.JRException; 24 import net.sf.jasperreports.engine.JRException;
28 */
29 import de.intevation.artifacts.CallContext; 25 import de.intevation.artifacts.CallContext;
30 /*
31 import de.intevation.artifacts.CallMeta; 26 import de.intevation.artifacts.CallMeta;
32 import de.intevation.artifacts.common.utils.Config; 27 import de.intevation.artifacts.common.utils.Config;
33 */
34 28
35 import de.intevation.flys.artifacts.FLYSArtifact; 29 import de.intevation.flys.artifacts.FLYSArtifact;
36 /*
37 import de.intevation.flys.artifacts.WINFOArtifact; 30 import de.intevation.flys.artifacts.WINFOArtifact;
38 */
39 31
40 import de.intevation.flys.artifacts.model.CalculationResult; 32 import de.intevation.flys.artifacts.model.CalculationResult;
41 import de.intevation.flys.artifacts.model.WWQQ; 33 import de.intevation.flys.artifacts.model.WWQQ;
42 import de.intevation.flys.artifacts.model.WKmsJRDataSource; 34 import de.intevation.flys.artifacts.model.WWQQJRDataSource;
43 /*
44 import de.intevation.flys.artifacts.resources.Resources; 35 import de.intevation.flys.artifacts.resources.Resources;
45 import de.intevation.flys.utils.Formatter; 36 import de.intevation.flys.utils.Formatter;
46 */
47 37
48 import de.intevation.flys.utils.FLYSUtils; 38 import de.intevation.flys.utils.FLYSUtils;
49 39
50 /** 40 /**
51 * (CSV)Exporter for Reference Curves. 41 * (CSV)Exporter for Reference Curves.
212 } 202 }
213 203
214 204
215 @Override 205 @Override
216 protected void writePDF(OutputStream out) { 206 protected void writePDF(OutputStream out) {
217 /* 207 WWQQJRDataSource source = createJRData();
218 WKmsJRDataSource source = createJRData();
219 208
220 String jasperFile = Resources.getMsg( 209 String jasperFile = Resources.getMsg(
221 context.getMeta(), 210 context.getMeta(),
222 JASPER_FILE, 211 JASPER_FILE,
223 "/jasper/wdifferences_en.jasper"); 212 "/jasper/reference_en.jasper");
224 String confPath = Config.getConfigDirectory().toString(); 213 String confPath = Config.getConfigDirectory().toString();
225 214
226 Map parameters = new HashMap(); 215 Map parameters = new HashMap();
227 parameters.put("ReportTitle", "Exported Data"); 216 parameters.put("ReportTitle", "Exported Data");
228 try { 217 try {
234 } 223 }
235 catch(JRException je) { 224 catch(JRException je) {
236 logger.warn("Error generating PDF Report!"); 225 logger.warn("Error generating PDF Report!");
237 je.printStackTrace(); 226 je.printStackTrace();
238 } 227 }
239 */ 228 }
240 logger.error("ReferenceCurveExporter: PDF export not implemented."); 229
241 } 230 protected WWQQJRDataSource createJRData() {
242 231 WWQQJRDataSource source = new WWQQJRDataSource();
243 protected WKmsJRDataSource createJRData() {
244 /*
245 WKmsJRDataSource source = new WKmsJRDataSource();
246 232
247 addMetaData(source); 233 addMetaData(source);
248 for (WKms[] tmp: data) { 234
249 for (WKms wkms: tmp) { 235 for (WWQQ[] tmp: data) {
250 addWKmsData(source, wkms); 236 for (WWQQ ww: tmp) {
237 addWWQQData(source, ww);
251 } 238 }
252 } 239 }
253 return source; 240 return source;
254 */ 241 }
255 return null; 242
256 } 243
257 244 protected void addMetaData(WWQQJRDataSource source) {
258
259 // TODO implement for pdf export.
260 /*
261 protected void addMetaData(WKmsJRDataSource source) {
262 CallMeta meta = context.getMeta(); 245 CallMeta meta = context.getMeta();
263 246
264 WINFOArtifact flys = (WINFOArtifact) master; 247 WINFOArtifact flys = (WINFOArtifact) master;
265 248
266 source.addMetaData ("river", FLYSUtils.getRivername(flys)); 249 source.addMetaData ("river", FLYSUtils.getRivername(flys));
267 250
268 Locale locale = Resources.getLocale(meta); 251 Locale locale = Resources.getLocale(meta);
269 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale); 252 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
270 253
271 source.addMetaData("date", df.format(new Date())); 254 source.addMetaData("date", df.format(new Date()));
272
273 String differences = FLYSUtils.getWDifferences(flys, context);
274 source.addMetaData("differences", differences);
275 255
276 source.addMetaData("calculation", Resources.getMsg( 256 source.addMetaData("calculation", Resources.getMsg(
277 locale, 257 locale,
278 PDF_HEADER_MODE, 258 PDF_HEADER_MODE,
279 "W Differences")); 259 "Reference Curve"));
280 } 260 }
281 261
282 protected void addWKmsData(WKmsJRDataSource source, WKms wkms) { 262
283 NumberFormat kmf = getKmFormatter(); 263 protected void addWWQQData(WWQQJRDataSource source, WWQQ ww) {
284 NumberFormat wf = getWFormatter(); 264 NumberFormat kmf = getKmFormatter();
285 int size = wkms.size(); 265 NumberFormat wf = getWFormatter();
286 266 NumberFormat qf = getQFormatter();
267
268 int size = ww.size();
269
270 FLYSArtifact flys = (FLYSArtifact) master;
271
272 String startLocationDescription = FLYSUtils.getLocationDescription(
273 flys, ww.getStartKm());
274
275 String endLocationDescription = FLYSUtils.getLocationDescription(
276 flys, ww.getEndKm());
277
278 // TODO missing 'relative' W(cm).
287 for (int i = 0; i < size; i ++) { 279 for (int i = 0; i < size; i ++) {
288
289 source.addData(new String[] { 280 source.addData(new String[] {
290 kmf.format(wkms.getKm(i)), 281 kmf.format(ww.getStartKm()),
291 wf.format(wkms.getW(i)) 282 startLocationDescription,
283 wf.format(ww.getW1(i)),
284 qf.format(ww.getQ1(i)), // "Q"
285 kmf.format(ww.getEndKm()),
286 endLocationDescription,
287 wf.format(ww.getW2(i)),
288 qf.format(ww.getQ2(i)) // "Q"
292 }); 289 });
293 } 290 }
294 } 291 }
295 */
296 } 292 }
297 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 293 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org