view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/minfo/BedQualityState.java @ 3749:3dcc4feff243

Created the initial structure for MINFO bed quality chart generation. flys-artifacts/trunk@5439 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 12 Sep 2012 13:37:58 +0000
parents f3717e625b0a
children e560a9a10eb1
line wrap: on
line source
package de.intevation.flys.artifacts.states.minfo;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import de.intevation.artifactdatabase.state.Facet;
import de.intevation.artifacts.CallContext;
import de.intevation.flys.artifacts.FLYSArtifact;
import de.intevation.flys.artifacts.access.BedQualityAccess;
import de.intevation.flys.artifacts.model.BedQualityCalculation;
import de.intevation.flys.artifacts.model.CalculationResult;
import de.intevation.flys.artifacts.states.DefaultState;

public class BedQualityState extends DefaultState {
    
    private static final Logger logger = Logger.getLogger(BedQualityState.class);
    
    @Override
    public Object computeAdvance(
        FLYSArtifact artifact,
        String       hash,
        CallContext  context,
        List<Facet>  facets,
        Object       old
    ) {
        logger.debug("BedQualityState.computeAdvance");

        List<Facet> newFacets = new ArrayList<Facet>();

        BedQualityAccess access = new BedQualityAccess(artifact);

        CalculationResult res = old instanceof CalculationResult
            ? (CalculationResult) old
            : new BedQualityCalculation().calculate(access);

        if (facets == null || res == null) {
            return res;
        }

        logger.debug("Created " + newFacets.size() + " new Facets.");

        facets.addAll(newFacets);

        return res;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org