Mercurial > dive4elements > river
changeset 7995:2f88a98d9aae facet-metadata
Added missing facet.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 02 Jul 2014 15:54:23 +0200 |
parents | 3c1a16755e61 |
children | 9f42d161886b |
files | artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightSoundingWidthFacet.java |
diffstat | 1 files changed, 70 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /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<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(); + 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; + } +}