Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/process/BedDiffHeightYearProcessor.java @ 7985:10debf4b82be facet-metadata
Split bed differences facet into data specific facets.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 01 Jul 2014 15:09:56 +0200 |
parents | e844be34a606 |
children | b5cba2690347 |
comparison
equal
deleted
inserted
replaced
7984:cf674b03901a | 7985:10debf4b82be |
---|---|
47 @Override | 47 @Override |
48 public void doOut( | 48 public void doOut( |
49 DiagramGenerator generator, | 49 DiagramGenerator generator, |
50 ArtifactAndFacet bundle, | 50 ArtifactAndFacet bundle, |
51 ThemeDocument theme, | 51 ThemeDocument theme, |
52 boolean visible) { | 52 boolean visible |
53 ) { | |
53 CallContext context = generator.getCallContext(); | 54 CallContext context = generator.getCallContext(); |
54 Object data = bundle.getData(context); | 55 Object data = bundle.getData(context); |
55 Map<String, String> metaData = bundle.getFacet().getMetaData( | 56 Map<String, String> metaData = bundle.getFacet().getMetaData( |
56 bundle.getArtifact(), context); | 57 bundle.getArtifact(), context); |
57 | 58 |
58 if (!(data instanceof BedDiffYearResult)) { | 59 if (!(data instanceof double[][])) { |
59 // Should not happen if canHandle is correct | 60 // Should not happen if canHandle is correct |
60 logger.error("Can't process " + data.getClass().getName() + " objects"); | 61 logger.error("Can't process " + data.getClass().getName() + " objects"); |
61 return; | 62 return; |
62 } | 63 } |
64 | |
65 setSubtitleRadius(generator, bundle, context); | |
66 | |
67 double[][] bData = (double[][]) data; | |
68 | |
69 StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); | |
70 series.putMetaData(metaData, bundle.getArtifact(), context); | |
71 | |
72 StyledSeriesBuilder.addPoints(series, bData, false, GAP_TOLERANCE); | |
73 | |
74 generator.addAxisSeries(series, axisName, visible); | |
75 } | |
76 | |
77 private void setSubtitleRadius( | |
78 DiagramGenerator generator, | |
79 ArtifactAndFacet bundle, | |
80 CallContext context | |
81 ) { | |
63 Double start = (Double)context.getContextValue("startkm"); | 82 Double start = (Double)context.getContextValue("startkm"); |
64 Double end = (Double)context.getContextValue("endkm"); | 83 Double end = (Double)context.getContextValue("endkm"); |
65 if (start != null && end != null) { | 84 if (start != null && end != null) { |
66 D4EArtifact artifact = (D4EArtifact)bundle.getArtifact(); | 85 D4EArtifact artifact = (D4EArtifact)bundle.getArtifact(); |
67 RiverContext fc = (RiverContext)context.globalContext(); | 86 RiverContext fc = (RiverContext)context.globalContext(); |
74 generator.addSubtitle(Resources.getMsg( | 93 generator.addSubtitle(Resources.getMsg( |
75 context.getMeta(), | 94 context.getMeta(), |
76 I18N_SUBTITLE_RADIUS, | 95 I18N_SUBTITLE_RADIUS, |
77 new Object[] { radius })); | 96 new Object[] { radius })); |
78 } | 97 } |
79 BedDiffYearResult bData = (BedDiffYearResult) data; | |
80 StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); | |
81 series.putMetaData(metaData, bundle.getArtifact(), context); | |
82 StyledSeriesBuilder.addPoints(series, bData.getHeightPerYearData(), false, GAP_TOLERANCE); | |
83 | |
84 generator.addAxisSeries(series, axisName, visible); | |
85 } | 98 } |
86 | 99 |
87 @Override | 100 @Override |
88 public void doOut( | 101 public void doOut( |
89 XYChartGenerator generator, | 102 XYChartGenerator generator, |
93 int index | 106 int index |
94 ) { | 107 ) { |
95 CallContext context = generator.getCallContext(); | 108 CallContext context = generator.getCallContext(); |
96 Object data = bundle.getData(context); | 109 Object data = bundle.getData(context); |
97 | 110 |
98 if (!(data instanceof BedDiffYearResult)) { | 111 if (!(data instanceof double[][])) { |
99 // Should not happen if canHandle is correct | 112 // Should not happen if canHandle is correct |
100 logger.error("Can't process " + data.getClass().getName() + " objects"); | 113 logger.error("Can't process " + data.getClass().getName() + " objects"); |
101 return; | 114 return; |
102 } | 115 } |
103 | 116 |
104 BedDiffYearResult bData = (BedDiffYearResult) data; | 117 double[][] bData = (double[][]) data; |
105 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); | 118 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); |
106 StyledSeriesBuilder.addPoints(series, bData.getHeightPerYearData(), false, GAP_TOLERANCE); | 119 StyledSeriesBuilder.addPoints(series, bData, false, GAP_TOLERANCE); |
107 | 120 |
108 generator.addAxisSeries(series, index, visible); | 121 generator.addAxisSeries(series, index, visible); |
109 } | 122 } |
110 | 123 |
111 @Override | 124 @Override |