# HG changeset patch # User Raimund Renkert # Date 1404309263 -7200 # Node ID 2f88a98d9aaec695615e7f3f17873429afe1d801 # Parent 3c1a16755e61878118bf1ac14c9fc1d70b55bedb Added missing facet. diff -r 3c1a16755e61 -r 2f88a98d9aae artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightSoundingWidthFacet.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightSoundingWidthFacet.java Wed Jul 02 15:54:23 2014 +0200 @@ -0,0 +1,70 @@ +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.height.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 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(); + 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; + } +}