Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java @ 3414:1bb6fb621167
FixA: Added stub for the "Ausgelagerte Wasserspiegellagen" calculation.
flys-artifacts/trunk@5067 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 19 Jul 2012 14:59:16 +0000 |
parents | 4c4d88c0af6a |
children | 35ead8fadc36 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java Thu Jul 19 14:27:20 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/fixation/FixRealizingCompute.java Thu Jul 19 14:59:16 2012 +0000 @@ -1,9 +1,23 @@ package de.intevation.flys.artifacts.states.fixation; -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.FixRealizingAccess; + +import de.intevation.flys.artifacts.model.CalculationResult; +import de.intevation.flys.artifacts.model.ReportFacet; + +import de.intevation.flys.artifacts.model.fixings.FixRealizingCalculation; import de.intevation.flys.artifacts.states.DefaultState; +import java.util.List; + +import org.apache.log4j.Logger; /** * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> @@ -11,13 +25,48 @@ public class FixRealizingCompute extends DefaultState { /** The logger used in this class. */ - private static Logger logger = Logger.getLogger(FixRealizingCompute.class); - + private static Logger log = Logger.getLogger(FixRealizingCompute.class); /** * The default constructor that initializes an empty State object. */ public FixRealizingCompute() { } + + @Override + public Object computeAdvance( + FLYSArtifact artifact, + String hash, + CallContext context, + List<Facet> facets, + Object old + ) { + log.debug("FixRealizingCompute.computeAdvance"); + + CalculationResult res; + + FixRealizingAccess access = + new FixRealizingAccess(artifact); + + if (old instanceof CalculationResult) { + res = (CalculationResult)old; + } + else { + FixRealizingCalculation calc = new FixRealizingCalculation(access); + res = calc.calculate(); + } + + if (facets == null) { + return res; + } + + if (res.getReport().hasProblems()) { + facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id)); + } + + // TODO: Added facets + + return res; + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :