Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/CollisionCalcProcessor.java @ 9200:6393e05a9610
refactoring on processors
author | gernotbelger |
---|---|
date | Fri, 29 Jun 2018 16:29:23 +0200 |
parents | a4121ec450d6 |
children | 4f411c6ee3ae |
comparison
equal
deleted
inserted
replaced
9199:d177121fc95d | 9200:6393e05a9610 |
---|---|
9 */ | 9 */ |
10 | 10 |
11 package org.dive4elements.river.artifacts.sinfo.common; | 11 package org.dive4elements.river.artifacts.sinfo.common; |
12 | 12 |
13 import java.util.HashSet; | 13 import java.util.HashSet; |
14 import java.util.Map; | |
15 import java.util.Set; | 14 import java.util.Set; |
16 | 15 |
17 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; | 16 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; |
18 import org.dive4elements.artifactdatabase.state.Facet; | 17 import org.dive4elements.artifactdatabase.state.Facet; |
19 import org.dive4elements.artifacts.Artifact; | |
20 import org.dive4elements.artifacts.CallContext; | 18 import org.dive4elements.artifacts.CallContext; |
21 import org.dive4elements.river.artifacts.common.AbstractCalculationResult; | 19 import org.dive4elements.river.artifacts.common.AbstractCalculationResult; |
22 import org.dive4elements.river.artifacts.common.IResultType; | |
23 import org.dive4elements.river.artifacts.resources.Resources; | 20 import org.dive4elements.river.artifacts.resources.Resources; |
24 import org.dive4elements.river.artifacts.sinfo.collision.CollisionCalcFacet; | 21 import org.dive4elements.river.artifacts.sinfo.collision.CollisionCalcFacet; |
25 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; | 22 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; |
26 import org.dive4elements.river.exports.DiagramGenerator; | 23 import org.dive4elements.river.exports.DiagramGenerator; |
27 import org.dive4elements.river.exports.StyledSeriesBuilder; | |
28 import org.dive4elements.river.jfree.StyledXYSeries; | |
29 import org.dive4elements.river.themes.ThemeDocument; | 24 import org.dive4elements.river.themes.ThemeDocument; |
30 | 25 |
31 /** | 26 /** |
32 * Processor to generate the facet and data series of calculated bed collision counts | 27 * Processor to generate the facet and data series of calculated bed collision counts |
33 * | 28 * |
53 } | 48 } |
54 | 49 |
55 @Override | 50 @Override |
56 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { | 51 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { |
57 | 52 |
58 return buildSeriesForType(generator, bundle, theme, visible, SInfoResultType.collisionCount); | 53 return buildSeriesForType(generator, bundle, theme, visible, SInfoResultType.collisionCount, null); |
59 } | |
60 | |
61 // FIXME: move to super classs and use in many implementations | |
62 protected final String buildSeriesForType(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible, | |
63 final IResultType resultType) { | |
64 final CallContext context = generator.getContext(); | |
65 final Map<String, String> metaData = bundle.getFacet().getMetaData(); | |
66 | |
67 final Artifact artifact = bundle.getArtifact(); | |
68 | |
69 final StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); | |
70 series.putMetaData(metaData, artifact, context); | |
71 | |
72 final String facetName = bundle.getFacetName(); | |
73 | |
74 final AbstractCalculationResult data = (AbstractCalculationResult) bundle.getData(context); | |
75 if (data == null) { | |
76 // Check has been here before so we keep it for security reasons | |
77 // this should never happen though. | |
78 throw new IllegalStateException("Data is null for facet: " + facetName); | |
79 } | |
80 | |
81 final double[][] points = data.getStationPoints(resultType); | |
82 | |
83 StyledSeriesBuilder.addPoints(series, points, true); | |
84 generator.addAxisSeries(series, getAxisName(), visible); | |
85 | |
86 return metaData.get("Y"); | |
87 } | 54 } |
88 | 55 |
89 public static final Facet createFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, | 56 public static final Facet createFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, |
90 final int index) { | 57 final int index) { |
91 final String facetDescription = Resources.getMsg(context.getMeta(), I18N_SERIES_NAME_PATTERN, I18N_SERIES_NAME_PATTERN, result.getLabel()); | 58 final String facetDescription = Resources.getMsg(context.getMeta(), I18N_SERIES_NAME_PATTERN, I18N_SERIES_NAME_PATTERN, result.getLabel()); |