sascha@3413: package de.intevation.flys.artifacts.states.fixation;
sascha@3413:
sascha@3414: import de.intevation.artifactdatabase.state.Facet;
sascha@3414:
sascha@3414: import de.intevation.artifacts.CallContext;
sascha@3414:
sascha@3414: import de.intevation.flys.artifacts.FLYSArtifact;
sascha@3414:
sascha@3414: import de.intevation.flys.artifacts.access.FixRealizingAccess;
sascha@3414:
sascha@3414: import de.intevation.flys.artifacts.model.CalculationResult;
sascha@3414: import de.intevation.flys.artifacts.model.ReportFacet;
sascha@3414:
sascha@3414: import de.intevation.flys.artifacts.model.fixings.FixRealizingCalculation;
sascha@3413:
sascha@3413: import de.intevation.flys.artifacts.states.DefaultState;
sascha@3413:
sascha@3414: import java.util.List;
sascha@3414:
sascha@3414: import org.apache.log4j.Logger;
sascha@3413:
sascha@3413: /**
sascha@3413: * @author Raimund Renkert
sascha@3413: */
sascha@3413: public class FixRealizingCompute extends DefaultState {
sascha@3413:
sascha@3413: /** The logger used in this class. */
sascha@3414: private static Logger log = Logger.getLogger(FixRealizingCompute.class);
sascha@3413:
sascha@3413: /**
sascha@3413: * The default constructor that initializes an empty State object.
sascha@3413: */
sascha@3413: public FixRealizingCompute() {
sascha@3413: }
sascha@3414:
sascha@3414: @Override
sascha@3414: public Object computeAdvance(
sascha@3414: FLYSArtifact artifact,
sascha@3414: String hash,
sascha@3414: CallContext context,
sascha@3414: List facets,
sascha@3414: Object old
sascha@3414: ) {
sascha@3414: log.debug("FixRealizingCompute.computeAdvance");
sascha@3414:
sascha@3414: CalculationResult res;
sascha@3414:
sascha@3414: FixRealizingAccess access =
sascha@3414: new FixRealizingAccess(artifact);
sascha@3414:
sascha@3414: if (old instanceof CalculationResult) {
sascha@3414: res = (CalculationResult)old;
sascha@3414: }
sascha@3414: else {
sascha@3414: FixRealizingCalculation calc = new FixRealizingCalculation(access);
sascha@3414: res = calc.calculate();
sascha@3414: }
sascha@3414:
sascha@3414: if (facets == null) {
sascha@3414: return res;
sascha@3414: }
sascha@3414:
sascha@3414: if (res.getReport().hasProblems()) {
sascha@3414: facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
sascha@3414: }
sascha@3414:
sascha@3414: // TODO: Added facets
sascha@3414:
sascha@3414: return res;
sascha@3414: }
sascha@3413: }
sascha@3413: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :