Mercurial > dive4elements > framework
diff artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java @ 295:e5bc48dc3ec3
Facets can write its internal representation to XML using a toXML() method now.
artifacts/trunk@2352 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 18 Jul 2011 15:05:20 +0000 |
parents | 995fa6994480 |
children | f367be55dd35 |
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java Thu Jul 14 14:41:00 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java Mon Jul 18 15:05:20 2011 +0000 @@ -9,9 +9,14 @@ import java.util.List; +import org.w3c.dom.Document; import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import de.intevation.artifacts.ArtifactNamespaceContext; import de.intevation.artifacts.common.utils.XMLUtils; +import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifactdatabase.state.Output; @@ -157,10 +162,15 @@ * @param outputs The list of reachable outputs. */ public static void appendOutputModes( - XMLUtils.ElementCreator creator, - Element out, - List<Output> outputs) + Document doc, + Element out, + List<Output> outputs) { + ElementCreator creator = new ElementCreator( + doc, + ArtifactNamespaceContext.NAMESPACE_URI, + ArtifactNamespaceContext.NAMESPACE_PREFIX); + for (Output o: outputs) { Element newOut = createArtNode( creator, @@ -173,7 +183,7 @@ o.getType() }); Element facets = createArtNode(creator, "facets", null, null); - appendFacets(creator, facets, o.getFacets()); + appendFacets(doc, facets, o.getFacets()); newOut.appendChild(facets); out.appendChild(newOut); @@ -190,26 +200,25 @@ * @param facets The list of facets. */ public static void appendFacets( - XMLUtils.ElementCreator creator, - Element facet, - List<Facet> facets) + Document doc, + Element facet, + List<Facet> facets) { if (facets == null || facets.size() == 0) { return; } + ElementCreator creator = new ElementCreator( + doc, + ArtifactNamespaceContext.NAMESPACE_URI, + ArtifactNamespaceContext.NAMESPACE_PREFIX); + for (Facet f: facets) { - Element newFacet = createArtNode( - creator, - "facet", - new String[] { "index", "name", "description" }, - new String[] { - String.valueOf(f.getIndex()), - f.getName(), - f.getDescription() - }); + Node node = f.toXML(doc); - facet.appendChild(newFacet); + if (node != null) { + facet.appendChild(node); + } } } }