view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/MainValuesQFacet.java @ 2089:0da8874bd378

Added initial state to map artifact to be able to advance and step back. The map artifact overrides describe() to have the complete UI information in the describe response document. flys-artifacts/trunk@3613 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 06 Jan 2012 12:02:10 +0000
parents 3b08b8aacfb0
children c68f4f227c09
line wrap: on
line source
package de.intevation.flys.artifacts.model;

import java.util.ArrayList;
import java.util.List;

import org.jfree.chart.annotations.XYTextAnnotation;

import de.intevation.artifacts.Artifact;
import de.intevation.artifacts.CallContext;

import de.intevation.artifactdatabase.state.DefaultFacet;

import de.intevation.flys.artifacts.MainValuesArtifact;
import de.intevation.flys.artifacts.model.FacetTypes;
import de.intevation.flys.jfree.FLYSAnnotation;
import de.intevation.flys.jfree.StickyAxisAnnotation;

/**
 * Facet to show Main Q Values.
 */
public class MainValuesQFacet
extends      DefaultFacet
implements   FacetTypes {

    /** Do we want MainValues at Gauge (not interpolated)? */
    protected boolean isAtGauge;

    /** Trivial Constructor. */
    public MainValuesQFacet(String name, String description, boolean atGauge) {
        this.description = description;
        this.name = name;
        this.index = 0;
        this.isAtGauge = atGauge;
    }


    /**
     * Returns the data this facet requires.
     *
     * @param artifact the owner artifact.
     * @param context  the CallContext (ignored).
     *
     * @return the data.
     */
    @Override
    public Object getData(Artifact artifact, CallContext context) {
        MainValuesArtifact mvArtifact = (MainValuesArtifact) artifact;

        List<NamedDouble>      qs = mvArtifact.getMainValuesQ(isAtGauge);
        List<XYTextAnnotation> xy = new ArrayList<XYTextAnnotation>();

        for (NamedDouble q: qs) {
            xy.add(new StickyAxisAnnotation(
                q.getName(),
                (float) q.getValue(),
                StickyAxisAnnotation.SimpleAxis.X_AXIS));
        }

        return new FLYSAnnotation(description, xy);
    }


    /**
     * Create a deep copy of this Facet.
     * @return a deep copy.
     */
    @Override
    public MainValuesQFacet deepCopy() {
        MainValuesQFacet copy = new MainValuesQFacet(this.name,
            description, this.isAtGauge);
        copy.set(this);
        return copy;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org