rrenkert@7985: package org.dive4elements.river.artifacts.model.minfo; rrenkert@7985: rrenkert@7985: import org.apache.log4j.Logger; rrenkert@7985: import org.dive4elements.artifactdatabase.state.Facet; rrenkert@7985: import org.dive4elements.artifacts.Artifact; rrenkert@7985: import org.dive4elements.artifacts.CallContext; rrenkert@7985: import org.dive4elements.river.artifacts.D4EArtifact; rrenkert@7985: import org.dive4elements.river.artifacts.model.CalculationResult; rrenkert@7985: import org.dive4elements.river.artifacts.model.DataFacet; rrenkert@7985: import org.dive4elements.river.artifacts.model.FacetTypes; rrenkert@7985: import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; rrenkert@7985: rrenkert@7985: rrenkert@7985: public class BedDiffMorphMinFacet rrenkert@7985: extends DataFacet rrenkert@7985: implements FacetTypes rrenkert@7985: { rrenkert@7985: private static Logger logger = Logger.getLogger(BedDiffMorphMinFacet.class); rrenkert@7985: rrenkert@7985: public BedDiffMorphMinFacet() { rrenkert@7985: } rrenkert@7985: rrenkert@7985: public BedDiffMorphMinFacet(int idx, String name, String description, rrenkert@7985: ComputeType type, String stateId, String hash) { rrenkert@7985: super(idx, name, description, type, hash, stateId); rrenkert@7985: this.metaData.put("X", "chart.longitudinal.section.xaxis.label"); rrenkert@7985: this.metaData.put("Y", "chart.beddifference.axis.label.y"); rrenkert@7985: } rrenkert@7985: rrenkert@7985: public Object getData(Artifact artifact, CallContext context) { rrenkert@7985: logger.debug("Get data for bed density at index: " + index); rrenkert@7985: rrenkert@7985: D4EArtifact flys = (D4EArtifact) artifact; rrenkert@7985: rrenkert@7985: CalculationResult res = (CalculationResult) flys.compute(context, hash, rrenkert@7985: stateId, type, false); rrenkert@7985: rrenkert@7985: BedDiffYearResult[] resultData = rrenkert@7985: (BedDiffYearResult[]) res.getData(); // TODO CAST TO SPECIFIC CLASS rrenkert@7985: rrenkert@7985: if (resultData != null && resultData.length > index) { rrenkert@7985: BedDiffYearResult data = resultData[index]; rrenkert@7985: return data.getMorphWidth1Data(); rrenkert@7985: } rrenkert@7985: return null; rrenkert@7985: } rrenkert@7985: rrenkert@7985: /** Copy deeply. */ rrenkert@7985: @Override rrenkert@7985: public Facet deepCopy() { rrenkert@7985: BedDiffMorphMinFacet copy = new BedDiffMorphMinFacet(); rrenkert@7985: copy.set(this); rrenkert@7985: copy.type = type; rrenkert@7985: copy.hash = hash; rrenkert@7985: copy.stateId = stateId; rrenkert@7985: return copy; rrenkert@7985: } rrenkert@7985: }