Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightSoundingWidthFacet.java @ 8427:2f640972ecf6
There might be no sounding width given at some stations of a bed height single.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 17 Oct 2014 17:05:59 +0200 |
parents | 99912f51468d |
children | 6d8d7425a6b5 |
line wrap: on
line source
package org.dive4elements.river.artifacts.model.minfo; import java.util.List; import org.dive4elements.artifacts.Artifact; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.D4EArtifact; import org.dive4elements.river.artifacts.access.BedHeightAccess; import org.dive4elements.river.artifacts.model.BlackboardDataFacet; import org.dive4elements.river.artifacts.model.FacetTypes; import org.dive4elements.river.model.BedHeightSingle; import org.dive4elements.river.model.BedHeightSingleValue; public class BedHeightSoundingWidthFacet extends BlackboardDataFacet implements FacetTypes { public BedHeightSoundingWidthFacet(String name, String description) { this.name = name; this.description = description; this.index = 0; this.metaData.put("X", "chart.longitudinal.section.xaxis.label"); this.metaData.put("Y", "chart.bedheight_middle.section.yaxis.label"); } /** * Returns the data this facet requires. * * @param artifact the owner artifact. * @param context the CallContext (ignored). * * @return the data. */ @Override public Object getData(Artifact artifact, CallContext context) { BedHeightAccess access = new BedHeightAccess((D4EArtifact)artifact); /* Former doc (from BedHeightAccess): * Return a {@link List} of {@link BedHeightSingleValue}s * at the range of the artifact * @return List of {@link BedHeightSingleValue}s */ BedHeightSingle single = BedHeightSingle.getBedHeightSingleById( access.getHeightId()); List<BedHeightSingleValue> bedheightValues = BedHeightSingleValue.getBedHeightSingleValues( single, access.getFrom(), access.getTo()); double[][] values = new double[2][bedheightValues.size()]; int i = 0; for (BedHeightSingleValue bedheightValue : bedheightValues) { values[0][i] = bedheightValue.getStation(); values[1][i] = bedheightValue.getSoundingWidth() != null ? bedheightValue.getSoundingWidth() : Double.NaN; i++; } return values; } /** * Create a deep copy of this Facet. * @return a deep copy. */ @Override public BedHeightSoundingWidthFacet deepCopy() { BedHeightSoundingWidthFacet copy = new BedHeightSoundingWidthFacet(name, description); copy.set(this); return copy; } }