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