diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java @ 3079:8ad8a227d983

Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers. flys-artifacts/trunk@4675 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 15 Jun 2012 12:23:08 +0000
parents 0d3dd8230064
children b31397addf2f
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java	Fri Jun 15 12:16:49 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SQOutlierFacet.java	Fri Jun 15 12:23:08 2012 +0000
@@ -6,8 +6,10 @@
 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.states.DefaultState.ComputeType;
 
@@ -22,19 +24,39 @@
     private static final Logger log = Logger.getLogger(SQOutlierFacet.class);
 
 
+    private int iteration;
+
+
     public SQOutlierFacet() {
     }
 
 
-    public SQOutlierFacet(int idx, String name, String description) {
-        super(idx, name, description, ComputeType.ADVANCE, null, null);
+    public SQOutlierFacet(
+        int    idx,
+        int    iteration,
+        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("SQOutlierFacet.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].getOutliers(iteration);
+        }
 
         return null;
     }

http://dive4elements.wald.intevation.org