Mercurial > dive4elements > river
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 : |