sascha@2170: package de.intevation.flys.artifacts.states; sascha@2170: sascha@2195: import de.intevation.artifactdatabase.state.Facet; sascha@2195: sascha@2195: import de.intevation.artifacts.CallContext; sascha@2195: sascha@2195: import de.intevation.flys.artifacts.FLYSArtifact; sascha@2195: import de.intevation.flys.artifacts.WINFOArtifact; sascha@2195: sascha@2195: import de.intevation.flys.artifacts.model.CalculationResult; sascha@2195: import de.intevation.flys.artifacts.model.FacetTypes; felix@2222: import de.intevation.flys.artifacts.model.ReferenceCurveFacet; sascha@2195: import de.intevation.flys.artifacts.model.ReportFacet; sascha@2195: import de.intevation.flys.artifacts.model.WW; sascha@2195: felix@2251: import de.intevation.flys.artifacts.resources.Resources; felix@2251: sascha@2195: import java.util.List; sascha@2195: sascha@2195: import org.apache.log4j.Logger; sascha@2195: felix@2251: sascha@2170: public class ReferenceCurveState sascha@2170: extends DefaultState sascha@2195: implements FacetTypes sascha@2170: { sascha@2195: private static Logger log = Logger.getLogger(ReferenceCurveState.class); sascha@2195: sascha@2170: public ReferenceCurveState() { sascha@2170: } sascha@2195: sascha@2195: @Override sascha@2195: public Object computeAdvance( sascha@2195: FLYSArtifact artifact, sascha@2195: String hash, sascha@2195: CallContext context, sascha@2195: List facets, sascha@2195: Object old sascha@2195: ) { sascha@2195: sascha@2195: if (!(artifact instanceof WINFOArtifact)) { sascha@2195: return null; sascha@2195: } sascha@2195: sascha@2195: WINFOArtifact winfo = (WINFOArtifact)artifact; sascha@2195: sascha@2195: CalculationResult res = old instanceof CalculationResult sascha@2195: ? (CalculationResult)old sascha@2195: : winfo.getReferenceCurveData(); sascha@2195: sascha@2195: if (facets == null) { sascha@2195: return res; sascha@2195: } sascha@2195: sascha@2195: WW [] wws = (WW [])res.getData(); sascha@2195: sascha@2195: for (int i = 0; i < wws.length; ++i) { felix@2251: facets.add(new ReferenceCurveFacet(i, felix@2251: REFERENCE_CURVE, felix@2251: Resources.getMsg(context.getMeta(), REFERENCE_CURVE, REFERENCE_CURVE))); sascha@2195: } sascha@2195: sascha@2195: if (wws.length > 0) { sascha@2195: // TODO: Add CSV/PDF facets. sascha@2195: } sascha@2195: sascha@2195: if (res.getReport().hasProblems()) { sascha@2195: facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id)); sascha@2195: } sascha@2195: sascha@2195: return res; sascha@2195: } sascha@2170: } sascha@2170: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :