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