Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCrossSectionFacet.java @ 9506:8b7bf26b8782
Predefined artifact for standard vegetation zones.
Some minor adaptions.
author | gernotbelger |
---|---|
date | Fri, 28 Sep 2018 13:44:12 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/uinfo/vegetationzones/VegetationZonesCrossSectionFacet.java Fri Sep 28 13:44:12 2018 +0200 @@ -0,0 +1,63 @@ +/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde + * Software engineering by + * Björnsen Beratende Ingenieure GmbH + * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt + * + * This file is Free Software under the GNU AGPL (>=v3) + * and comes with ABSOLUTELY NO WARRANTY! Check out the + * documentation coming with Dive4Elements River for details. + */ +package org.dive4elements.river.artifacts.uinfo.vegetationzones; + +import org.dive4elements.artifacts.Artifact; +import org.dive4elements.artifacts.CallContext; +import org.dive4elements.river.artifacts.D4EArtifact; +import org.dive4elements.river.artifacts.model.BlackboardDataFacet; +import org.dive4elements.river.artifacts.model.FacetTypes; +import org.dive4elements.river.exports.CrossSectionGenerator; + +/** + * @author Gernot Belger + * + */ +public final class VegetationZonesCrossSectionFacet extends BlackboardDataFacet implements FacetTypes { + + private static final long serialVersionUID = 1L; + + public VegetationZonesCrossSectionFacet(final String name, final String description) { + super(0, name, description); + + this.metaData.put("X", CrossSectionGenerator.I18N_XAXIS_LABEL); + this.metaData.put("Y", CrossSectionGenerator.I18N_YAXIS_LABEL); + } + + /** + * Returns the data this facet requires. + * + * @param artifact + * the owner artifact. + * @param context + * the CallContext (ignored). + * + * @return + * the data as PredefinedChannelQueryCalculationResult + */ + @Override + public Object getData(final Artifact artifact, final CallContext context) { + + final VegetationzonesAccess vAccess = new VegetationzonesAccess((D4EArtifact) artifact); + return VegetationZoneServerClientXChange.parse(vAccess.getVegZones()); + } + + /** + * Create a deep copy of this Facet. + * + * @return a deep copy. + */ + @Override + public VegetationZonesCrossSectionFacet deepCopy() { + final VegetationZonesCrossSectionFacet copy = new VegetationZonesCrossSectionFacet(this.name, this.description); + copy.set(this); + return copy; + } +} \ No newline at end of file