diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 117:ef157bd2fa92

LanguageSupport integrated gnv-artifacts/trunk@178 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Fri, 02 Oct 2009 14:24:47 +0000
parents 820238357bab
children 7fb9441dd8af
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Fri Oct 02 08:07:00 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Fri Oct 02 14:24:47 2009 +0000
@@ -24,6 +24,7 @@
 import de.intevation.artifacts.ArtifactFactory;
 import de.intevation.artifacts.ArtifactNamespaceContext;
 import de.intevation.artifacts.CallContext;
+import de.intevation.artifacts.CallMeta;
 import de.intevation.gnv.artifacts.context.GNVArtifactContext;
 import de.intevation.gnv.transition.DefaultInputData;
 import de.intevation.gnv.transition.InputData;
@@ -103,7 +104,7 @@
                         try {
                             Transition nextStep = this.transitions.get(transitionName);
                             // 2.Ergebnisse Berechnen
-                            this.current.advance(uuid);
+                            this.current.advance(uuid,context.getMeta());
                             // 3. Ergebnisse übergeben
                             nextStep.setDescibeData(this.current.getDescibeData());
                             nextStep.putInputData(this.current.getInputData(),uuid);
@@ -209,7 +210,7 @@
     }
     
     
-    protected Document createDescibeOutput(){
+    protected Document createDescibeOutput(CallMeta callMeta){
         log.debug("GNVArtifactBase.createDescibeOutput");
         Document document = XMLUtils.newDocument();
          Element rootNode = this.createRootNode(document);
@@ -218,7 +219,7 @@
         this.createCurrentState(rootNode, document);
         this.createReachableStates(rootNode, document);
         this.createModel(rootNode, document);
-        this.createUserInterface(rootNode, document);
+        this.createUserInterface(rootNode, document,callMeta);
         return document;
     }
     
@@ -284,11 +285,11 @@
         parent.appendChild(modelNode);
     }
     
-    protected void createUserInterface(Element parent, Document document){
+    protected void createUserInterface(Element parent, Document document, CallMeta callMeta){
         Element uiNode = xmlUtilities.createArtifactElement(document,"ui");
         
         if (this.current != null){
-            this.current.describe(document, uiNode);
+            this.current.describe(document, uiNode,callMeta);
         }
         
         parent.appendChild(uiNode);
@@ -364,21 +365,25 @@
 
     
     /**
-     * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.io.OutputStream, de.intevation.artifacts.CallContext)
+     * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document,
+     *      java.io.OutputStream, de.intevation.artifacts.CallContext)
      */
     @Override
-    public void out(Document format, OutputStream outputStream, CallContext context)
-            throws IOException {
+    public void out(Document format, OutputStream outputStream,
+                    CallContext context) throws IOException {
         log.debug("TGNVArtifactBase.out");
         try {
-            
-            if (current != null && current instanceof OutputTransition){
-                String uuid = Config.getStringXPath(format, "action/uuid/@value");
-              ((OutputTransition)current).out(this.readOutputType(format),this.parseInputData(format, "/action/out/params/input"), outputStream,uuid);
-               //context.afterCall(CallContext.STORE); // TODO: FIXME Schmutzige Lösung: Besser einen weiteren Transitionsschritt zwischenschalten.
+
+            if (current != null && current instanceof OutputTransition) {
+                String uuid = Config.getStringXPath(format,
+                        "action/uuid/@value");
+                ((OutputTransition) current)
+                        .out(this.readOutputType(format), this.parseInputData(
+                                format, "/action/out/params/input"),
+                                outputStream, uuid, context.getMeta());
             }
         } catch (TransitionException e) {
-            log.error(e,e);
+            log.error(e, e);
             throw new IOException(e.getMessage());
         }
     }

http://dive4elements.wald.intevation.org