Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/process/BedheightProcessor.java @ 4736:b195fede1c3b
Remove trailing whitespace.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Wed, 02 Jan 2013 13:18:31 +0100 |
parents | 2fadc6c5cdad |
children |
rev | line source |
---|---|
4536
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.exports.process; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
2 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
3 import java.util.List; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
4 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
5 import org.apache.log4j.Logger; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
6 import org.jfree.data.xy.XYSeries; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
7 import org.w3c.dom.Document; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
8 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
9 import de.intevation.artifactdatabase.state.ArtifactAndFacet; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 import de.intevation.artifacts.CallContext; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
11 import de.intevation.flys.artifacts.model.minfo.BedHeightSingle; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 import de.intevation.flys.exports.XYChartGenerator; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 import de.intevation.flys.jfree.StyledXYSeries; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 import de.intevation.flys.model.BedHeightSingleValue; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
15 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 public class BedheightProcessor implements Processor { |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 private final static Logger logger = |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
19 Logger.getLogger(BedheightProcessor.class); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
21 private final static String BEDHEIGHT = "bedheight"; |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
23 @Override |
4551
2fadc6c5cdad
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4536
diff
changeset
|
24 public void doOut( |
2fadc6c5cdad
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4536
diff
changeset
|
25 XYChartGenerator generator, |
2fadc6c5cdad
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4536
diff
changeset
|
26 ArtifactAndFacet aandf, |
2fadc6c5cdad
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4536
diff
changeset
|
27 Document theme, |
2fadc6c5cdad
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4536
diff
changeset
|
28 boolean visible, |
2fadc6c5cdad
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4536
diff
changeset
|
29 int index |
2fadc6c5cdad
Removed obsolete imports.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4536
diff
changeset
|
30 ) { |
4536
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
31 CallContext context = generator.getCallContext(); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 Object data = aandf.getData(context); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 if (data instanceof BedHeightSingle) { |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 doBedheightSingleOut(generator, aandf, theme, index, visible, |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 (BedHeightSingle)data); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 } |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
37 else if (data instanceof List<?>) { |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 doBedheightSingeValuesOut(generator, aandf, theme, index, visible, |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 (List<BedHeightSingleValue>)data); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
40 } |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 logger.error("Can't process " + data.getClass().getName() + " objects"); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 } |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 private void doBedheightSingeValuesOut(XYChartGenerator generator, |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
45 ArtifactAndFacet aandf, Document theme, int index, boolean visible, |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 List<BedHeightSingleValue> data) { |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 logger.debug("doBedheightSingleOut"); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 theme); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
51 for(BedHeightSingleValue bvalue: data) { |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
52 series.add(bvalue.getStation(), bvalue.getSoundingWidth()); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
53 } |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
54 generator.addAxisSeries(series, index, visible); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
55 } |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
56 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 @Override |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
58 public boolean canHandle(String facettype) { |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
59 return BEDHEIGHT.equals(facettype); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
60 } |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
61 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
62 public void doBedheightSingleOut(XYChartGenerator generator, |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
63 ArtifactAndFacet aandf, Document theme, int index, boolean visible, |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 BedHeightSingle data) { |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
65 double[] width = data.getMorphWidths(); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
66 double[] stations = data.getStations().toNativeArray(); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
67 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
68 logger.debug("doBedheightSingleOut"); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
69 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
70 XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 theme); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
72 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
73 for (int i = 0; i < width.length; i++) { |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 series.add(stations[i], width[i], false); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 } |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
76 |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
77 generator.addAxisSeries(series, index, visible); |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
78 } |
ce4ff444f215
Implement a BedheightProcessor to generate charts from bed height data
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
79 } |