diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java @ 2206:e2124ca11adb

Add manual point handling for many different chart types. flys-artifacts/trunk@3830 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Mon, 30 Jan 2012 13:33:18 +0000
parents 38207b820dca
children 5642a83420f2
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java	Mon Jan 30 13:29:07 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/ManualPointsSingleState.java	Mon Jan 30 13:33:18 2012 +0000
@@ -10,6 +10,7 @@
 import de.intevation.artifactdatabase.state.Facet;
 
 import de.intevation.flys.artifacts.FLYSArtifact;
+import de.intevation.flys.artifacts.ManualPointsArtifact;
 
 import de.intevation.flys.artifacts.model.ManualPointsFacet;
 import de.intevation.flys.artifacts.model.FacetTypes;
@@ -48,14 +49,25 @@
         CallMeta     meta,
         List<Facet>  facets
     ) {
-        logger.debug("ManualPointsSingleState.computeInit()");
+        logger.debug("ManualPointsSingleState.compute()");
+        ManualPointsArtifact points = (ManualPointsArtifact) artifact;
 
-        ManualPointsFacet facet = new ManualPointsFacet(
-            0,
-            MANUALPOINTS,
-            Resources.getMsg(meta, "manualpoints", "Manuel Points"));
-
-        facets.add(facet);
+        // Add Facet per Diagram type if data given.
+        for (ChartType ct: ChartType.values()) {
+            String pointData = points.getDataAsString(ct + "." + MANUALPOINTS + ".data");
+            if (pointData != null && !pointData.equals("") && !pointData.equals("[]")) {
+                String fName = ct + "." + MANUALPOINTS;
+                ManualPointsFacet facet = new ManualPointsFacet(
+                    0,
+                    fName,
+                    Resources.getMsg(meta, "manualpoints", "Manual Points"));
+        
+                facets.add(facet);
+            }
+            else {
+                //logger.debug("No points for " + ct);
+            }
+        }
 
         return null;
     }

http://dive4elements.wald.intevation.org