Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/TkhProcessor.java @ 9200:6393e05a9610
refactoring on processors
author | gernotbelger |
---|---|
date | Fri, 29 Jun 2018 16:29:23 +0200 |
parents | 23945061daec |
children | 08f46ccd37ba |
comparison
equal
deleted
inserted
replaced
9199:d177121fc95d | 9200:6393e05a9610 |
---|---|
18 import org.dive4elements.artifacts.CallContext; | 18 import org.dive4elements.artifacts.CallContext; |
19 import org.dive4elements.river.artifacts.common.AbstractCalculationResult; | 19 import org.dive4elements.river.artifacts.common.AbstractCalculationResult; |
20 import org.dive4elements.river.artifacts.resources.Resources; | 20 import org.dive4elements.river.artifacts.resources.Resources; |
21 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; | 21 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; |
22 import org.dive4elements.river.exports.DiagramGenerator; | 22 import org.dive4elements.river.exports.DiagramGenerator; |
23 import org.dive4elements.river.exports.StyledSeriesBuilder; | |
24 import org.dive4elements.river.jfree.StyledAreaSeriesCollection; | |
25 import org.dive4elements.river.jfree.StyledXYSeries; | |
26 import org.dive4elements.river.themes.ThemeDocument; | 23 import org.dive4elements.river.themes.ThemeDocument; |
27 | 24 |
28 public final class TkhProcessor extends AbstractSInfoProcessor { | 25 public final class TkhProcessor extends AbstractSInfoProcessor { |
29 | 26 |
30 private static String FACET_TKH = "sinfo_facet_tkh"; | 27 private static String FACET_TKH = "sinfo_facet_tkh"; |
45 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES); | 42 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES); |
46 } | 43 } |
47 | 44 |
48 @Override | 45 @Override |
49 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { | 46 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { |
50 final CallContext context = generator.getContext(); | |
51 | 47 |
52 final String facetName = bundle.getFacetName(); | 48 return buildSeriesForTkh(generator, bundle, theme, visible); |
53 final AbstractTkhCalculationResult data = (AbstractTkhCalculationResult) bundle.getData(context); | |
54 if (data == null) { | |
55 // Check has been here before so we keep it for security reasons | |
56 // this should never happen though. | |
57 throw new IllegalStateException("Data is null for facet: " + facetName); | |
58 } | |
59 | 49 |
60 final StyledXYSeries seriesUp = new StyledXYSeries(bundle.getFacetDescription(), theme); | |
61 final double[][] pointsUp = data.getTkhUpPoints(); | |
62 StyledSeriesBuilder.addPoints(seriesUp, pointsUp, true); | |
63 | |
64 // REMARK: we add " " because the description is misused as id, which must be unique. | |
65 final StyledXYSeries seriesDown = new StyledXYSeries(bundle.getFacetDescription() + " ", theme); | |
66 final double[][] pointsDown = data.getTkhDownPoints(); | |
67 StyledSeriesBuilder.addPoints(seriesDown, pointsDown, true); | |
68 | |
69 final StyledAreaSeriesCollection area = new StyledAreaSeriesCollection(theme); | |
70 area.setMode(StyledAreaSeriesCollection.FILL_MODE.BETWEEN); | |
71 area.addSeries(seriesUp); | |
72 area.addSeries(seriesDown); | |
73 | |
74 generator.addAreaSeries(area, getAxisName(), visible); | |
75 | |
76 return null; | |
77 } | 50 } |
78 | 51 |
79 public static Facet createTkhFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, final int index) { | 52 public static Facet createTkhFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, final int index) { |
80 | 53 |
81 final String facetTkhDescription = Resources.getMsg(context.getMeta(), I18N_FACET_TKH_DESCRIPTION, I18N_FACET_TKH_DESCRIPTION, result.getLabel()); | 54 final String facetTkhDescription = Resources.getMsg(context.getMeta(), I18N_FACET_TKH_DESCRIPTION, I18N_FACET_TKH_DESCRIPTION, result.getLabel()); |