ingo@2702: package de.intevation.flys.artifacts.states; ingo@2702: ingo@2702: import java.util.ArrayList; ingo@2702: import java.util.List; ingo@2702: ingo@2702: import org.apache.log4j.Logger; ingo@2702: ingo@2702: import de.intevation.artifactdatabase.state.Facet; ingo@2702: ingo@2702: import de.intevation.artifacts.CallContext; ingo@2702: ingo@2702: import de.intevation.flys.artifacts.FLYSArtifact; ingo@2702: import de.intevation.flys.artifacts.MINFOArtifact; ingo@2702: import de.intevation.flys.artifacts.model.CalculationResult; ingo@2702: import de.intevation.flys.artifacts.model.DataFacet; ingo@2702: import de.intevation.flys.artifacts.model.FacetTypes; ingo@2702: import de.intevation.flys.artifacts.model.FlowVelocityCalculation; ingo@2702: import de.intevation.flys.artifacts.model.FlowVelocityData; ingo@2702: ingo@2702: ingo@2702: public class FlowVelocityState extends DefaultState implements FacetTypes { ingo@2702: ingo@2702: private static Logger logger = Logger.getLogger(FlowVelocityState.class); ingo@2702: ingo@2702: ingo@2702: @Override ingo@2702: public Object computeAdvance( ingo@2702: FLYSArtifact artifact, ingo@2702: String hash, ingo@2702: CallContext context, ingo@2702: List facets, ingo@2702: Object old ingo@2702: ) { ingo@2702: logger.debug("FlowVelocityState.computeAdvance"); ingo@2702: ingo@2702: List newFacets = new ArrayList(); ingo@2702: ingo@2702: CalculationResult res = old instanceof CalculationResult ingo@2702: ? (CalculationResult) old ingo@2702: : new FlowVelocityCalculation().calculate((MINFOArtifact) artifact); ingo@2702: ingo@2702: if (facets == null || res == null) { ingo@2702: return res; ingo@2702: } ingo@2702: ingo@2702: FlowVelocityData[] data = (FlowVelocityData[]) res.getData(); ingo@2702: ingo@2702: logger.debug("Calculated " + data.length + " FlowVelocityData objects"); ingo@2702: ingo@2702: String id = getID(); ingo@2702: ingo@2702: for (FlowVelocityData d: data) { ingo@2702: logger.error("TODO: Implement Facet creation for chart!"); ingo@2702: ingo@2702: } ingo@2702: ingo@2702: Facet csv = new DataFacet( ingo@2702: CSV, "CSV data", ComputeType.ADVANCE, hash, id); ingo@2702: ingo@2702: // TODO ADD PDF FACET ingo@2702: ingo@2702: newFacets.add(csv); ingo@2702: ingo@2702: logger.debug("Created " + newFacets.size() + " new Facets."); ingo@2702: ingo@2702: facets.addAll(newFacets); ingo@2702: ingo@2702: return res; ingo@2702: } ingo@2702: } ingo@2702: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :