diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 99:bb45c5097cb6

ehcache Integration for storing the chartresultvalues gnv-artifacts/trunk@146 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Mon, 28 Sep 2009 14:17:15 +0000
parents bd284d8306db
children 158e89c2263b
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Mon Sep 28 10:20:41 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Mon Sep 28 14:17:15 2009 +0000
@@ -92,6 +92,7 @@
     @Override
     public Document advance(Document target, CallContext context) {
         log.debug("GNVArtifactBase.advance");
+        String uuid = Config.getStringXPath(target, "action/uuid/@value");
         Document result = XMLUtils.newDocument();
         try {
             if (this.current != null){
@@ -103,10 +104,10 @@
                         try {
                             Transition nextStep = this.transitions.get(transitionName);
                             // 2.Ergebnisse Berechnen
-                            this.current.advance();
+                            this.current.advance(uuid);
                             // 3. Ergebnisse übergeben
                             nextStep.setDescibeData(this.current.getDescibeData());
-                            nextStep.putInputData(this.current.getInputData());
+                            nextStep.putInputData(this.current.getInputData(),uuid);
                             // 4. Umschalten auf neue Transistion
                             this.current = nextStep;
                             result = new ArtifactXMLUtilities().createSuccessReport("Advance success", XMLUtils.newDocument());
@@ -160,7 +161,8 @@
         Document result = XMLUtils.newDocument();
         try {
             if (this.current != null){
-                this.current.putInputData(this.parseInputData(target, "/action/data/input"));
+                String uuid = Config.getStringXPath(target, "action/uuid/@value");
+                this.current.putInputData(this.parseInputData(target, "/action/data/input"),uuid);
                 result = new ArtifactXMLUtilities().createSuccessReport("Feed success", XMLUtils.newDocument());
             }else{
                 String msg = "No Transition instantiated";
@@ -360,10 +362,7 @@
         }
         return returnValue.values();
     }
-    /**
-     * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.lang.Object)
-     */
- 
+
     
     /**
      * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.io.OutputStream, de.intevation.artifacts.CallContext)
@@ -375,8 +374,9 @@
         try {
             
             if (current != null && current instanceof OutputTransition){
-              ((OutputTransition)current).out(this.readOutputType(format),this.parseInputData(format, "/action/out/params/input"), outputStream);
-               context.afterCall(CallContext.STORE); // TODO: FIXME Schmutzige Lösung: Besser einen weiteren Transitionsschritt zwischenschalten.
+                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.
             }
         } catch (TransitionException e) {
             log.error(e,e);

http://dive4elements.wald.intevation.org