sascha@3775: package de.intevation.flys.artifacts.states.extreme; sascha@3775: sascha@3775: import de.intevation.artifactdatabase.state.Facet; sascha@3775: sascha@3775: import de.intevation.artifacts.CallContext; sascha@3775: sascha@3775: import de.intevation.flys.artifacts.FLYSArtifact; sascha@3775: sascha@3775: import de.intevation.flys.artifacts.access.ExtremeAccess; sascha@3775: sascha@3775: import de.intevation.flys.artifacts.model.CalculationResult; sascha@3775: import de.intevation.flys.artifacts.model.ReportFacet; sascha@3775: sascha@3775: import de.intevation.flys.artifacts.model.extreme.ExtremeCalculation; sascha@3775: sascha@3775: import de.intevation.flys.artifacts.states.DefaultState; sascha@3775: sascha@3775: import java.util.List; sascha@3775: sascha@3775: import org.apache.log4j.Logger; sascha@3775: felix@4043: /** State in which to deliver extreme value analysis result. */ sascha@3775: public class ExtremeCompute sascha@3775: extends DefaultState sascha@3775: { felix@4043: /** Private logger. */ sascha@3775: private static Logger log = Logger.getLogger(ExtremeCompute.class); sascha@3775: sascha@3775: public ExtremeCompute() { sascha@3775: } sascha@3775: sascha@3775: @Override sascha@3775: public Object computeAdvance( sascha@3775: FLYSArtifact artifact, sascha@3775: String hash, sascha@3775: CallContext context, sascha@3775: List facets, sascha@3775: Object old sascha@3775: ) { sascha@3775: log.debug("ExtremeCompute.computeAdvance"); sascha@3775: sascha@3775: CalculationResult res; sascha@3775: sascha@3775: ExtremeAccess access = new ExtremeAccess(artifact); sascha@3775: sascha@3775: if (old instanceof CalculationResult) { sascha@3775: res = (CalculationResult)old; sascha@3775: } sascha@3775: else { sascha@3775: ExtremeCalculation calc = new ExtremeCalculation(access); sascha@3775: res = calc.calculate(); sascha@3775: } sascha@3775: sascha@3775: if (facets == null) { sascha@3775: return res; sascha@3775: } sascha@3775: sascha@3775: if (res.getReport().hasProblems()) { sascha@3775: facets.add(new ReportFacet()); sascha@3775: } sascha@3775: sascha@3775: // TODO: Add more facets. sascha@3775: sascha@3775: return res; sascha@3775: } sascha@3775: } sascha@3775: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :