Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineProcessor.java @ 9429:bd5f5d2220fa
Work on salix cross sections; waterlevels work now with different colors
Colors and i10n for all themes.
author | gernotbelger |
---|---|
date | Fri, 17 Aug 2018 17:48:01 +0200 |
parents | 6e7094368e97 |
children | d8e753d0fdb9 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineProcessor.java Fri Aug 17 17:40:59 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/salix/SalixLineProcessor.java Fri Aug 17 17:48:01 2018 +0200 @@ -19,8 +19,12 @@ import org.dive4elements.river.artifacts.D4EArtifact; import org.dive4elements.river.artifacts.access.RangeAccess; import org.dive4elements.river.artifacts.common.AbstractProcessor; +import org.dive4elements.river.artifacts.model.CrossSectionWaterLineFacet; +import org.dive4elements.river.artifacts.model.FacetTypes; import org.dive4elements.river.artifacts.resources.Resources; +import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; import org.dive4elements.river.artifacts.uinfo.common.UInfoResultType; +import org.dive4elements.river.artifacts.uinfo.salix.SalixLineCrossSectionIndexData.SalixWaterlevel; import org.dive4elements.river.exports.DiagramGenerator; import org.dive4elements.river.themes.ThemeDocument; @@ -60,6 +64,15 @@ private static final String FACET_SALIX_RANK_DESCRIPTION = "uinfo_facet_salix_rank.description"; + // REMARK: must end with FacetTypes.CROSS_SECTION_WATER_LINE so its correctly recognized as such a theme + private static final String FACET_SALIX_CROSS_SECTION_WATER_LINE = "uinfo_facet_salix_line_" + FacetTypes.CROSS_SECTION_WATER_LINE; + + private static final String FACET_SALIX_CROSS_SECTION_WATER_LINE_DESCRIPTION = FACET_SALIX_CROSS_SECTION_WATER_LINE + "_description"; + + private static final String FACET_SALIX_SCENARIO_CROSS_SECTION_WATER_LINE = "uinfo_facet_salix_scenario_" + FacetTypes.CROSS_SECTION_WATER_LINE; + + private static final String FACET_SALIX_WATERLEVEL_CROSS_SECTION_WATER_LINE_PREFIX = "uinfo_facet_salix_waterlevel_"; + private static final String I18N_AXIS_LABEL = "uinfo.chart.salix_line.section.yaxis.label"; private static final Set<String> HANDLED_FACET_TYPES = new HashSet<>(); @@ -107,8 +120,8 @@ public static Facet createSalixScenarioFilteredFacet(final CallContext context, final String hash, final String id, final int dataIndex, final int resultIndex, final int facetIndex, final String subLabel) { - final String description = Resources.getMsg(context.getMeta(), FACET_SALIX_SCENARIO_FILTERED_DESCRIPTION, - FACET_SALIX_SCENARIO_FILTERED_DESCRIPTION, subLabel); + final String description = Resources.getMsg(context.getMeta(), FACET_SALIX_SCENARIO_FILTERED_DESCRIPTION, FACET_SALIX_SCENARIO_FILTERED_DESCRIPTION, + subLabel); return new SalixScenarioResultFacet(facetIndex, resultIndex, dataIndex, FACET_SALIX_SCENARIO_FILTERED, description, I18N_AXIS_LABEL, hash, id); } @@ -125,6 +138,33 @@ return new SalixRankResultFacet(facetIndex, resultIndex, FACET_SALIX_RANK, description, I18N_AXIS_LABEL, id, hash); } + public static Facet createSalixCrossSectionFacet(final CallContext context, final ComputeType type, final String hash, final String stateId, + final int facetIndex) { + final String description = Resources.getMsg(context.getMeta(), FACET_SALIX_CROSS_SECTION_WATER_LINE_DESCRIPTION); + return new CrossSectionWaterLineFacet(facetIndex, FACET_SALIX_CROSS_SECTION_WATER_LINE, description, type, hash, stateId, + SalixLineCrossSectionIndexData.salixLine()); + } + + public static Facet createSalixScenarioCrossSectionFacet(final CallContext context, final ComputeType type, final String hash, final String stateId, + final int scenarioIndex, final int facetIndex, final String subLabel) { + + final String description = Resources.getMsg(context.getMeta(), FACET_SALIX_SCENARIO_FILTERED_DESCRIPTION, FACET_SALIX_SCENARIO_FILTERED_DESCRIPTION, + subLabel); + + return new CrossSectionWaterLineFacet(facetIndex, FACET_SALIX_SCENARIO_CROSS_SECTION_WATER_LINE, description, type, hash, stateId, + SalixLineCrossSectionIndexData.scenario(scenarioIndex)); + } + + public static Facet createSalixWaterlevelCrossSectionFacet(final CallContext context, final ComputeType type, final String hash, final String stateId, + final SalixWaterlevel knownWaterlevel, final int facetIndex) { + final String facetName = FACET_SALIX_WATERLEVEL_CROSS_SECTION_WATER_LINE_PREFIX + knownWaterlevel.name() + "_" + FacetTypes.CROSS_SECTION_WATER_LINE; + final String facetI10n = facetName + "_description"; + final String facetDescirption = Resources.getMsg(context.getMeta(), facetI10n); + + return new CrossSectionWaterLineFacet(facetIndex, facetName, facetDescirption, type, hash, stateId, + SalixLineCrossSectionIndexData.waterlevel(knownWaterlevel)); + } + @Override protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { @@ -139,7 +179,6 @@ } if (bundle.getFacetName().equals(FACET_SALIX_RANK)) { - final CallContext context = generator.getContext(); final RangeAccess kmRange = new RangeAccess((D4EArtifact) bundle.getArtifact()); // TODO get all rank data (5 ranks) from database final double[][] points = new double[2][2];