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

Added Support for Vertical Profiles Marnet, STAUN, IMIS gnv-artifacts/trunk@111 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Tue, 22 Sep 2009 13:20:30 +0000
parents 9b41f3688610
children 5d4f5d26bb7a
comparison
equal deleted inserted replaced
81:9b41f3688610 82:5eb62df21f9a
53 */ 53 */
54 public void out(String outputMode, OutputStream outputStream) throws TransitionException { 54 public void out(String outputMode, OutputStream outputStream) throws TransitionException {
55 log.debug("TimeSeriesOutputTransition"); 55 log.debug("TimeSeriesOutputTransition");
56 try { 56 try {
57 this.advance(); // TODO nur neu holen wenn hash auf chartResult sich ge�ndert hat 57 this.advance(); // TODO nur neu holen wenn hash auf chartResult sich ge�ndert hat
58 ChartFactory chartFactory = new ChartFactory(); 58
59 59
60 Collection<KeyValueDescibeData> parameters = this.getParameters(); 60 Collection<KeyValueDescibeData> parameters = this.getParameters();
61 Collection<KeyValueDescibeData> measurements = this.getMeasurements(); 61 Collection<KeyValueDescibeData> measurements = this.getMeasurements();
62 String timeSeriesName = "BLA"; 62 String timeSeriesName = "BLA";
63 ChartStyle chartStyle = this.creatStyle(600,400); 63 ChartStyle chartStyle = this.creatStyle(600,400);
64 StringBuffer lDiagramTitle = new StringBuffer(); 64 StringBuffer lDiagramTitle = new StringBuffer();
65 lDiagramTitle.append(/*mSelectedFis.getTitle()*/ "FIS-TITLE").append(" - ").append(/*mSelectedFeatureId[0].getTitle()*/"FeatureTitle"); // TODO: FIXME 65 lDiagramTitle.append(/*mSelectedFis.getTitle()*/ "FIS-TITLE").append(" - ").append(/*mSelectedFeatureId[0].getTitle()*/"FeatureTitle"); // TODO: FIXME
66 String domainLable = "BLA"; // TODO woher bekommen wir das 66 String domainLable = "BLA"; // TODO woher bekommen wir das
67 ChartLabels chartLables = new ChartLabels(lDiagramTitle.toString(),domainLable , /*mSelectedParams[0].getTitle()*/ "Selected Params Title"); 67 ChartLabels chartLables = new ChartLabels(lDiagramTitle.toString(),domainLable , /*mSelectedParams[0].getTitle()*/ "Selected Params Title");
68 chartFactory.createSimpleTimeSeriesChart(chartLables, chartStyle, timeSeriesName, 68 createChart(outputStream, parameters, measurements, timeSeriesName,
69 parameters, measurements, 69 chartStyle, chartLables);
70 outputStream, this.chartResult);
71 } catch (IOException e) { 70 } catch (IOException e) {
72 log.error(e,e); 71 log.error(e,e);
73 throw new TransitionException(e); 72 throw new TransitionException(e);
74 } catch (TechnicalChartException e) { 73 } catch (TechnicalChartException e) {
75 log.error(e,e); 74 log.error(e,e);
76 throw new TransitionException(e); 75 throw new TransitionException(e);
77 } 76 }
78 } 77 }
78
79 /**
80 * @param outputStream
81 * @param parameters
82 * @param measurements
83 * @param timeSeriesName
84 * @param chartStyle
85 * @param chartLables
86 * @throws IOException
87 * @throws TechnicalChartException
88 */
89 protected void createChart(OutputStream outputStream,
90 Collection<KeyValueDescibeData> parameters,
91 Collection<KeyValueDescibeData> measurements, String timeSeriesName,
92 ChartStyle chartStyle, ChartLabels chartLables) throws IOException,
93 TechnicalChartException {
94 ChartFactory chartFactory = new ChartFactory();
95 chartFactory.createSimpleTimeSeriesChart(chartLables, chartStyle, timeSeriesName,
96 parameters, measurements,
97 outputStream, this.chartResult);
98 }
79 99
80 /** 100 /**
81 * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection) 101 * @see de.intevation.gnv.transition.TransitionBase#purifyResult(java.util.Collection)
82 */ 102 */
83 @Override 103 @Override
91 Dimension lChartSize = new Dimension(witdh, height); 111 Dimension lChartSize = new Dimension(witdh, height);
92 return new ChartStyle(Color.white, new Color(230, 230, 230), Color.white, Color.white, true, true, lInsets, lChartSize); 112 return new ChartStyle(Color.white, new Color(230, 230, 230), Color.white, Color.white, true, true, lInsets, lChartSize);
93 } 113 }
94 114
95 protected Collection<KeyValueDescibeData> getParameters(){ 115 protected Collection<KeyValueDescibeData> getParameters(){
96 Iterator<Object> it = this.descibeData.iterator(); 116 String collectionName = "parameterid";
97 117 return this.getCollection(collectionName);
98 while (it.hasNext()){
99
100 Object o = it.next();
101 if (o instanceof NamedCollection<?>){
102 NamedCollection<KeyValueDescibeData> nc = (NamedCollection<KeyValueDescibeData>)o;
103 if (nc.getName().equals("parameterid")){ // TODO: konfigurierbar machen.
104 return nc;
105 }
106 }
107 }
108 return null;
109 } 118 }
110 119
111 protected Collection<KeyValueDescibeData> getMeasurements(){ 120 protected Collection<KeyValueDescibeData> getMeasurements(){
121 String collectionName = "measurementid";
122 return this.getCollection(collectionName);
123 }
124
125 /**
126 * @param collectionName
127 * @return
128 */
129 protected Collection<KeyValueDescibeData> getCollection(
130 String collectionName) {
112 Iterator<Object> it = this.descibeData.iterator(); 131 Iterator<Object> it = this.descibeData.iterator();
113 while (it.hasNext()){ 132 while (it.hasNext()){
114 133
115 Object o = it.next(); 134 Object o = it.next();
135
116 if (o instanceof NamedCollection<?>){ 136 if (o instanceof NamedCollection<?>){
117 NamedCollection<KeyValueDescibeData> nc = (NamedCollection<KeyValueDescibeData>)o; 137 NamedCollection<KeyValueDescibeData> nc = (NamedCollection<KeyValueDescibeData>)o;
118 if (nc.getName().equals("measurementid")){ // TODO: konfigurierbar machen. 138 if (nc.getName().equals(collectionName)){ // TODO: konfigurierbar machen.
119 return nc; 139 return nc;
120 } 140 }
121 } 141 }
122 } 142 }
123 return null; 143 return null;

http://dive4elements.wald.intevation.org