view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/AreaCreationState.java @ 2791:c9815016a3bb

Merged revisions 4536 via svnmerge from file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk ........ r4536 | ingo | 2012-05-27 15:35:15 +0200 (So, 27 Mai 2012) | 1 line Added more checks in CrossSectionFactory.isNewst() to prevent IndexOutOfBoundsExceptions. ........ flys-artifacts/tags/2.7@4538 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Sun, 27 May 2012 13:39:30 +0000
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