Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/process/BedHeightProcessor.java @ 7984:cf674b03901a facet-metadata
Bedheight facet now returns double[][]. Removed obsolete processor code.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 01 Jul 2014 13:27:53 +0200 |
parents | e844be34a606 |
children | 5277483044d9 |
comparison
equal
deleted
inserted
replaced
7983:62befca02480 | 7984:cf674b03901a |
---|---|
47 DiagramGenerator generator, | 47 DiagramGenerator generator, |
48 ArtifactAndFacet bundle, | 48 ArtifactAndFacet bundle, |
49 ThemeDocument theme, | 49 ThemeDocument theme, |
50 boolean visible) { | 50 boolean visible) { |
51 XYSeries series = prepareSeries(bundle, theme, generator.getCallContext()); | 51 XYSeries series = prepareSeries(bundle, theme, generator.getCallContext()); |
52 generator.addAxisSeries(series, axisName, visible); | 52 if (series != null) { |
53 generator.addAxisSeries(series, axisName, visible); | |
54 } | |
53 } | 55 } |
54 | 56 |
55 @Override | 57 @Override |
56 public void doOut( | 58 public void doOut( |
57 XYChartGenerator generator, | 59 XYChartGenerator generator, |
59 ThemeDocument theme, | 61 ThemeDocument theme, |
60 boolean visible, | 62 boolean visible, |
61 int index | 63 int index |
62 ) { | 64 ) { |
63 XYSeries series = prepareSeries(bundle, theme, generator.getCallContext()); | 65 XYSeries series = prepareSeries(bundle, theme, generator.getCallContext()); |
64 generator.addAxisSeries(series, index, visible); | 66 if (series != null) { |
67 generator.addAxisSeries(series, index, visible); | |
68 } | |
65 } | 69 } |
66 | 70 |
67 /** Prepare an series, independent of axis. */ | 71 /** Prepare an series, independent of axis. */ |
68 private XYSeries prepareSeries(ArtifactAndFacet bundle, | 72 private XYSeries prepareSeries( |
69 ThemeDocument theme, CallContext context) { | 73 ArtifactAndFacet bundle, |
70 Object data = bundle.getData(context); | 74 ThemeDocument theme, |
75 CallContext context | |
76 ) { | |
71 Map<String, String> metaData = bundle.getFacet().getMetaData( | 77 Map<String, String> metaData = bundle.getFacet().getMetaData( |
72 bundle.getArtifact(), context); | 78 bundle.getArtifact(), context); |
73 StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), | 79 StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), |
74 theme); | 80 theme); |
75 series.putMetaData(metaData, bundle.getArtifact(), context); | 81 series.putMetaData(metaData, bundle.getArtifact(), context); |
76 yAxisLabel = metaData.get("Y"); | 82 yAxisLabel = metaData.get("Y"); |
77 if (data instanceof BedDiffYearResult) { | |
78 BedDiffYearResult bData = (BedDiffYearResult) data; | |
79 | 83 |
80 double[][] points; | 84 Object raw = bundle.getData(context); |
81 String facetType = bundle.getFacetName(); | 85 if (!(raw instanceof double[][])) { |
86 logger.error("Unkown datatype: " + raw.getClass().getName()); | |
87 return null; | |
88 } | |
82 | 89 |
83 if (FacetTypes.BED_DIFFERENCE_YEAR_HEIGHT1.equals(facetType) || | 90 double[][] data = (double[][])raw; |
84 FacetTypes.BED_DIFFERENCE_YEAR_HEIGHT1_FILTERED.equals(facetType)) { | 91 StyledSeriesBuilder.addPointsFactorY(series, |
85 points = bData.getHeights1Data(); | 92 data, |
86 } else { | 93 false, |
87 points = bData.getHeights2Data(); | 94 GAP_TOLERANCE, |
88 } | 95 1d); |
89 StyledSeriesBuilder.addPointsFactorY(series, | |
90 points, | |
91 false, | |
92 GAP_TOLERANCE, | |
93 1d); | |
94 } else if (data instanceof BedHeightSingleData) { | |
95 BedHeightSingleData bData = (BedHeightSingleData)data; | |
96 double[][] points = new double[][] | |
97 {bData.getStations().toNativeArray(), bData.getHeights()}; | |
98 | |
99 logger.debug("doBedheightSingleOut"); | |
100 StyledSeriesBuilder.addPointsFactorY(series, | |
101 points, | |
102 false, | |
103 GAP_TOLERANCE, | |
104 1d); | |
105 } | |
106 else if (data instanceof List<?>) { | |
107 List<BedHeightSingleValue> bData = (List<BedHeightSingleValue>)data; | |
108 double[][] points = new double[2][]; | |
109 | |
110 logger.debug("doBedheightSingleValueOut"); | |
111 | |
112 for(int i = 0; i < bData.size(); i++) { | |
113 BedHeightSingleValue bvalue = bData.get(i); | |
114 points[0][i] = bvalue.getStation(); | |
115 points[1][i] = bvalue.getHeight(); | |
116 } | |
117 StyledSeriesBuilder.addPointsFactorY(series, | |
118 points, | |
119 false, | |
120 GAP_TOLERANCE, | |
121 1d); | |
122 } | |
123 else { | |
124 logger.error("Unknown data type " + data.getClass()); | |
125 } | |
126 return series; | 96 return series; |
127 } | 97 } |
128 | 98 |
129 | 99 |
130 @Override | 100 @Override |