rrenkert@6388: package org.dive4elements.river.artifacts.model.minfo; rrenkert@6388: rrenkert@6388: import org.apache.log4j.Logger; rrenkert@6388: import org.dive4elements.artifactdatabase.state.Facet; rrenkert@6388: import org.dive4elements.artifacts.Artifact; rrenkert@6388: import org.dive4elements.artifacts.CallContext; rrenkert@6388: import org.dive4elements.river.artifacts.D4EArtifact; rrenkert@6388: import org.dive4elements.river.artifacts.access.SedimentLoadAccess; rrenkert@6388: import org.dive4elements.river.artifacts.model.DataFacet; rrenkert@6388: import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; rrenkert@6388: rrenkert@6388: rrenkert@6388: public class SedimentLoadUnknownFacet rrenkert@6388: extends DataFacet rrenkert@6388: { rrenkert@6388: /** Very own logger. */ felix@6664: private static Logger logger = Logger.getLogger(SedimentLoadUnknownFacet.class); rrenkert@6388: rrenkert@6388: public SedimentLoadUnknownFacet() { rrenkert@6388: } rrenkert@6388: rrenkert@6388: public SedimentLoadUnknownFacet(int idx, String name, String description, rrenkert@6388: ComputeType type, String stateId, String hash) { rrenkert@6388: super(idx, name, description, type, hash, stateId); rrenkert@6388: } rrenkert@6388: felix@6665: /** Get data from SedimentLoad with unknown type, from factory. */ rrenkert@6388: @Override rrenkert@6388: public Object getData(Artifact artifact, CallContext context) { rrenkert@6388: logger.debug("Get data for sediment load at index: " + index); rrenkert@6388: rrenkert@6388: D4EArtifact flys = (D4EArtifact) artifact; rrenkert@6388: rrenkert@6388: SedimentLoadAccess access = new SedimentLoadAccess(flys); felix@7261: String river = access.getRiverName(); felix@6665: String unit = access.getUnit(); rrenkert@6388: SedimentLoad[] unknown = felix@6755: SedimentLoadFactory.getSedimentLoadUnknown( felix@6755: river, felix@6755: unit.replace("_per_","/"), felix@6755: access.getYearEpoch()); rrenkert@6388: rrenkert@6388: SedimentLoad load = SedimentLoadFactory.getLoadUnknown( rrenkert@6388: river, unknown[index].getDescription()); rrenkert@6388: return load; rrenkert@6388: } rrenkert@6388: rrenkert@6388: /** Copy deeply. */ rrenkert@6388: @Override rrenkert@6388: public Facet deepCopy() { rrenkert@6388: SedimentLoadUnknownFacet copy = new SedimentLoadUnknownFacet(); rrenkert@6388: copy.set(this); rrenkert@6388: copy.hash = hash; rrenkert@6388: copy.stateId = stateId; rrenkert@6388: return copy; rrenkert@6388: } rrenkert@6388: }