diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java @ 3099:ef0dd585b5e0

Display measurements in SQ relation charts. flys-artifacts/trunk@4698 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 19 Jun 2012 10:26:26 +0000
parents 0d3dd8230064
children b31397addf2f
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java	Tue Jun 19 09:57:41 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQMeasurementFacet.java	Tue Jun 19 10:26:26 2012 +0000
@@ -5,10 +5,11 @@
 import de.intevation.artifacts.Artifact;
 import de.intevation.artifacts.CallContext;
 
-
+import de.intevation.flys.artifacts.FLYSArtifact;
+import de.intevation.flys.artifacts.model.CalculationResult;
+import de.intevation.flys.artifacts.model.DataFacet;
 import de.intevation.flys.artifacts.model.FacetTypes;
-import de.intevation.flys.artifacts.model.DataFacet;
-
+import de.intevation.flys.artifacts.model.sq.SQResult;
 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
 
 
@@ -26,15 +27,31 @@
     }
 
 
-    public SQMeasurementFacet(int idx, String name, String description) {
-        super(idx, name, description, ComputeType.ADVANCE, null, null);
+    public SQMeasurementFacet(
+        int    idx,
+        String name,
+        String description,
+        String hash,
+        String stateId
+    ) {
+        super(idx, name, description, ComputeType.ADVANCE, hash, stateId);
     }
 
 
     @Override
     public Object getData(Artifact artifact, CallContext context) {
         log.debug("SQMeasurementFacet.getData");
-        log.error("NOT IMPLEMENTED!");
+
+        if (artifact instanceof FLYSArtifact) {
+            FLYSArtifact flys = (FLYSArtifact) artifact;
+
+            CalculationResult res = (CalculationResult) flys.compute(
+                context, ComputeType.ADVANCE, false);
+
+            SQResult[] result = (SQResult[]) res.getData();
+
+            return result[index].getMeasurements();
+        }
 
         return null;
     }

http://dive4elements.wald.intevation.org