Mercurial > dive4elements > river
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",