Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/collections/AttributeParser.java @ 1779:2fe270661b20
Let Output and Attribute Parsers collect Facets during processing.
flys-artifacts/trunk@3101 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 28 Oct 2011 09:08:48 +0000 |
parents | 238145ef67da |
children | 0b466bd4ab24 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/collections/AttributeParser.java Fri Oct 28 09:02:48 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/collections/AttributeParser.java Fri Oct 28 09:08:48 2011 +0000 @@ -1,6 +1,8 @@ package de.intevation.flys.collections; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.xml.xpath.XPathConstants; @@ -15,6 +17,7 @@ import de.intevation.artifacts.ArtifactNamespaceContext; import de.intevation.artifactdatabase.state.DefaultOutput; +import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifactdatabase.state.Output; import de.intevation.artifacts.common.utils.XMLUtils; @@ -22,22 +25,27 @@ import de.intevation.flys.artifacts.model.ManagedFacet; import de.intevation.flys.artifacts.model.ManagedDomFacet; - +/** + * Access parts of the Attribute parts of a FLYSCollections description + * document. + */ public class AttributeParser { /** Constant XPath that points to the outputmodes of an artifact. */ public static final String XPATH_ARTIFACT_OUTPUTMODES = "/art:attribute/art:outputs/art:output"; - private static Logger logger = Logger.getLogger(AttributeParser.class); - protected Map<String, Output> outs; + /** List of facets. */ + protected List<Facet> facets; + public AttributeParser() { - this.outs = new HashMap<String, Output>(); + this.outs = new HashMap<String, Output>(); + this.facets = new ArrayList<Facet>(); } @@ -67,7 +75,11 @@ } + /** + * Adds item (a ManagedFacet) to an out. + */ protected void addItem(String out, ManagedFacet item) { + this.facets.add(item); Output o = outs.get(out); if (o != null) { @@ -91,6 +103,15 @@ } + /** + * Access all facets. + * @return list of all facets. + */ + public List<Facet> getFacets() { + return this.facets; + } + + protected void parseItems(Node out, String outname) { NodeList themes = (NodeList) XMLUtils.xpath( out, "art:facet",