rrenkert@7983: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde rrenkert@7983: * Software engineering by Intevation GmbH rrenkert@7983: * rrenkert@7983: * This file is Free Software under the GNU AGPL (>=v3) rrenkert@7983: * and comes with ABSOLUTELY NO WARRANTY! Check out the rrenkert@7983: * documentation coming with Dive4Elements River for details. rrenkert@7983: */ rrenkert@7983: rrenkert@7983: package org.dive4elements.river.artifacts.model.minfo; rrenkert@7983: rrenkert@7983: import org.dive4elements.artifactdatabase.state.Facet; rrenkert@7983: rrenkert@7983: import org.dive4elements.artifacts.Artifact; rrenkert@7983: import org.dive4elements.artifacts.CallContext; rrenkert@7983: rrenkert@7983: import org.dive4elements.river.artifacts.D4EArtifact; rrenkert@7983: rrenkert@7983: import org.dive4elements.river.artifacts.model.CalculationResult; rrenkert@7983: import org.dive4elements.river.artifacts.model.DataFacet; rrenkert@7983: import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; rrenkert@7983: rrenkert@7983: import org.apache.log4j.Logger; rrenkert@7983: rrenkert@7983: rrenkert@7983: /** rrenkert@7983: * Facet of a MiddleBedHeight curve. rrenkert@7983: */ rrenkert@7983: public class MiddleBedHeightFacet extends DataFacet { rrenkert@7983: teichmann@8202: private static Logger log = Logger.getLogger(MiddleBedHeightFacet.class); rrenkert@7983: rrenkert@7983: rrenkert@7983: public MiddleBedHeightFacet() { rrenkert@7983: // required for clone operation deepCopy() rrenkert@7983: } rrenkert@7983: rrenkert@7983: rrenkert@7983: public MiddleBedHeightFacet( rrenkert@7983: int idx, rrenkert@7983: String name, rrenkert@7983: String description, rrenkert@7983: ComputeType type, rrenkert@7983: String stateId, rrenkert@7983: String hash rrenkert@7983: ) { rrenkert@7983: super(idx, name, description, type, hash, stateId); rrenkert@7983: this.metaData.put("X", "chart.longitudinal.section.xaxis.label"); rrenkert@7983: this.metaData.put("Y", "chart.bedheight_middle.section.yaxis.label"); rrenkert@7983: } rrenkert@7983: rrenkert@7983: rrenkert@7983: public Object getData(Artifact artifact, CallContext context) { teichmann@8202: log.debug("Get data for middle bed height at index: " + index); rrenkert@7983: rrenkert@7983: D4EArtifact flys = (D4EArtifact) artifact; rrenkert@7983: rrenkert@7983: CalculationResult res = (CalculationResult) rrenkert@7983: flys.compute(context, hash, stateId, type, false); rrenkert@7983: rrenkert@7983: MiddleBedHeightData[] resultData = rrenkert@7983: (MiddleBedHeightData[]) res.getData(); rrenkert@7983: MiddleBedHeightData data = resultData[index]; rrenkert@7983: rrenkert@7983: return data.getMiddleHeightsPoints(); rrenkert@7983: } rrenkert@7983: rrenkert@7983: rrenkert@7983: /** Copy deeply. */ rrenkert@7983: @Override rrenkert@7983: public Facet deepCopy() { rrenkert@7983: MiddleBedHeightFacet copy = new MiddleBedHeightFacet(); rrenkert@7983: copy.set(this); rrenkert@7983: copy.type = type; rrenkert@7983: copy.hash = hash; rrenkert@7983: copy.stateId = stateId; rrenkert@7983: return copy; rrenkert@7983: } rrenkert@7983: } rrenkert@7983: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :