Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightFacet.java @ 7984:cf674b03901a facet-metadata
Bedheight facet now returns double[][]. Removed obsolete processor code.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 01 Jul 2014 13:27:53 +0200 |
parents | 42076d94977e |
children | b0cee7dfd6fe |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightFacet.java Tue Jul 01 13:25:46 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedHeightFacet.java Tue Jul 01 13:27:53 2014 +0200 @@ -8,6 +8,11 @@ package org.dive4elements.river.artifacts.model.minfo; +import gnu.trove.TDoubleArrayList; + +import java.util.List; + +import org.apache.log4j.Logger; import org.dive4elements.artifacts.Artifact; import org.dive4elements.artifacts.CallContext; import org.dive4elements.river.artifacts.D4EArtifact; @@ -21,6 +26,8 @@ extends BlackboardDataFacet implements FacetTypes { + private static final Logger logger = Logger.getLogger(BedHeightFacet.class); + private String type; public BedHeightFacet(String name, String description, String type) { @@ -50,18 +57,39 @@ * @return List of {@link BedHeightSingleValue}s */ BedHeightSingle single = BedHeightSingle.getBedHeightSingleById( access.getHeightId()); - return BedHeightSingleValue.getBedHeightSingleValues(single, + 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.getHeight(); + i++; + } + return values; } else { /* Former doc (from BedHeightAccess): * Return the {@link BedHeight} at the height_id and time of the artifact * @return {@link BedHeight} */ - return BedHeightFactory.getHeight( + BedHeightData data = BedHeightFactory.getHeight( access.getType(), access.getHeightId(), access.getTime()); + //data.removeNaNs(); + TDoubleArrayList stations= data.getStations(); + double[][] values = new double[2][stations.size()]; + logger.debug("stations: " + stations.size()); + for (int i = 0; i < stations.size(); i++) { + logger.debug("station: " + stations.get(i)); + values[0][i] = stations.get(i); + logger.debug("height: " + data.getHeight(i)); + values[1][i] = data.getHeight(i); + } + return values; } }