Mercurial > dive4elements > gnv-client
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, |