comparison flys-artifacts/src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java @ 1944:21a4d2c677a1

Changed doOut signature, side effect from blackboard feature (to come). flys-artifacts/trunk@3334 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 30 Nov 2011 10:10:42 +0000
parents f07d64d5cbe1
children 65f9d707caff
comparison
equal deleted inserted replaced
1943:06d8d371d244 1944:21a4d2c677a1
13 import org.jfree.chart.title.TextTitle; 13 import org.jfree.chart.title.TextTitle;
14 import org.jfree.data.xy.XYSeries; 14 import org.jfree.data.xy.XYSeries;
15 15
16 import de.intevation.artifacts.Artifact; 16 import de.intevation.artifacts.Artifact;
17 17
18 import de.intevation.artifactdatabase.state.ArtifactAndFacet;
18 import de.intevation.artifactdatabase.state.Facet; 19 import de.intevation.artifactdatabase.state.Facet;
19 20
20 import de.intevation.flys.artifacts.FLYSArtifact; 21 import de.intevation.flys.artifacts.FLYSArtifact;
21 import de.intevation.flys.artifacts.model.FacetTypes; 22 import de.intevation.flys.artifacts.model.FacetTypes;
22 import de.intevation.flys.artifacts.model.WQKms; 23 import de.intevation.flys.artifacts.model.WQKms;
85 } 86 }
86 87
87 88
88 @Override 89 @Override
89 public void doOut( 90 public void doOut(
90 Artifact artifact, 91 ArtifactAndFacet artifactFacet,
91 Facet facet, 92 Document attr,
92 Document attr, 93 boolean visible
93 boolean visible 94 ) {
94 ) { 95 String name = artifactFacet.getFacetName();
95 String name = (facet != null) ? facet.getName() : null;
96 96
97 logger.debug("ComputedDischargeCurveGenerator.doOut: " + name); 97 logger.debug("ComputedDischargeCurveGenerator.doOut: " + name);
98 98
99 if (name == null) { 99 if (name == null) {
100 logger.warn("Broken facet in computed discharge out generation."); 100 logger.warn("Broken facet in computed discharge out generation.");
101 return; 101 return;
102 } 102 }
103 103
104 FLYSArtifact flys = (FLYSArtifact) artifact; 104 Facet facet = artifactFacet.getFacet();
105 Facet f = flys.getNativeFacet(facet);
106 105
107 if (name.equals(COMPUTED_DISCHARGE_Q)) { 106 if (name.equals(COMPUTED_DISCHARGE_Q)) {
108 doQOut((WQKms) f.getData(artifact, context), facet, attr, visible); 107 doQOut((WQKms) artifactFacet.getData(context), facet, attr, visible);
109 } 108 }
110 else if (name.equals(STATIC_WQ)) { 109 else if (name.equals(STATIC_WQ)) {
111 doWQOut(f.getData(artifact, context), facet, attr, visible); 110 doWQOut(artifactFacet.getData(context), facet, attr, visible);
112 } 111 }
113 else if (name.equals(STATIC_WQ_ANNOTATIONS)) { 112 else if (name.equals(STATIC_WQ_ANNOTATIONS)) {
114 doWQAnnotations(f.getData(artifact, context), facet, attr, visible); 113 doWQAnnotations(artifactFacet.getData(context), facet, attr, visible);
115 } 114 }
116 else if (name.equals(COMPUTED_DISCHARGE_MAINVALUES_Q) 115 else if (name.equals(COMPUTED_DISCHARGE_MAINVALUES_Q)
117 || name.equals(MAINVALUES_Q) 116 || name.equals(MAINVALUES_Q)
118 || name.equals(COMPUTED_DISCHARGE_MAINVALUES_W) 117 || name.equals(COMPUTED_DISCHARGE_MAINVALUES_W)
119 || name.equals(MAINVALUES_W) 118 || name.equals(MAINVALUES_W)
120 ) { 119 ) {
121 doAnnotations((FLYSAnnotation) 120 doAnnotations((FLYSAnnotation)
122 f.getData(artifact, context), facet, attr, visible); 121 artifactFacet.getData(context), facet, attr, visible);
123 } 122 }
124 else if (name.equals(STATIC_WKMS_INTERPOL)) { 123 else if (name.equals(STATIC_WKMS_INTERPOL)) {
125 doWAnnotations(f.getData(artifact, context), facet, attr, visible); 124 doWAnnotations(artifactFacet.getData(context), facet, attr, visible);
126 } 125 }
127 else { 126 else {
128 logger.warn("Unknown facet type for computed discharge: " + name); 127 logger.warn("Unknown facet type for computed discharge: " + name);
129 return; 128 return;
130 } 129 }
132 131
133 /** 132 /**
134 * Add WQ Data to plot. 133 * Add WQ Data to plot.
135 */ 134 */
136 protected void doWQOut( 135 protected void doWQOut(
137 Object wqkms, 136 Object wqkms,
138 Facet facet, 137 Facet facet,
139 Document theme, 138 Document theme,
140 boolean visible 139 boolean visible
141 ) { 140 ) {
142 double [][] data = (double [][]) wqkms; 141 double [][] data = (double [][]) wqkms;
144 XYSeries series = new StyledXYSeries(facet.getDescription(), theme); 143 XYSeries series = new StyledXYSeries(facet.getDescription(), theme);
145 StyledSeriesBuilder.addPoints(series, data); 144 StyledSeriesBuilder.addPoints(series, data);
146 145
147 addAxisSeries(series, YAXIS.W.idx, visible); 146 addAxisSeries(series, YAXIS.W.idx, visible);
148 } 147 }
148
149 149
150 /** 150 /**
151 * Add Q-Series to plot. 151 * Add Q-Series to plot.
152 * @param wqkms actual data 152 * @param wqkms actual data
153 * @param theme theme to use. 153 * @param theme theme to use.
187 187
188 doAnnotations(new FLYSAnnotation(facet.getDescription(), xy), 188 doAnnotations(new FLYSAnnotation(facet.getDescription(), xy),
189 facet, theme, visible); 189 facet, theme, visible);
190 } 190 }
191 191
192
192 /** 193 /**
193 * Add W-Annotations to plot. 194 * Add W-Annotations to plot.
194 * @param wqkms actual data 195 * @param wqkms actual data
195 * @param theme theme to use. 196 * @param theme theme to use.
196 */ 197 */

http://dive4elements.wald.intevation.org