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