mschaefer@9115: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde mschaefer@9115: * Software engineering by mschaefer@9115: * Björnsen Beratende Ingenieure GmbH mschaefer@9115: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt mschaefer@9115: * mschaefer@9115: * This file is Free Software under the GNU AGPL (>=v3) mschaefer@9115: * and comes with ABSOLUTELY NO WARRANTY! Check out the mschaefer@9115: * documentation coming with Dive4Elements River for details. mschaefer@9115: */ mschaefer@9115: mschaefer@9115: package org.dive4elements.river.artifacts.sinfo.common; mschaefer@9115: mschaefer@9115: import java.util.HashSet; mschaefer@9115: import java.util.Set; mschaefer@9115: mschaefer@9115: import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; mschaefer@9115: import org.dive4elements.artifactdatabase.state.Facet; mschaefer@9115: import org.dive4elements.artifacts.CallMeta; mschaefer@9115: import org.dive4elements.river.artifacts.resources.Resources; mschaefer@9115: import org.dive4elements.river.artifacts.sinfo.flood_duration.InfrastructureFacet; mschaefer@9115: import org.dive4elements.river.exports.DiagramGenerator; mschaefer@9115: import org.dive4elements.river.themes.ThemeDocument; mschaefer@9115: mschaefer@9115: /** mschaefer@9115: * Processor to generate a data series for infrastructure height data loaded from the database mschaefer@9115: * mschaefer@9115: * @author Matthias Schäfer mschaefer@9115: * mschaefer@9115: */ mschaefer@9115: public class InfrastructureHeightProcessor extends AbstractSInfoProcessor { mschaefer@9115: mschaefer@9115: // private final static Logger log = Logger.getLogger(InfrastructureHeightProcessor.class); mschaefer@9115: mschaefer@9115: public static final String FACET_INFRASTRUCTURE_HEIGHT = "sinfo_facet_infrastructure_height"; mschaefer@9115: mschaefer@9115: private static final String I18N_AXIS_LABEL = "chart.longitudinal.section.yaxis.label"; mschaefer@9115: mschaefer@9115: private static final String I18N_SERIES_NAME_PATTERN = "infrastructure.height.title"; mschaefer@9115: mschaefer@9115: private static final Set HANDLED_FACET_TYPES = new HashSet<>(); mschaefer@9115: mschaefer@9115: static { mschaefer@9115: HANDLED_FACET_TYPES.add(FACET_INFRASTRUCTURE_HEIGHT); mschaefer@9115: } mschaefer@9115: mschaefer@9115: public InfrastructureHeightProcessor() { mschaefer@9115: super(I18N_AXIS_LABEL, HANDLED_FACET_TYPES); mschaefer@9115: } mschaefer@9115: mschaefer@9115: @Override mschaefer@9115: protected String generateSeries(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { mschaefer@9115: gernotbelger@9200: return buildSeriesForType(generator, bundle, theme, visible, SInfoResultType.infrastructureHeight, null); mschaefer@9115: } mschaefer@9115: mschaefer@9115: public static Facet createFacet(final CallMeta callMeta, final String seriesName) { gernotbelger@9195: return new InfrastructureFacet(FACET_INFRASTRUCTURE_HEIGHT, Resources.getMsg(callMeta, I18N_SERIES_NAME_PATTERN, I18N_SERIES_NAME_PATTERN, seriesName), gernotbelger@9195: I18N_AXIS_LABEL); mschaefer@9115: } mschaefer@9115: }