diff gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/DefaultArtifactDatabaseClient.java @ 394:14eecfde4607

Render links to step back to previous states into gui. Added controller to advance back to these states. gnv/trunk@538 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 13 Jan 2010 22:17:02 +0000
parents ee8003fffc71
children b88e881e8e94
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/DefaultArtifactDatabaseClient.java	Wed Jan 13 11:29:40 2010 +0000
+++ b/gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/DefaultArtifactDatabaseClient.java	Wed Jan 13 22:17:02 2010 +0000
@@ -491,20 +491,18 @@
             this.doFeed(artifactFactory, currentArtifact, inputParameter);
             
             // 2. Noch einmal Describe um das jetzt zu erreichende Ziel zu ermitteln
-            ArtifactDescription ad = this.getCurrentStepDescription(artifactFactory, 
-                                                                    new Artifact(currentArtifact.getId(), 
-                                                                                 currentArtifact.getHash()),
-                                                                    false);
+            ArtifactDescription ad = getCurrentStepDescription(
+                artifactFactory,
+                new Artifact(currentArtifact.getId(),
+                currentArtifact.getHash()),
+                false
+            );
+
             target = ad.getReachableStates().iterator().next();
             
             // 3 Advance
-            String url = this.getArtifactUrl(artifactFactory, currentArtifact);
-            Document advanceDocument = this.createAdvanceRequestBody(
-                    currentArtifact, target);
-            InputStream advanceResult = this
-                    .doPostRequest(url, advanceDocument);
-            this.check4ExceptionReport(new XMLUtils()
-                    .readDocument(advanceResult));
+            doAdvance(artifactFactory, currentArtifact, target);
+            
             // 3 Describe
             return this.getCurrentStepDescription(artifactFactory,
                     currentArtifact,true);
@@ -514,6 +512,18 @@
         }
     }
 
+
+    public void doAdvance(
+        ArtifactObject factory,
+        ArtifactObject artifact,
+        String         target
+    ) throws IOException, ArtifactDatabaseClientException {
+        String url                = getArtifactUrl(factory, artifact);
+        Document advanceDocument  = createAdvanceRequestBody(artifact, target);
+        InputStream advanceResult = doPostRequest(url, advanceDocument);
+        check4ExceptionReport(new XMLUtils().readDocument(advanceResult));
+    }
+
     private Document createFeedRequestBody(
                                            ArtifactObject currentArtifact,
                                            Collection<InputParameter> inputParameter) {

http://dive4elements.wald.intevation.org