view artifacts/src/main/java/org/dive4elements/river/artifacts/states/AreaCreationState.java @ 5863:4897a58c8746

River artifacts: Added new copyright headers.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 14:40:59 +0200
parents 5aa05a7a34b7
children 59ff03ff48f1
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3) 
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details. 
 */

package org.dive4elements.river.artifacts.states;

import java.util.List;

import org.apache.log4j.Logger;

import org.dive4elements.artifacts.CallContext;

import org.dive4elements.river.artifacts.model.AreaFacet;

import org.dive4elements.artifactdatabase.state.Facet;

import org.dive4elements.river.artifacts.FLYSArtifact;
import org.dive4elements.river.artifacts.AreaArtifact;
import org.dive4elements.river.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