felix@7199: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde felix@7199: * Software engineering by Intevation GmbH felix@7199: * felix@7199: * This file is Free Software under the GNU AGPL (>=v3) felix@7199: * and comes with ABSOLUTELY NO WARRANTY! Check out the felix@7199: * documentation coming with Dive4Elements River for details. felix@7199: */ felix@7199: felix@7199: package org.dive4elements.river.artifacts.model.minfo; felix@7199: felix@7199: import org.dive4elements.artifactdatabase.state.Facet; felix@7199: felix@7199: import org.dive4elements.artifacts.Artifact; felix@7199: import org.dive4elements.artifacts.CallContext; felix@7199: felix@7199: import org.dive4elements.river.artifacts.D4EArtifact; felix@7199: felix@7199: import org.dive4elements.river.artifacts.model.DataFacet; felix@7199: felix@7199: import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; felix@7199: felix@7199: import org.apache.log4j.Logger; felix@7199: felix@7199: felix@7199: /** Facet to access sediment density values measured in one year. */ felix@7199: public class SedimentDensityFacet felix@7199: extends DataFacet felix@7199: { felix@7199: /** Very own logger. */ felix@7199: private static Logger logger = Logger.getLogger(SedimentDensityFacet.class); felix@7199: felix@7199: /** Used as tolerance value when fetching measurement stations. */ felix@7199: private static double EPSILON = 1e-5; felix@7199: felix@7199: felix@7199: public SedimentDensityFacet() { felix@7199: } felix@7199: felix@7199: public SedimentDensityFacet(int idx, String name, String description, felix@7199: ComputeType type, String stateId, String hash) { felix@7199: super(idx, name, description, type, hash, stateId); felix@7199: } felix@7199: felix@7199: @Override felix@7199: public Object getData(Artifact artifact, CallContext context) { felix@7199: logger.debug("Get data for sediment density at index: " + index); felix@7199: felix@7199: D4EArtifact flys = (D4EArtifact) artifact; felix@7199: felix@7206: SedimentDensity res = (SedimentDensity) flys.compute(context, hash, felix@7199: stateId, type, false); felix@7199: felix@7199: if (res == null) { felix@7206: logger.error("No SedimentDensity"); felix@7199: } felix@7199: felix@7206: return res; felix@7199: } felix@7199: felix@7199: felix@7199: /** Copy deeply. */ felix@7199: @Override felix@7199: public Facet deepCopy() { felix@7199: SedimentDensityFacet copy = new SedimentDensityFacet(); felix@7199: copy.set(this); felix@7199: copy.type = type; felix@7199: copy.hash = hash; felix@7199: copy.stateId = stateId; felix@7199: return copy; felix@7199: } felix@7199: } felix@7199: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :