Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java @ 1975:b30e1710df1d
Server-side of interactive cross-section diagrams.
flys-artifacts/trunk@3394 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 13 Dec 2011 09:10:48 +0000 |
parents | 26d7077e42d2 |
children | bf62cc7052d4 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java Tue Dec 13 08:56:52 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/CrossSectionWaterLineFacet.java Tue Dec 13 09:10:48 2011 +0000 @@ -2,11 +2,16 @@ import org.apache.log4j.Logger; +import java.util.List; + +import de.intevation.flys.model.CrossSectionLine; + import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; +import de.intevation.artifacts.DataProvider; import de.intevation.flys.artifacts.WINFOArtifact; @@ -28,24 +33,35 @@ /** - * Gets dummy data. + * Gets waterline (crossed with cross section) of waterlevel. */ public Object getData(Artifact artifact, CallContext context) { logger.debug("Get data for cross section water line"); + List<DataProvider> providers = context. + getDataProvider(CrossSectionFacet.BLACKBOARD_CS_MASTER_DATA); + if (providers.size() < 1) { + logger.warn("Could not find Cross-Section data provider."); + return new double[][] {}; + } + + Object crossSection = providers.get(0) + .provideData(CrossSectionFacet.BLACKBOARD_CS_MASTER_DATA, null, context); + WINFOArtifact winfo = (WINFOArtifact)artifact; - return winfo.getWaterLines(this.getIndex()); + return winfo.getWaterLines(this.getIndex(), (CrossSectionLine) crossSection); } /** Do a deep copy. */ @Override public Facet deepCopy() { - CrossSectionWaterLineFacet copy = new CrossSectionWaterLineFacet(this.getIndex(), this.description); + CrossSectionWaterLineFacet copy = new CrossSectionWaterLineFacet( + this.getIndex(), + this.description); copy.set(this); return copy; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : -