Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java @ 2195:e14beb93a854
"Bezugslinenverfahren": Added stub loop for creating facets.
flys-artifacts/trunk@3811 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 27 Jan 2012 17:17:45 +0000 |
parents | 90dfc25007f1 |
children | 606f4fd7f815 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java Fri Jan 27 15:43:04 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ReferenceCurveState.java Fri Jan 27 17:17:45 2012 +0000 @@ -1,9 +1,68 @@ package de.intevation.flys.artifacts.states; +import de.intevation.artifactdatabase.state.Facet; + +import de.intevation.artifacts.CallContext; + +import de.intevation.flys.artifacts.FLYSArtifact; +import de.intevation.flys.artifacts.WINFOArtifact; + +import de.intevation.flys.artifacts.model.CalculationResult; +import de.intevation.flys.artifacts.model.FacetTypes; +import de.intevation.flys.artifacts.model.ReportFacet; +import de.intevation.flys.artifacts.model.WW; + +import java.util.List; + +import org.apache.log4j.Logger; + public class ReferenceCurveState extends DefaultState +implements FacetTypes { + private static Logger log = Logger.getLogger(ReferenceCurveState.class); + public ReferenceCurveState() { } + + @Override + public Object computeAdvance( + FLYSArtifact artifact, + String hash, + CallContext context, + List<Facet> facets, + Object old + ) { + + if (!(artifact instanceof WINFOArtifact)) { + return null; + } + + WINFOArtifact winfo = (WINFOArtifact)artifact; + + CalculationResult res = old instanceof CalculationResult + ? (CalculationResult)old + : winfo.getReferenceCurveData(); + + if (facets == null) { + return res; + } + + WW [] wws = (WW [])res.getData(); + + for (int i = 0; i < wws.length; ++i) { + // TODO: Add data facets. + } + + if (wws.length > 0) { + // TODO: Add CSV/PDF facets. + } + + if (res.getReport().hasProblems()) { + facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id)); + } + + return res; + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :