Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/exports/process/AnnotationProcessor.java @ 9354:13bbc75ed0bc
Change theme legend label if interpolated
author | gernotbelger |
---|---|
date | Tue, 31 Jul 2018 18:12:19 +0200 |
parents | 1cc7653ca84f |
children |
line wrap: on
line source
/* Copyright (C) 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.exports.process; import org.apache.log4j.Logger; import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.model.FacetTypes; import org.dive4elements.river.exports.DiagramGenerator; import org.dive4elements.river.exports.XYChartGenerator; import org.dive4elements.river.jfree.RiverAnnotation; import org.dive4elements.river.themes.ThemeDocument; /** * Add data to chart/generator. * */ public class AnnotationProcessor extends DefaultProcessor { /** Private log. */ private static final Logger log = Logger.getLogger(AnnotationProcessor.class); @Override public void doOut( DiagramGenerator generator, ArtifactAndFacet bundle, ThemeDocument theme, boolean visible) { if (!visible) { // Nothing to do return; } CallContext context = generator.getContext(); if (!(bundle.getData(context) instanceof RiverAnnotation)) { // Just a bit defensive should not happen log.error("Incompatible facet in doOut"); return; } RiverAnnotation ra = (RiverAnnotation)bundle.getData(context); ra.setTheme(theme); ra.setLabel(bundle.getFacetDescription()); generator.addAnnotations(ra); } @Override public void doOut( XYChartGenerator generator, ArtifactAndFacet bundle, ThemeDocument theme, boolean visible, int index) { if (!visible) { // Nothing to do return; } CallContext context = generator.getContext(); if (!(bundle.getData(context) instanceof RiverAnnotation)) { // Just a bit defensive should not happen log.error("Incompatible facet in doOut"); return; } RiverAnnotation ra = (RiverAnnotation)bundle.getData(context); ra.setTheme(theme); ra.setLabel(bundle.getFacetDescription()); generator.addAnnotations(ra); } @Override public boolean canHandle(String facetType) { if (facetType == null) { return false; } return facetType.equals(FacetTypes.LONGITUDINAL_ANNOTATION) || facetType.equals(FacetTypes.MIDDLE_BED_HEIGHT_ANNOTATION) || facetType.equals(FacetTypes.FLOW_VELOCITY_ANNOTATION); } }