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 :
-

http://dive4elements.wald.intevation.org