diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 325:3eff9241ea1e

Refactoring of the Transitionmodel. Now each Transition is responsible to allocate the Data which is required to describe or feed it. gnv-artifacts/trunk@390 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Tue, 01 Dec 2009 15:58:02 +0000
parents 3ea030aafe65
children e964a3d8f7bc
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Mon Nov 30 15:08:47 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Tue Dec 01 15:58:02 2009 +0000
@@ -109,6 +109,10 @@
                                               super.identifier);
                         // 3. Umschalten auf neue Transistion
                         this.current = nextStep;
+                        
+                        // 4. Initialisieren des nächsten Schrittes == Laden der Daten
+                        this.current.initialize(super.identifier, context.getMeta());
+                        
                         result = new ArtifactXMLUtilities()
                                 .createSuccessReport("Advance success",
                                         XMLUtils.newDocument());
@@ -138,6 +142,22 @@
         }
         return result;
     }
+    
+    
+    public Document initialize (CallContext context) {
+        Document result = XMLUtils.newDocument();
+        try {
+            this.current.initialize(super.identifier, context.getMeta());
+            result = new ArtifactXMLUtilities()
+            .createSuccessReport("Initialize success",
+                    XMLUtils.newDocument());
+        } catch (TransitionException e) {
+            log.error(e,e);
+            result = new ArtifactXMLUtilities().createExceptionReport(e
+                    .getLocalizedMessage(), XMLUtils.newDocument());
+        }
+        return result;
+    }
 
     protected String readTransitionName(Document document) {
         String returnValue = Config.getStringXPath(document,
@@ -235,6 +255,8 @@
 
         }
     }
+    
+    
 
     protected Document createDescibeOutput(CallMeta callMeta, String uuid, boolean incudeUI) {
         log.debug("GNVArtifactBase.createDescibeOutput");

http://dive4elements.wald.intevation.org