Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadUnknownFacet.java @ 7201:3aaacdedf360
issue1435: Added new sediment.density facet type.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 30 Sep 2013 17:29:26 +0200 |
parents | 91c43293e538 |
children | a56fe3bc6700 |
line wrap: on
line source
package org.dive4elements.river.artifacts.model.minfo; import org.apache.log4j.Logger; import org.dive4elements.artifactdatabase.state.Facet; import org.dive4elements.artifacts.Artifact; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.D4EArtifact; import org.dive4elements.river.artifacts.access.SedimentLoadAccess; import org.dive4elements.river.artifacts.model.DataFacet; import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; public class SedimentLoadUnknownFacet extends DataFacet { /** Very own logger. */ private static Logger logger = Logger.getLogger(SedimentLoadUnknownFacet.class); public SedimentLoadUnknownFacet() { } public SedimentLoadUnknownFacet(int idx, String name, String description, ComputeType type, String stateId, String hash) { super(idx, name, description, type, hash, stateId); } /** Get data from SedimentLoad with unknown type, from factory. */ @Override public Object getData(Artifact artifact, CallContext context) { logger.debug("Get data for sediment load at index: " + index); D4EArtifact flys = (D4EArtifact) artifact; SedimentLoadAccess access = new SedimentLoadAccess(flys); String river = access.getRiver(); String unit = access.getUnit(); SedimentLoad[] unknown = SedimentLoadFactory.getSedimentLoadUnknown( river, unit.replace("_per_","/"), access.getYearEpoch()); SedimentLoad load = SedimentLoadFactory.getLoadUnknown( river, unknown[index].getDescription()); return load; } /** Copy deeply. */ @Override public Facet deepCopy() { SedimentLoadUnknownFacet copy = new SedimentLoadUnknownFacet(); copy.set(this); copy.hash = hash; copy.stateId = stateId; return copy; } }