raimund@3629: package de.intevation.flys.artifacts.states.minfo; raimund@3629: ingo@3749: import java.util.ArrayList; ingo@3749: import java.util.List; ingo@3749: ingo@3749: import org.apache.log4j.Logger; ingo@3749: ingo@3749: import de.intevation.artifactdatabase.state.Facet; ingo@3749: import de.intevation.artifacts.CallContext; ingo@3749: import de.intevation.flys.artifacts.FLYSArtifact; ingo@3749: import de.intevation.flys.artifacts.access.BedQualityAccess; ingo@3749: import de.intevation.flys.artifacts.model.BedQualityCalculation; ingo@3749: import de.intevation.flys.artifacts.model.CalculationResult; raimund@3629: import de.intevation.flys.artifacts.states.DefaultState; raimund@3629: raimund@3629: public class BedQualityState extends DefaultState { ingo@3749: ingo@3749: private static final Logger logger = Logger.getLogger(BedQualityState.class); ingo@3749: ingo@3749: @Override ingo@3749: public Object computeAdvance( ingo@3749: FLYSArtifact artifact, ingo@3749: String hash, ingo@3749: CallContext context, ingo@3749: List facets, ingo@3749: Object old ingo@3749: ) { ingo@3749: logger.debug("BedQualityState.computeAdvance"); raimund@3629: ingo@3749: List newFacets = new ArrayList(); ingo@3749: ingo@3749: BedQualityAccess access = new BedQualityAccess(artifact); ingo@3749: ingo@3749: CalculationResult res = old instanceof CalculationResult ingo@3749: ? (CalculationResult) old ingo@3749: : new BedQualityCalculation().calculate(access); ingo@3749: ingo@3749: if (facets == null || res == null) { ingo@3749: return res; ingo@3749: } ingo@3749: ingo@3749: logger.debug("Created " + newFacets.size() + " new Facets."); ingo@3749: ingo@3749: facets.addAll(newFacets); ingo@3749: ingo@3749: return res; ingo@3749: } raimund@3629: } ingo@3749: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :