comparison gnv-artifacts/src/main/java/de/intevation/gnv/state/timeseries/TimeSeriesOutputState.java @ 481:20dde2b6f1b5

Added end of life support for artifact states. Implemented ZIP download for "Horizontalschnitte". Laid some tracks for WMS (un-)publishing. gnv-artifacts/trunk@554 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 17 Jan 2010 16:34:11 +0000
parents 211cad2fb5ba
children 79e80c289018
comparison
equal deleted inserted replaced
480:211cad2fb5ba 481:20dde2b6f1b5
66 import java.util.Iterator; 66 import java.util.Iterator;
67 import java.util.List; 67 import java.util.List;
68 import java.util.Locale; 68 import java.util.Locale;
69 import java.util.Vector; 69 import java.util.Vector;
70 70
71 import javax.xml.transform.Transformer;
72 import javax.xml.transform.TransformerConfigurationException;
73 import javax.xml.transform.TransformerException;
74 import javax.xml.transform.TransformerFactory;
75 import javax.xml.transform.TransformerFactoryConfigurationError;
76
77 import javax.xml.transform.dom.DOMSource;
78
79 import javax.xml.transform.stream.StreamResult;
80
81 import org.apache.log4j.Logger; 71 import org.apache.log4j.Logger;
82 72
83 import org.jfree.chart.ChartTheme; 73 import org.jfree.chart.ChartTheme;
84 74
85 import org.w3c.dom.Document; 75 import org.w3c.dom.Document;
87 import org.w3c.dom.Node; 77 import org.w3c.dom.Node;
88 import org.w3c.dom.NodeList; 78 import org.w3c.dom.NodeList;
89 79
90 80
91 /** 81 /**
92 * @author Tim Englich <tim.englich@intevation.de> 82 * @author Tim Englich (tim.englich@intevation.de)
93 * 83 * @author Ingo Weinzierl (ingo.weinzierl@intevation.de)
94 */ 84 */
95 public class TimeSeriesOutputState extends OutputStateBase { 85 public class TimeSeriesOutputState extends OutputStateBase {
96 86
97 protected static final boolean CACHE_CHART = 87 protected static final boolean CACHE_CHART =
98 Boolean.parseBoolean(System.getProperty("cache.chart", "false")); 88 Boolean.parseBoolean(System.getProperty("cache.chart", "false"));
406 statistics = new ArrayList<StatisticSet>(); 396 statistics = new ArrayList<StatisticSet>();
407 } 397 }
408 398
409 Document doc = writeStatistics2XML(statistics); 399 Document doc = writeStatistics2XML(statistics);
410 400
411 writeDocument2OutputStream(doc, outputStream); 401 XMLUtils.toStream(doc, outputStream);
412 402
413 } else if (outputMode.equalsIgnoreCase("odv")) { 403 } else if (outputMode.equalsIgnoreCase("odv")) {
414 404
415 Collection<Result> odvResult = this.getODVResult(uuid); 405 Collection<Result> odvResult = this.getODVResult(uuid);
416 this.createODV(outputStream, odvResult); 406 this.createODV(outputStream, odvResult);
515 * @return 505 * @return
516 */ 506 */
517 protected Statistics getStatisticsGenerator() { 507 protected Statistics getStatisticsGenerator() {
518 Statistics s = new TimeseriesStatistics(); 508 Statistics s = new TimeseriesStatistics();
519 return s; 509 return s;
520 }
521
522 protected void writeDocument2OutputStream(Document document, OutputStream os) {
523
524 try {
525 TransformerFactory transformerFactory = TransformerFactory
526 .newInstance();
527 Transformer transformer = transformerFactory.newTransformer();
528 DOMSource source = new DOMSource(document);
529 StreamResult result = new StreamResult(os);
530 transformer.transform(source, result);
531 } catch (TransformerConfigurationException e) {
532 log.error(e, e);
533 } catch (TransformerFactoryConfigurationError e) {
534 log.error(e, e);
535 } catch (TransformerException e) {
536 log.error(e, e);
537 }
538 } 510 }
539 511
540 protected Document writeStatistics2XML( Collection<StatisticSet> statistic) { 512 protected Document writeStatistics2XML( Collection<StatisticSet> statistic) {
541 ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities(); 513 ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities();
542 Document doc = XMLUtils.newDocument(); 514 Document doc = XMLUtils.newDocument();
687 chart.generateChart(), 659 chart.generateChart(),
688 "A4", 660 "A4",
689 PDF_FORMAT_LANDSCAPE, 661 PDF_FORMAT_LANDSCAPE,
690 50F, 50F, 50F, 50F 662 50F, 50F, 50F, 50F
691 ); 663 );
692
693 /* XXX: @Ingo: What's this? Looks like dev test remains.
694 try {
695 OutputStream toFile = new FileOutputStream("/vol1/home/iweinzierl/tmp/test.svg");
696 ChartExportHelper.exportSVG(
697 toFile,
698 chart.generateChart(),
699 null,
700 600, 400
701 );
702 toFile.flush();
703 toFile.close();
704 }
705 catch(Exception e) { log.debug("ERROR WHLILE TEST."); }
706 */
707 } 664 }
708 665
709 666
710 protected void createSVG( 667 protected void createSVG(
711 OutputStream outputStream, 668 OutputStream outputStream,

http://dive4elements.wald.intevation.org