view artifacts/src/main/java/org/dive4elements/river/exports/process/AnnotationProcessor.java @ 8202:e4606eae8ea5

sed src/**/*.java 's/logger/log/g'
author Sascha L. Teichmann <teichmann@intevation.de>
date Fri, 05 Sep 2014 12:58:17 +0200
parents b7b839557282
children 1cc7653ca84f 0a5239a1e46e
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.getCallContext();
        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.getCallContext();
        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);
    }
}

http://dive4elements.wald.intevation.org