Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java @ 88:1b12021905b9
Some CodeCleanup done.
ExceptionDocument will now be returned
gnv-artifacts/trunk@125 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Thu, 24 Sep 2009 10:45:24 +0000 |
parents | 5eb62df21f9a |
children | cde042a0a395 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Thu Sep 24 10:05:07 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Thu Sep 24 10:45:24 2009 +0000 @@ -79,10 +79,12 @@ */ @Override public Document advance(Document target, CallContext context) { + + Document result = null; if (this.productArtifact == null){ if (this.current != null){ - try { - String uuid = Config.getStringXPath(target, "action/uuid/@value"); // TODO: müssen wir für das subartifact eine veränderte uuid führen? + + String uuid = Config.getStringXPath(target, "action/uuid/@value"); String hash = Config.getStringXPath(target, "action/hash/@value"); this.productArtifact = this.current.getArtifactFactory().createArtifact(uuid, context); Document feedDocument = xmlUtilities.reInitDocument(this.createFeedProductArtifactDocument(uuid, hash)); @@ -93,18 +95,16 @@ String targetName = Config.getStringXPath(descibeDocument, "result/reachable-states/state/@name"); Document advanceDocument = xmlUtilities.reInitDocument(this.createAdvanceProductArtifactDocument(uuid, hash, targetName)); log.debug("Advance ==> "+this.xmlUtilities.writeDocument2String(advanceDocument)); - return this.productArtifact.advance(advanceDocument, context); - } catch (RuntimeException e) { - log.error(e,e); - } + result = this.productArtifact.advance(advanceDocument, context); }else{ - log.warn("Artifact is not configured properly. Call feed first."); - // TODO Fehlerdokument erzeugen. + String msg = "Artifact is not configured properly. Call feed first."; + log.error(msg); + result = new ArtifactXMLUtilities().createExceptionReport(msg, XMLUtils.newDocument()); } - return null; }else{ - return this.productArtifact.advance(target, context); + result = this.productArtifact.advance(target, context); } + return result; } private Document createAdvanceProductArtifactDocument(String uuid, String hash, String targetName){ Document document = XMLUtils.newDocument(); @@ -193,11 +193,13 @@ String productName = Config.getStringXPath(target, "action/data/input[@name='product']/@value"); if (this.products.containsKey(productName)) { this.current = this.products.get(productName); + // TODO : success-Dokument erzeugen + return null; }else{ - log.error("Product does not exists for "+productName); - // TODO: Fehlerdokument erzeugen. + String msg = "Product does not exists for "+productName; + log.error(msg); + return new ArtifactXMLUtilities().createExceptionReport(msg, XMLUtils.newDocument()); } - return null; }else{ return this.productArtifact.feed(target, context); }