diff flys-artifacts/src/main/java/de/intevation/flys/collections/AttributeParser.java @ 1994:3e703d134bbe

Parse the Settings of each Output during Collection's describe() operation. flys-artifacts/trunk@3431 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 16 Dec 2011 09:56:32 +0000
parents 0b466bd4ab24
children e57816cf41d5
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/collections/AttributeParser.java	Fri Dec 16 09:19:11 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/collections/AttributeParser.java	Fri Dec 16 09:56:32 2011 +0000
@@ -17,10 +17,12 @@
 import de.intevation.artifactdatabase.state.DefaultOutput;
 import de.intevation.artifactdatabase.state.Facet;
 import de.intevation.artifactdatabase.state.Output;
+import de.intevation.artifactdatabase.state.Settings;
 
 import de.intevation.artifacts.common.utils.XMLUtils;
 
 import de.intevation.flys.artifacts.model.ManagedDomFacet;
+import de.intevation.flys.exports.ChartSettings;
 
 /**
  * Access parts of the Attribute parts of a FLYSCollections description
@@ -115,10 +117,27 @@
             attribute.addOutput(name, o);
         }
 
+        parseSettings(out, name);
         parseItems(out, name);
     }
 
 
+    protected void parseSettings(Node out, String outname) {
+        Node settingsNode = (Node) XMLUtils.xpath(
+            out, "settings",
+            XPathConstants.NODE,
+            null);
+
+        if (settingsNode == null) {
+            logger.debug("No Settings found for Output '" + outname + "'");
+            return;
+        }
+
+        Settings settings = ChartSettings.parse(settingsNode);
+        attribute.setSettings(outname, settings);
+    }
+
+
     protected void parseItems(Node out, String outname) {
         NodeList themes = (NodeList) XMLUtils.xpath(
             out, "art:facet",

http://dive4elements.wald.intevation.org