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",

http://dive4elements.wald.intevation.org