changeset 1140:96d7842e80ee

Cosmetics, refactored, resolved todo. flys-artifacts/trunk@2661 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 07 Sep 2011 09:26:34 +0000
parents 6d9b08b958e2
children bcba246d9c03
files flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java
diffstat 1 files changed, 25 insertions(+), 66 deletions(-) [+]
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java	Wed Sep 07 09:24:32 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelState.java	Wed Sep 07 09:26:34 2011 +0000
@@ -36,16 +36,12 @@
     }
 
 
-    // TODO This is a duplicate of computeAdvance. Resolve.
-    public Object computeFeed(
-        FLYSArtifact artifact,
-        String       hash,
-        CallContext  context,
-        List<Facet>  facets,
-        Object       old
+    protected Object compute(
+        WINFOArtifact winfo,
+        String        hash,
+        List<Facet>   facets,
+        Object        old
     ) {
-        WINFOArtifact winfo = (WINFOArtifact)artifact;
-
         String id = getID();
 
         CalculationResult res = old instanceof CalculationResult
@@ -104,6 +100,25 @@
     }
 
 
+    /**
+     * @param context Ignored.
+     */
+    @Override
+    public Object computeFeed(
+        FLYSArtifact artifact,
+        String       hash,
+        CallContext  context,
+        List<Facet>  facets,
+        Object       old
+    ) {
+        return compute((WINFOArtifact) artifact, hash, facets, old);
+
+    }
+
+
+    /**
+     * @param context Ignored.
+     */
     @Override
     public Object computeAdvance(
         FLYSArtifact artifact,
@@ -112,63 +127,7 @@
         List<Facet>  facets,
         Object       old
     ) {
-        WINFOArtifact winfo = (WINFOArtifact)artifact;
-
-        String id = getID();
-
-        CalculationResult res = old instanceof CalculationResult
-            ? (CalculationResult)old
-            : winfo.getWaterlevelData();
-
-        if (facets == null) {
-            return res;
-        }
-
-        WQKms [] wqkms = (WQKms [])res.getData();
-
-        for (int i = 0; i < wqkms.length; i++) {
-            String nameW = null;
-            String nameQ = null;
-
-            if (winfo.isQ()) {
-                nameQ = wqkms[i].getName();
-                nameW = "W(" + nameQ + ")";
-            }
-            else {
-                nameW = wqkms[i].getName();
-                nameQ = "Q(" + nameQ + ")";
-            }
-
-            logger.debug("Create facet: " + nameW);
-            logger.debug("Create facet: " + nameQ);
-
-            Facet w = new WaterlevelFacet(
-                i, LONGITUDINAL_W, nameW, ComputeType.ADVANCE, id, hash);
-            Facet q = new WaterlevelFacet(
-                i, LONGITUDINAL_Q, nameQ, ComputeType.ADVANCE, id, hash);
-
-            facets.add(w);
-            facets.add(q);
-        }
-
-        if (wqkms.length > 0) {
-            Facet wst = new DataFacet(
-                WST, "WST data", ComputeType.ADVANCE, hash, id);
-            Facet csv = new DataFacet(
-                CSV, "CSV data", ComputeType.ADVANCE, hash, id);
-
-            facets.add(wst);
-            facets.add(csv);
-        }
-
-        if (res.getReport().hasProblems()) {
-            facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
-        }
-
-        // Also register the CrossSectionFacet (added to respective out).
-        facets.add(new CrossSectionFacet("facet.cross_section"));
-        facets.add(new CrossSectionWaterLineFacet("facet.cross_section_water_line"));
-        return res;
+        return compute((WINFOArtifact) artifact, hash, facets, old);
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org