comparison gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java @ 86:5d4f5d26bb7a

Some Codecleanup done gnv-artifacts/trunk@123 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Thu, 24 Sep 2009 09:39:27 +0000
parents 5eb62df21f9a
children 6bdef6e590d6
comparison
equal deleted inserted replaced
85:dbd141c6bb97 86:5d4f5d26bb7a
3 */ 3 */
4 package de.intevation.gnv.transition.timeseries; 4 package de.intevation.gnv.transition.timeseries;
5 5
6 import java.awt.Color; 6 import java.awt.Color;
7 import java.awt.Dimension; 7 import java.awt.Dimension;
8 import java.io.ByteArrayOutputStream;
9 import java.io.IOException; 8 import java.io.IOException;
10 import java.io.OutputStream; 9 import java.io.OutputStream;
11 import java.util.Collection; 10 import java.util.Collection;
12 import java.util.Iterator; 11 import java.util.Iterator;
13 12
26 /** 25 /**
27 * @author Tim Englich <tim.englich@intevation.de> 26 * @author Tim Englich <tim.englich@intevation.de>
28 * 27 *
29 */ 28 */
30 public class TimeSeriesOutputTransition extends OutputTransitionBase{ 29 public class TimeSeriesOutputTransition extends OutputTransitionBase{
30
31 /**
32 * The UID of this Class
33 */
34 private static final long serialVersionUID = 4178407570503098858L;
31 35
32 protected Collection<Result> chartResult = null;
33 /** 36 /**
34 * the logger, used to log exceptions and additonaly information 37 * the logger, used to log exceptions and additonaly information
35 */ 38 */
36 private static Logger log = Logger.getLogger(TimeSeriesOutputTransition.class); 39 private static Logger log = Logger.getLogger(TimeSeriesOutputTransition.class);
40
41 protected String domainLable = "Zeit [UTC]";
42
37 /** 43 /**
38 * Constructor 44 * Constructor
39 */ 45 */
40 public TimeSeriesOutputTransition() { 46 public TimeSeriesOutputTransition() {
41 super(); 47 super();
52 * @see de.intevation.gnv.transition.OutputTransition#out(java.lang.String, java.io.OutputStream) 58 * @see de.intevation.gnv.transition.OutputTransition#out(java.lang.String, java.io.OutputStream)
53 */ 59 */
54 public void out(String outputMode, OutputStream outputStream) throws TransitionException { 60 public void out(String outputMode, OutputStream outputStream) throws TransitionException {
55 log.debug("TimeSeriesOutputTransition"); 61 log.debug("TimeSeriesOutputTransition");
56 try { 62 try {
57 this.advance(); // TODO nur neu holen wenn hash auf chartResult sich ge�ndert hat 63 this.advance();
58
59
60 Collection<KeyValueDescibeData> parameters = this.getParameters(); 64 Collection<KeyValueDescibeData> parameters = this.getParameters();
61 Collection<KeyValueDescibeData> measurements = this.getMeasurements(); 65 Collection<KeyValueDescibeData> measurements = this.getMeasurements();
62 String timeSeriesName = "BLA";
63 ChartStyle chartStyle = this.creatStyle(600,400); 66 ChartStyle chartStyle = this.creatStyle(600,400);
64 StringBuffer lDiagramTitle = new StringBuffer(); 67 ChartLabels chartLables = new ChartLabels(this.getSelectedFeatureName(),this.domainLable);
65 lDiagramTitle.append(/*mSelectedFis.getTitle()*/ "FIS-TITLE").append(" - ").append(/*mSelectedFeatureId[0].getTitle()*/"FeatureTitle"); // TODO: FIXME 68 this.createChart(outputStream, parameters, measurements,
66 String domainLable = "BLA"; // TODO woher bekommen wir das
67 ChartLabels chartLables = new ChartLabels(lDiagramTitle.toString(),domainLable , /*mSelectedParams[0].getTitle()*/ "Selected Params Title");
68 createChart(outputStream, parameters, measurements, timeSeriesName,
69 chartStyle, chartLables); 69 chartStyle, chartLables);
70 } catch (IOException e) { 70 } catch (IOException e) {
71 log.error(e,e); 71 log.error(e,e);
72 throw new TransitionException(e); 72 throw new TransitionException(e);
73 } catch (TechnicalChartException e) { 73 } catch (TechnicalChartException e) {
74 log.error(e,e); 74 log.error(e,e);
75 throw new TransitionException(e); 75 throw new TransitionException(e);
76 } 76 }
77 } 77 }
78 78
79 /** 79
80 * @param outputStream 80 protected String getSelectedFeatureName(){
81 * @param parameters 81 String collectionName = "featureid"; // TODO: Konfigurierbar machen
82 * @param measurements 82 Collection<KeyValueDescibeData> values = this.getCollection(collectionName);
83 * @param timeSeriesName 83 if (values != null){
84 * @param chartStyle 84 Iterator<KeyValueDescibeData> it = values.iterator();
85 * @param chartLables 85 while(it.hasNext()){
86 * @throws IOException 86 KeyValueDescibeData data = it.next();
87 * @throws TechnicalChartException 87 if (data.isSelected()){
88 */ 88 return data.getValue();
89 protected void createChart(OutputStream outputStream, 89 }
90 Collection<KeyValueDescibeData> parameters, 90 }
91 Collection<KeyValueDescibeData> measurements, String timeSeriesName, 91 }
92 ChartStyle chartStyle, ChartLabels chartLables) throws IOException, 92 return null;
93 TechnicalChartException { 93 }
94 ChartFactory chartFactory = new ChartFactory(); 94 /**
95 chartFactory.createSimpleTimeSeriesChart(chartLables, chartStyle, timeSeriesName, 95 * @param outputStream
96 parameters, measurements, 96 * @param parameters
97 outputStream, this.chartResult); 97 * @param measurements
98 } 98 * @param timeSeriesName
99 * @param chartStyle
100 * @param chartLables
101 * @throws IOException
102 * @throws TechnicalChartException
103 */
104 protected void createChart(OutputStream outputStream,
105 Collection<KeyValueDescibeData> parameters,
106 Collection<KeyValueDescibeData> measurements,
107 ChartStyle chartStyle, ChartLabels chartLables) throws IOException,
108 TechnicalChartException {
109 ChartFactory chartFactory = new ChartFactory();
110 chartFactory.createSimpleTimeSeriesChart(chartLables, chartStyle,
111 parameters, measurements,
112 outputStream, this.chartResult);
113 }
99 114
100 /** 115 /**
101 * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection) 116 * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection)
102 */ 117 */
103 @Override 118 @Override
111 Dimension lChartSize = new Dimension(witdh, height); 126 Dimension lChartSize = new Dimension(witdh, height);
112 return new ChartStyle(Color.white, new Color(230, 230, 230), Color.white, Color.white, true, true, lInsets, lChartSize); 127 return new ChartStyle(Color.white, new Color(230, 230, 230), Color.white, Color.white, true, true, lInsets, lChartSize);
113 } 128 }
114 129
115 protected Collection<KeyValueDescibeData> getParameters(){ 130 protected Collection<KeyValueDescibeData> getParameters(){
116 String collectionName = "parameterid"; 131 String collectionName = "parameterid"; // TODO: Konfigurierbar machen
117 return this.getCollection(collectionName); 132 return this.getCollection(collectionName);
118 } 133 }
119 134
120 protected Collection<KeyValueDescibeData> getMeasurements(){ 135 protected Collection<KeyValueDescibeData> getMeasurements(){
121 String collectionName = "measurementid"; 136 String collectionName = "measurementid"; // TODO: Konfigurierbar machen
122 return this.getCollection(collectionName); 137 return this.getCollection(collectionName);
123 } 138 }
124 139
125 /** 140 /**
126 * @param collectionName 141 * @param collectionName
133 148
134 Object o = it.next(); 149 Object o = it.next();
135 150
136 if (o instanceof NamedCollection<?>){ 151 if (o instanceof NamedCollection<?>){
137 NamedCollection<KeyValueDescibeData> nc = (NamedCollection<KeyValueDescibeData>)o; 152 NamedCollection<KeyValueDescibeData> nc = (NamedCollection<KeyValueDescibeData>)o;
138 if (nc.getName().equals(collectionName)){ // TODO: konfigurierbar machen. 153 if (nc.getName().equals(collectionName)){
139 return nc; 154 return nc;
140 } 155 }
141 } 156 }
142 } 157 }
143 return null; 158 return null;

http://dive4elements.wald.intevation.org