view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/FlowVelocityFacet.java @ 2792:fe987587ebc9

Merged revisions 4539-4540,4543,4545-4546 via svnmerge from file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk ........ r4539 | teichmann | 2012-05-27 20:02:13 +0200 (So, 27 Mai 2012) | 1 line FixA: Added forgotten csv/report facets/generators to conf. ........ r4540 | teichmann | 2012-05-27 20:11:31 +0200 (So, 27 Mai 2012) | 1 line FixA: Fixed class cast bug in report facet. ........ r4543 | teichmann | 2012-05-28 20:35:01 +0200 (Mo, 28 Mai 2012) | 1 line FixA: Added facet to return delta w/t as CSV ........ r4545 | teichmann | 2012-05-28 22:59:27 +0200 (Mo, 28 Mai 2012) | 1 line FixA: Made Delta W/t calculation finally work ........ r4546 | teichmann | 2012-05-28 23:34:24 +0200 (Mo, 28 Mai 2012) | 1 line FixA: corrected fitting (Q->W instead W->Q). ........ flys-artifacts/tags/2.7@4547 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 29 May 2012 04:58:29 +0000
parents d8444fcb4e44
children 587b0e82924a
line wrap: on
line source
package de.intevation.flys.artifacts.model;

import de.intevation.artifactdatabase.state.Facet;

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

import de.intevation.flys.artifacts.FLYSArtifact;

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

import org.apache.log4j.Logger;

/**
 * Facet of a FlowVelocity curve.
 */
public class FlowVelocityFacet extends DataFacet {

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


    public FlowVelocityFacet() {
        // required for clone operation deepCopy()
    }


    public FlowVelocityFacet(
        int         idx,
        String      name,
        String      description,
        ComputeType type,
        String      stateId,
        String      hash
    ) {
        super(idx, name, description, type, hash, stateId);
    }


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

        FLYSArtifact flys = (FLYSArtifact) artifact;

        CalculationResult res = (CalculationResult)
            flys.compute(context, hash, stateId, type, false);

        FlowVelocityData[] data = (FlowVelocityData[]) res.getData();

        return data[index];
    }


    /** Copy deeply. */
    @Override
    public Facet deepCopy() {
        FlowVelocityFacet copy = new FlowVelocityFacet();
        copy.set(this);
        copy.type    = type;
        copy.hash    = hash;
        copy.stateId = stateId;
        return copy;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org