Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/CollisionCalcProcessor.java @ 9204:4f411c6ee3ae
Individual facets/themes for single years i the S-Info collisions output
author | mschaefer |
---|---|
date | Mon, 02 Jul 2018 17:40:39 +0200 |
parents | 6393e05a9610 |
children | 3dae6b78e1da |
comparison
equal
deleted
inserted
replaced
9203:9831f6c60473 | 9204:4f411c6ee3ae |
---|---|
17 import org.dive4elements.artifactdatabase.state.Facet; | 17 import org.dive4elements.artifactdatabase.state.Facet; |
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.sinfo.collision.CollisionCalcFacet; | 21 import org.dive4elements.river.artifacts.sinfo.collision.CollisionCalcFacet; |
22 import org.dive4elements.river.artifacts.sinfo.collision.CollisionCalcOverviewResult; | |
22 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; | 23 import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; |
23 import org.dive4elements.river.exports.DiagramGenerator; | 24 import org.dive4elements.river.exports.DiagramGenerator; |
24 import org.dive4elements.river.themes.ThemeDocument; | 25 import org.dive4elements.river.themes.ThemeDocument; |
25 | 26 |
26 /** | 27 /** |
31 */ | 32 */ |
32 public final class CollisionCalcProcessor extends AbstractSInfoProcessor { | 33 public final class CollisionCalcProcessor extends AbstractSInfoProcessor { |
33 | 34 |
34 public static final String FACET_COLLISION_CALC_COUNT = "sinfo_facet_collision_calc_count"; | 35 public static final String FACET_COLLISION_CALC_COUNT = "sinfo_facet_collision_calc_count"; |
35 | 36 |
37 public static final String FACET_COLLISION_CALC_COUNT_2 = "sinfo_facet_collision_calc_count.2"; | |
38 | |
39 public static final String FACET_COLLISION_CALC_COUNT_3 = "sinfo_facet_collision_calc_count.3"; | |
40 | |
36 private static final String I18N_AXIS_LABEL = "chart.collision_count.section.yaxis.label"; | 41 private static final String I18N_AXIS_LABEL = "chart.collision_count.section.yaxis.label"; |
37 | 42 |
38 private static final String I18N_SERIES_NAME_PATTERN = "collision.count.title"; | 43 private static final String I18N_SERIES_NAME_PATTERN = "collision.count.title"; |
39 | 44 |
40 private static final Set<String> HANDLED_FACET_TYPES = new HashSet<>(); | 45 private static final Set<String> HANDLED_FACET_TYPES = new HashSet<>(); |
41 | 46 |
42 static { | 47 static { |
43 HANDLED_FACET_TYPES.add(FACET_COLLISION_CALC_COUNT); | 48 HANDLED_FACET_TYPES.add(FACET_COLLISION_CALC_COUNT); |
49 HANDLED_FACET_TYPES.add(FACET_COLLISION_CALC_COUNT_2); | |
50 HANDLED_FACET_TYPES.add(FACET_COLLISION_CALC_COUNT_3); | |
44 } | 51 } |
45 | 52 |
46 public CollisionCalcProcessor() { | 53 public CollisionCalcProcessor() { |
47 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES); | 54 super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES); |
48 } | 55 } |
49 | 56 |
50 @Override | 57 @Override |
51 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { | 58 protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { |
52 | 59 |
53 return buildSeriesForType(generator, bundle, theme, visible, SInfoResultType.collisionCount, null); | 60 return buildSeriesForType1(generator, bundle, theme, visible, SInfoResultType.collisionCount, null); |
54 } | 61 } |
55 | 62 |
56 public static final Facet createFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, | 63 public static final Facet createFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, |
57 final int index) { | 64 final int index) { |
58 final String facetDescription = Resources.getMsg(context.getMeta(), I18N_SERIES_NAME_PATTERN, I18N_SERIES_NAME_PATTERN, result.getLabel()); | 65 |
59 return new CollisionCalcFacet(index, FACET_COLLISION_CALC_COUNT, facetDescription, I18N_AXIS_LABEL, ComputeType.ADVANCE, id, hash); | 66 final CollisionCalcOverviewResult ccoResult = (CollisionCalcOverviewResult) result; |
67 String facetDescription; | |
68 String facetName; | |
69 if (ccoResult.getSingleYears() == null) { | |
70 facetDescription = Resources.getMsg(context.getMeta(), I18N_SERIES_NAME_PATTERN, I18N_SERIES_NAME_PATTERN, result.getLabel()); | |
71 facetName = FACET_COLLISION_CALC_COUNT; | |
72 } | |
73 else { | |
74 facetDescription = Resources.getMsg(context.getMeta(), I18N_SERIES_NAME_PATTERN, I18N_SERIES_NAME_PATTERN, | |
75 Integer.toString(ccoResult.getSingleYears()[index])); | |
76 facetName = new String[] { FACET_COLLISION_CALC_COUNT, FACET_COLLISION_CALC_COUNT_2, FACET_COLLISION_CALC_COUNT_3 }[index % 3].toString(); | |
77 } | |
78 return new CollisionCalcFacet(index, facetName, facetDescription, I18N_AXIS_LABEL, ComputeType.ADVANCE, id, hash); | |
60 } | 79 } |
61 } | 80 } |