diff artifacts/src/main/java/org/dive4elements/river/collections/D4EArtifactCollection.java @ 8392:994995baa32b

Only the master-artifact should decide about injected CURRENT_KM et al. (and removed dependend obsolete class).
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 08 Oct 2014 11:49:07 +0200
parents f98598cf798c
children 5e38e2924c07
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/collections/D4EArtifactCollection.java	Wed Oct 08 11:02:16 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/collections/D4EArtifactCollection.java	Wed Oct 08 11:49:07 2014 +0200
@@ -329,11 +329,12 @@
         // because it has no OutputStream set!
         Document dummy = XMLUtils.newDocument();
         outGen.init(out, dummy, null, getContext());
-        prepareMasterArtifact(outGen);
+        D4EArtifact master = getMasterArtifact();
+        prepareMasterArtifact(master, outGen);
 
         try {
             Document outAttr = getAttribute(attr, out);
-            OutputHelper helper = new OutputHelper(identifier());
+            OutputHelper helper = new OutputHelper(identifier(), master);
             helper.doOut(outGen, out, out, outAttr, getContext(), dummy);
         }
         catch (ArtifactDatabaseException adbe) {
@@ -413,11 +414,13 @@
         generator.init(key, format, out, context);
         generator.setSettings(settings);
         generator.setCollection(this);
-        prepareMasterArtifact(generator);
+
+        D4EArtifact master = getMasterArtifact();
+        prepareMasterArtifact(master, generator);
 
         try {
             Document attr = getAttribute(cAttr, name);
-            OutputHelper helper = new OutputHelper(identifier());
+            OutputHelper helper = new OutputHelper(identifier(), master);
             helper.doOut(generator, name, subtype, attr, context, format);
             generator.generate();
         }
@@ -437,10 +440,8 @@
      *
      * @param generator The generator that gets a master Artifact.
      */
-    protected void prepareMasterArtifact(OutGenerator generator
-    ) {
+    protected void prepareMasterArtifact(D4EArtifact master, OutGenerator generator) {
         // Get master artifact.
-        D4EArtifact master = getMasterArtifact();
         if (master != null) {
             log.debug("Set master Artifact to uuid: " + master.identifier());
             generator.setMasterArtifact(master);

http://dive4elements.wald.intevation.org