view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java @ 5496:23d8f2700b38

Add support for multiple floodplains and add them to the datacage accordingly
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 28 Mar 2013 12:39:14 +0100
parents 3c3693e9c538
children
line wrap: on
line source
package de.intevation.flys.artifacts.states;

import java.util.List;

import org.apache.log4j.Logger;

import de.intevation.artifacts.CallContext;

import de.intevation.flys.artifacts.model.AreaFacet;

import de.intevation.artifactdatabase.state.Facet;

import de.intevation.flys.artifacts.FLYSArtifact;
import de.intevation.flys.artifacts.AreaArtifact;
import de.intevation.flys.artifacts.model.FacetTypes;


/** Trivial state to create areafacets, no caching. */
public class AreaCreationState
extends      DefaultState
implements   FacetTypes
{
    /** The logger that is used in this state. */
    private static Logger logger = Logger.getLogger(AreaCreationState.class);


    /**
     * From this state can only be continued trivially.
     */
    @Override
    protected String getUIProvider() {
        return "continue";
    }


    /** Just reproduce the Facet. */
    protected Object compute(
        FLYSArtifact  areaArtifact,
        CallContext   cc,
        String        hash,
        List<Facet>   facets,
        Object        old
    ) {
        logger.debug("AreaCreationState.compute");

        if (facets != null) {
            AreaArtifact aArt = (AreaArtifact) areaArtifact;

            facets.add(new AreaFacet(0, aArt.getFacetName(), aArt.getAreaName()));
        }

        // TODO use compute to exploit caching strategies.

        return null;
    }


    /**
     */
    @Override
    public Object computeFeed(
        FLYSArtifact artifact,
        String       hash,
        CallContext  context,
        List<Facet>  facets,
        Object       old
    ) {
        return compute((FLYSArtifact) artifact, context, hash, facets, old);
    }


    /**
     *
     */
    @Override
    public Object computeAdvance(
        FLYSArtifact artifact,
        String       hash,
        CallContext  context,
        List<Facet>  facets,
        Object       old
    ) {
        return compute((FLYSArtifact) artifact, context, hash, facets, old);
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org