Mercurial > dive4elements > gnv-client
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) {