Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.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 | 969faa37a11b |
children | cde042a0a395 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Thu Sep 24 10:05:07 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Thu Sep 24 10:45:24 2009 +0000 @@ -92,39 +92,47 @@ @Override public Document advance(Document target, CallContext context) { Document result = XMLUtils.newDocument(); - if (this.current != null){ - String transitionName = this.readTransitionName(target); - if (this.current.isTransitionReachable(transitionName)){ - // 1. Prüfung ob Transition valide ist - if (this.current.validate()){ - - try { - Transition nextStep = this.transitions.get(transitionName); - // 2.Ergebnisse Berechnen - this.current.advance(); - // 3. Ergebnisse übergeben - nextStep.setDescibeData(this.current.getDescibeData()); - nextStep.putInputData(this.current.getInputData()); - // 4. Umschalten auf neue Transistion - this.current = nextStep; - } catch (TransitionException e) { - log.error(e,e); - // TODO: Errormmessage senden. + try { + if (this.current != null){ + String transitionName = this.readTransitionName(target); + if (this.current.isTransitionReachable(transitionName)){ + // 1. Prüfung ob Transition valide ist + if (this.current.validate()){ + + try { + Transition nextStep = this.transitions.get(transitionName); + // 2.Ergebnisse Berechnen + this.current.advance(); + // 3. Ergebnisse übergeben + nextStep.setDescibeData(this.current.getDescibeData()); + nextStep.putInputData(this.current.getInputData()); + // 4. Umschalten auf neue Transistion + this.current = nextStep; + } catch (TransitionException e) { + log.error(e,e); + result = new ArtifactXMLUtilities().createExceptionReport(e.getLocalizedMessage(), XMLUtils.newDocument()); + } + + }else{ + String msg = "Advance nicht möglich, da die Bedingungen für den Übergang " + + "in den neuen Zustand noch nicht gegeben ist."; + log.error(msg); + result = new ArtifactXMLUtilities().createExceptionReport(msg, XMLUtils.newDocument()); } }else{ - log.error("Advance nicht möglich, da die Bedingungen für den Übergang " + - "in den neuen Zustand noch nicht gegeben ist."); - // TODO: Errormmessage senden. + String msg = "Transitionsübergang wird nicht unterstützt."; + log.error(msg); + result = new ArtifactXMLUtilities().createExceptionReport(msg, XMLUtils.newDocument()); } - }else{ - log.error("Transitionsübergang wird nicht unterstützt."); - // TODO: Errormmessage senden. + String msg = "Kein Transitionsschritt aktiviert."; + log.error(msg); + result = new ArtifactXMLUtilities().createExceptionReport(msg, XMLUtils.newDocument()); } - }else{ - log.error("Kein Transitionsschritt aktiviert."); - // TODO: Errormmessage senden. + } catch (Exception e) { + log.error(e,e); + result = new ArtifactXMLUtilities().createExceptionReport(e.getLocalizedMessage(), XMLUtils.newDocument()); } return result; } @@ -154,7 +162,7 @@ } } catch (TransitionException e) { log.error(e,e); - //TODO: Fehlerdokumenterzeugen. + return new ArtifactXMLUtilities().createExceptionReport(e.getLocalizedMessage(), XMLUtils.newDocument()); } return result; } @@ -196,14 +204,13 @@ protected Document createDescibeOutput(){ log.debug("GNVArtifactBase.createDescibeOutput"); Document document = XMLUtils.newDocument(); - Element rootNode = this.createRootNode(document); + Element rootNode = this.createRootNode(document); this.createHeader(rootNode, document, "describe"); this.createOutputs(rootNode, document); this.createCurrentState(rootNode, document); this.createReachableStates(rootNode, document); this.createModel(rootNode, document); this.createUserInterface(rootNode, document); - return document; } @@ -236,6 +243,7 @@ String value = states.next(); Element currentNode = xmlUtilities.createArtifactElement(document,"state"); currentNode.setAttribute("name", value); + log.debug("Reachable State: "+value); currentNode.setAttribute("description", transitions.get(value).getDescription()); stateNode.appendChild(currentNode); }