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