Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/process/BedQualityDensityProcessor.java @ 7987:98ca61cb58fb facet-metadata
Split bed quality facets and updated processors and state.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 02 Jul 2014 09:31:14 +0200 |
parents | e844be34a606 |
children | 5277483044d9 |
comparison
equal
deleted
inserted
replaced
7986:b0cee7dfd6fe | 7987:98ca61cb58fb |
---|---|
9 package org.dive4elements.river.exports.process; | 9 package org.dive4elements.river.exports.process; |
10 | 10 |
11 import java.util.Map; | 11 import java.util.Map; |
12 | 12 |
13 import org.apache.log4j.Logger; | 13 import org.apache.log4j.Logger; |
14 import org.jfree.data.xy.XYSeries; | |
15 | |
16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; | 14 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; |
17 import org.dive4elements.artifacts.CallContext; | 15 import org.dive4elements.artifacts.CallContext; |
18 import org.dive4elements.river.artifacts.model.FacetTypes; | 16 import org.dive4elements.river.artifacts.model.FacetTypes; |
19 import org.dive4elements.river.exports.DiagramGenerator; | 17 import org.dive4elements.river.exports.DiagramGenerator; |
20 import org.dive4elements.river.exports.StyledSeriesBuilder; | 18 import org.dive4elements.river.exports.StyledSeriesBuilder; |
21 import org.dive4elements.river.jfree.StyledXYSeries; | 19 import org.dive4elements.river.jfree.StyledXYSeries; |
22 import org.dive4elements.river.themes.ThemeDocument; | 20 import org.dive4elements.river.themes.ThemeDocument; |
23 | |
24 import org.dive4elements.river.artifacts.model.minfo.BedParametersResult; | |
25 | 21 |
26 public class BedQualityDensityProcessor extends DefaultProcessor { | 22 public class BedQualityDensityProcessor extends DefaultProcessor { |
27 | 23 |
28 private final static Logger logger = | 24 private final static Logger logger = |
29 Logger.getLogger(BedQualityDensityProcessor.class); | 25 Logger.getLogger(BedQualityDensityProcessor.class); |
41 ThemeDocument theme, | 37 ThemeDocument theme, |
42 boolean visible) { | 38 boolean visible) { |
43 CallContext context = generator.getCallContext(); | 39 CallContext context = generator.getCallContext(); |
44 StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), | 40 StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), |
45 theme); | 41 theme); |
46 Object data = bundle.getData(context); | |
47 Map<String, String> metaData = bundle.getFacet().getMetaData(); | 42 Map<String, String> metaData = bundle.getFacet().getMetaData(); |
48 series.putMetaData(metaData, bundle.getArtifact(), context); | 43 series.putMetaData(metaData, bundle.getArtifact(), context); |
49 yAxisLabel = metaData.get("Y"); | 44 yAxisLabel = metaData.get("Y"); |
50 String facetName = bundle.getFacetName(); | |
51 double [][] points; | |
52 | 45 |
53 if (facetName.equals(FacetTypes.BED_QUALITY_SEDIMENT_DENSITY_TOPLAYER)) { | 46 Object data = bundle.getData(context); |
54 points = ((BedParametersResult) data).getDensityCapData(); | 47 if (!(data instanceof double[][])) { |
55 } else if (facetName.equals(FacetTypes.BED_QUALITY_SEDIMENT_DENSITY_SUBLAYER)) { | 48 logger.error("Unknown data type: " + data.getClass().getName()); |
56 points = ((BedParametersResult) data).getDensitySubData(); | |
57 } else { | |
58 logger.error("Unknown facet name: " + facetName); | |
59 return; | 49 return; |
60 } | 50 } |
61 StyledSeriesBuilder.addPoints(series, points, true); | 51 |
52 double[][] values = (double[][])data; | |
53 StyledSeriesBuilder.addPoints(series, values, true); | |
62 | 54 |
63 generator.addAxisSeries(series, axisName, visible); | 55 generator.addAxisSeries(series, axisName, visible); |
64 } | 56 } |
65 | 57 |
66 @Override | 58 @Override |