rrenkert@4372: package de.intevation.flys.artifacts.model.minfo; rrenkert@4372: rrenkert@4372: import org.apache.log4j.Logger; rrenkert@4372: rrenkert@4372: import de.intevation.artifactdatabase.state.Facet; rrenkert@4372: import de.intevation.artifacts.Artifact; rrenkert@4372: import de.intevation.artifacts.CallContext; rrenkert@4372: import de.intevation.flys.artifacts.FLYSArtifact; rrenkert@4372: import de.intevation.flys.artifacts.model.CalculationResult; rrenkert@4372: import de.intevation.flys.artifacts.model.DataFacet; rrenkert@4372: import de.intevation.flys.artifacts.states.DefaultState.ComputeType; rrenkert@4372: rrenkert@4372: rrenkert@4372: public class SedimentLoadFacet rrenkert@4372: extends DataFacet rrenkert@4372: { rrenkert@4372: private static Logger logger = Logger.getLogger(SedimentLoadFacet.class); rrenkert@4372: rrenkert@4372: public SedimentLoadFacet() { rrenkert@4372: } rrenkert@4372: rrenkert@4372: public SedimentLoadFacet(int idx, String name, String description, rrenkert@4372: ComputeType type, String stateId, String hash) { rrenkert@4372: super(idx, name, description, type, hash, stateId); rrenkert@4372: } rrenkert@4372: rrenkert@4372: public Object getData(Artifact artifact, CallContext context) { rrenkert@4372: logger.debug("Get data for sediment load at index: " + index); rrenkert@4372: rrenkert@4372: FLYSArtifact flys = (FLYSArtifact) artifact; rrenkert@4372: rrenkert@4372: CalculationResult res = (CalculationResult) flys.compute(context, hash, rrenkert@4372: stateId, type, false); rrenkert@4372: rrenkert@4372: Object[] data = rrenkert@4372: (SedimentLoadResult[]) res.getData(); // TODO CAST TO SPECIFIC CLASS rrenkert@4372: rrenkert@4372: return data != null && data.length > index ? data[index] : null; rrenkert@4372: } rrenkert@4372: rrenkert@4372: /** Copy deeply. */ rrenkert@4372: @Override rrenkert@4372: public Facet deepCopy() { rrenkert@4372: SedimentLoadFacet copy = new SedimentLoadFacet(); rrenkert@4372: copy.set(this); rrenkert@4372: copy.type = type; rrenkert@4372: copy.hash = hash; rrenkert@4372: copy.stateId = stateId; rrenkert@4372: return copy; rrenkert@4372: } rrenkert@4372: } rrenkert@4372: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :