view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WaterlevelFacet.java @ 1087:22149b0545b9

New NamedDouble class which implements a <String,double>-pair. flys-artifacts/trunk@2590 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Fri, 26 Aug 2011 11:10:31 +0000
parents b1b0a0b61845
children ea80e652f033
line wrap: on
line source
package de.intevation.flys.artifacts.model;

import org.apache.log4j.Logger;

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

import de.intevation.artifactdatabase.state.DefaultFacet;
import de.intevation.artifactdatabase.state.Facet;

import de.intevation.flys.artifacts.WINFOArtifact;

import de.intevation.flys.artifacts.states.DefaultState.ComputeType;

public class WaterlevelFacet extends DefaultFacet {

    private static Logger logger = Logger.getLogger(WaterlevelFacet.class);

    protected ComputeType type;
    protected String      stateID;
    protected String      hash;

    public WaterlevelFacet(int index, String name, String description) {
        this(index, name, description, ComputeType.ADVANCE, null, null);
    }

    public WaterlevelFacet() {
    }

    public WaterlevelFacet(
        int         index,
        String      name,
        String      description,
        ComputeType type,
        String      stateID,
        String      hash

    ) {
        super(index, name, description);
        this.type    = type;
        this.stateID = stateID;
        this.hash    = hash;
    }

    public Object getData(Artifact artifact, CallContext context) {
        logger.debug("Get data for waterlevels at index: " + index);

        WINFOArtifact winfo = (WINFOArtifact)artifact;

        CalculationResult res = (CalculationResult)
            winfo.compute(context, stateID, hash, type, false);

        WQKms [] wqkms = (WQKms [])res.getData();

        return wqkms[index];
    }

    public Facet deepCopy() {
        WaterlevelFacet copy = new WaterlevelFacet();
        copy.set(this);
        copy.type    = type;
        copy.stateID = stateID;
        copy.hash    = hash;
        return copy;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org