diff flys-artifacts/src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java @ 1785:661dfad9910a

Use compatibility matrix when creating collections output. flys-artifacts/trunk@3107 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Fri, 28 Oct 2011 10:04:22 +0000
parents 0fe3c4849baa
children 6ed439ff61bf
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java	Fri Oct 28 09:59:47 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/collections/FLYSArtifactCollection.java	Fri Oct 28 10:04:22 2011 +0000
@@ -30,6 +30,7 @@
 import de.intevation.artifactdatabase.Backend;
 import de.intevation.artifactdatabase.Backend.PersistentArtifact;
 import de.intevation.artifactdatabase.DefaultArtifactCollection;
+import de.intevation.artifactdatabase.state.StateEngine;
 
 import de.intevation.flys.artifacts.context.FLYSContext;
 import de.intevation.flys.artifacts.FLYSArtifact;
@@ -350,14 +351,20 @@
     {
         Document doc = XMLUtils.newDocument();
 
+        FLYSContext flysContext = FLYSUtils.getFlysContext(context);
+        StateEngine engine = (StateEngine) flysContext.get(
+        FLYSContext.STATE_ENGINE_KEY);
+
+        FLYSArtifact masterArtifact = getMasterArtifact(context);
+    
         XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
             doc,
             ArtifactNamespaceContext.NAMESPACE_URI,
             ArtifactNamespaceContext.NAMESPACE_PREFIX);
-
+    
         AttributeParser aParser = new AttributeParser();
         OutputParser    oParser = new OutputParser(db, context);
-
+    
         if (uuids != null) {
             for (String uuid: uuids) {
                 try {
@@ -368,13 +375,17 @@
                 }
             }
         }
-
+    
         aParser.parse(oldAttr);
-
+    
         return new AttributeWriter(
             db,
             aParser.getOuts(),
-            oParser.getOuts()).write();
+            aParser.getFacets(),
+            oParser.getOuts(),
+            oParser.getFacets(),
+            engine.getCompatibleFacets(masterArtifact.getStateHistoryIds())
+            ).write();
     }
 
 

http://dive4elements.wald.intevation.org