diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java @ 3222:116b342893e3

SQ: Connect calculation with artifact parameter access. flys-artifacts/trunk@4845 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 01 Jul 2012 18:00:04 +0000
parents 238803b2cb8b
children 45af081061e7
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java	Sun Jul 01 12:43:20 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/SQRelation.java	Sun Jul 01 18:00:04 2012 +0000
@@ -1,35 +1,39 @@
 package de.intevation.flys.artifacts.states;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.Logger;
+import de.intevation.artifactdatabase.state.Facet;
 
 import de.intevation.artifacts.CallContext;
 import de.intevation.artifacts.CallMeta;
 
-import de.intevation.artifactdatabase.state.Facet;
+import de.intevation.flys.artifacts.FLYSArtifact;
 
-import de.intevation.flys.artifacts.FLYSArtifact;
-import de.intevation.flys.artifacts.MINFOArtifact;
+import de.intevation.flys.artifacts.access.SQRelationAccess;
+
+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.CalculationResult;
+
 import de.intevation.flys.artifacts.model.sq.SQCurveFacet;
 import de.intevation.flys.artifacts.model.sq.SQFractionResult;
 import de.intevation.flys.artifacts.model.sq.SQMeasurementFacet;
 import de.intevation.flys.artifacts.model.sq.SQOutlierFacet;
 import de.intevation.flys.artifacts.model.sq.SQRelationCalculation;
 import de.intevation.flys.artifacts.model.sq.SQResult;
+
 import de.intevation.flys.artifacts.resources.Resources;
+
 import de.intevation.flys.artifacts.states.DefaultState;
 
+import java.util.List;
+
+import org.apache.log4j.Logger;
+
 /**
  * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
  */
 public class SQRelation extends DefaultState implements FacetTypes {
 
-    private static Logger logger = Logger.getLogger(SQRelation.class);
+    private static Logger log = Logger.getLogger(SQRelation.class);
 
 
     public static final String I18N_FACET_CURVE =
@@ -54,22 +58,23 @@
         List<Facet>  facets,
         Object       old
     ) {
-        logger.debug("SQRelation.computeAdvance");
-
-        List<Facet> newFacets = new ArrayList<Facet>();
+        log.debug("SQRelation.computeAdvance");
 
         CalculationResult res = old instanceof CalculationResult
-            ? (CalculationResult) old
-            : new SQRelationCalculation().calculate((MINFOArtifact) artifact);
+            ? (CalculationResult)old
+            : new SQRelationCalculation(
+                new SQRelationAccess(artifact)).calculate();
 
-        if (facets == null || res == null) {
+        if (facets == null) {
             return res;
         }
 
-        SQResult[] sqr = (SQResult[]) res.getData();
-        logger.info("Calculation computed " + sqr.length + " SQResult objects");
+        SQResult [] sqr = (SQResult [])res.getData();
+        if (sqr == null) {
+            return res;
+        }
 
-        createFacets(context, newFacets, sqr, hash);
+        createFacets(context, facets, sqr, hash);
 
         Facet csv = new DataFacet(
             CSV, "CSV data", ComputeType.ADVANCE, hash, id);
@@ -77,12 +82,8 @@
         Facet pdf = new DataFacet(
             PDF, "PDF data", ComputeType.ADVANCE, hash, id);
 
-        newFacets.add(csv);
-        newFacets.add(pdf);
-
-        logger.debug("Created " + newFacets.size() + " new Facets.");
-
-        facets.addAll(newFacets);
+        facets.add(csv);
+        facets.add(pdf);
 
         return res;
     }
@@ -103,7 +104,7 @@
                 SQFractionResult result = sqr[res].getFraction(i);
 
                 if (result == null) {
-                    logger.warn("Fraction at index " + i + " is empty!");
+                    log.warn("Fraction at index " + i + " is empty!");
                     continue;
                 }
 
@@ -138,11 +139,11 @@
                     index     = index << 16;
                     index     = index + j;
 
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("new outliers facet (index=" +index+ ")");
-                        logger.debug("   result index = " + res);
-                        logger.debug("   fraction idx = " + i);
-                        logger.debug("   iteration    = " + j);
+                    if (log.isDebugEnabled()) {
+                        log.debug("new outliers facet (index=" +index+ ")");
+                        log.debug("   result index = " + res);
+                        log.debug("   fraction idx = " + i);
+                        log.debug("   iteration    = " + j);
                     }
 
                     container.add(new SQOutlierFacet(
@@ -165,7 +166,7 @@
 
 
     protected String getFractionFacetname(int type, int fractionIdx) {
-        logger.debug("getFractionFacetname(): " + type + " | " + fractionIdx);
+        log.debug("getFractionFacetname(): " + type + " | " + fractionIdx);
 
         switch (type) {
             case 0:

http://dive4elements.wald.intevation.org