view artifacts/src/main/java/org/dive4elements/river/exports/process/FixDerivedProcessor.java @ 8267:99912f51468d

A bit less chaos in i18n for bed heights.
author "Tom Gottfried <tom@intevation.de>"
date Fri, 12 Sep 2014 19:00:45 +0200
parents de280599dd2f
children 9f9857f6c464
line wrap: on
line source
package org.dive4elements.river.exports.process;

import org.apache.log4j.Logger;
import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
import org.dive4elements.river.artifacts.model.FacetTypes;
import org.dive4elements.river.artifacts.model.fixings.FixDerivateFacet;
import org.dive4elements.river.artifacts.model.fixings.FixFunction;
import org.dive4elements.river.exports.DiagramGenerator;
import org.dive4elements.river.jfree.JFreeUtil;
import org.dive4elements.river.jfree.StyledXYSeries;
import org.dive4elements.river.themes.ThemeDocument;


public class FixDerivedProcessor
extends DefaultProcessor
implements FacetTypes
{

    private static Logger log = Logger.getLogger(FixDerivedProcessor.class);

    public FixDerivedProcessor() {
    }

    @Override
    public void doOut(
        DiagramGenerator generator,
        ArtifactAndFacet bundle,
        ThemeDocument theme,
        boolean visible
    ) {
        FixDerivateFacet facet = (FixDerivateFacet)bundle.getFacet();
        FixFunction func = (FixFunction)facet.getData(
                bundle.getArtifact(), generator.getCallContext());

        if (func == null) {
            log.warn("doOut: Facet does not contain FixFunction");
            return;
        }

        double maxQ = func.getMaxQ();

        if (maxQ > 0) {
            StyledXYSeries series = JFreeUtil.sampleFunction2D(
                    func.getFunction(),
                    theme,
                    bundle.getFacetDescription(),
                    500,   // number of samples
                    0.0 ,  // start
                    maxQ); // end
            generator.addAxisSeries(series, axisName, visible);
        }
    }

    @Override
    public boolean canHandle(String facettype) {
        return FIX_DERIVATE_CURVE.equals(facettype);
    }
}

http://dive4elements.wald.intevation.org