Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 117:ef157bd2fa92
LanguageSupport integrated
gnv-artifacts/trunk@178 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Fri, 02 Oct 2009 14:24:47 +0000 |
parents | 820238357bab |
children | 7fb9441dd8af |
comparison
equal
deleted
inserted
replaced
116:820238357bab | 117:ef157bd2fa92 |
---|---|
22 import de.intevation.artifactdatabase.DefaultArtifact; | 22 import de.intevation.artifactdatabase.DefaultArtifact; |
23 import de.intevation.artifactdatabase.XMLUtils; | 23 import de.intevation.artifactdatabase.XMLUtils; |
24 import de.intevation.artifacts.ArtifactFactory; | 24 import de.intevation.artifacts.ArtifactFactory; |
25 import de.intevation.artifacts.ArtifactNamespaceContext; | 25 import de.intevation.artifacts.ArtifactNamespaceContext; |
26 import de.intevation.artifacts.CallContext; | 26 import de.intevation.artifacts.CallContext; |
27 import de.intevation.artifacts.CallMeta; | |
27 import de.intevation.gnv.artifacts.context.GNVArtifactContext; | 28 import de.intevation.gnv.artifacts.context.GNVArtifactContext; |
28 import de.intevation.gnv.transition.DefaultInputData; | 29 import de.intevation.gnv.transition.DefaultInputData; |
29 import de.intevation.gnv.transition.InputData; | 30 import de.intevation.gnv.transition.InputData; |
30 import de.intevation.gnv.transition.InputValue; | 31 import de.intevation.gnv.transition.InputValue; |
31 import de.intevation.gnv.transition.OutputMode; | 32 import de.intevation.gnv.transition.OutputMode; |
101 if (this.current.validate()){ | 102 if (this.current.validate()){ |
102 | 103 |
103 try { | 104 try { |
104 Transition nextStep = this.transitions.get(transitionName); | 105 Transition nextStep = this.transitions.get(transitionName); |
105 // 2.Ergebnisse Berechnen | 106 // 2.Ergebnisse Berechnen |
106 this.current.advance(uuid); | 107 this.current.advance(uuid,context.getMeta()); |
107 // 3. Ergebnisse übergeben | 108 // 3. Ergebnisse übergeben |
108 nextStep.setDescibeData(this.current.getDescibeData()); | 109 nextStep.setDescibeData(this.current.getDescibeData()); |
109 nextStep.putInputData(this.current.getInputData(),uuid); | 110 nextStep.putInputData(this.current.getInputData(),uuid); |
110 // 4. Umschalten auf neue Transistion | 111 // 4. Umschalten auf neue Transistion |
111 this.current = nextStep; | 112 this.current = nextStep; |
207 | 208 |
208 } | 209 } |
209 } | 210 } |
210 | 211 |
211 | 212 |
212 protected Document createDescibeOutput(){ | 213 protected Document createDescibeOutput(CallMeta callMeta){ |
213 log.debug("GNVArtifactBase.createDescibeOutput"); | 214 log.debug("GNVArtifactBase.createDescibeOutput"); |
214 Document document = XMLUtils.newDocument(); | 215 Document document = XMLUtils.newDocument(); |
215 Element rootNode = this.createRootNode(document); | 216 Element rootNode = this.createRootNode(document); |
216 this.createHeader(rootNode, document, "describe"); | 217 this.createHeader(rootNode, document, "describe"); |
217 this.createOutputs(rootNode, document); | 218 this.createOutputs(rootNode, document); |
218 this.createCurrentState(rootNode, document); | 219 this.createCurrentState(rootNode, document); |
219 this.createReachableStates(rootNode, document); | 220 this.createReachableStates(rootNode, document); |
220 this.createModel(rootNode, document); | 221 this.createModel(rootNode, document); |
221 this.createUserInterface(rootNode, document); | 222 this.createUserInterface(rootNode, document,callMeta); |
222 return document; | 223 return document; |
223 } | 224 } |
224 | 225 |
225 protected Element createRootNode(Document document){ | 226 protected Element createRootNode(Document document){ |
226 Element rootNode = xmlUtilities.createArtifactElement(document,"result"); | 227 Element rootNode = xmlUtilities.createArtifactElement(document,"result"); |
282 } | 283 } |
283 } | 284 } |
284 parent.appendChild(modelNode); | 285 parent.appendChild(modelNode); |
285 } | 286 } |
286 | 287 |
287 protected void createUserInterface(Element parent, Document document){ | 288 protected void createUserInterface(Element parent, Document document, CallMeta callMeta){ |
288 Element uiNode = xmlUtilities.createArtifactElement(document,"ui"); | 289 Element uiNode = xmlUtilities.createArtifactElement(document,"ui"); |
289 | 290 |
290 if (this.current != null){ | 291 if (this.current != null){ |
291 this.current.describe(document, uiNode); | 292 this.current.describe(document, uiNode,callMeta); |
292 } | 293 } |
293 | 294 |
294 parent.appendChild(uiNode); | 295 parent.appendChild(uiNode); |
295 } | 296 } |
296 | 297 |
362 return returnValue.values(); | 363 return returnValue.values(); |
363 } | 364 } |
364 | 365 |
365 | 366 |
366 /** | 367 /** |
367 * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.io.OutputStream, de.intevation.artifacts.CallContext) | 368 * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, |
369 * java.io.OutputStream, de.intevation.artifacts.CallContext) | |
368 */ | 370 */ |
369 @Override | 371 @Override |
370 public void out(Document format, OutputStream outputStream, CallContext context) | 372 public void out(Document format, OutputStream outputStream, |
371 throws IOException { | 373 CallContext context) throws IOException { |
372 log.debug("TGNVArtifactBase.out"); | 374 log.debug("TGNVArtifactBase.out"); |
373 try { | 375 try { |
374 | 376 |
375 if (current != null && current instanceof OutputTransition){ | 377 if (current != null && current instanceof OutputTransition) { |
376 String uuid = Config.getStringXPath(format, "action/uuid/@value"); | 378 String uuid = Config.getStringXPath(format, |
377 ((OutputTransition)current).out(this.readOutputType(format),this.parseInputData(format, "/action/out/params/input"), outputStream,uuid); | 379 "action/uuid/@value"); |
378 //context.afterCall(CallContext.STORE); // TODO: FIXME Schmutzige Lösung: Besser einen weiteren Transitionsschritt zwischenschalten. | 380 ((OutputTransition) current) |
381 .out(this.readOutputType(format), this.parseInputData( | |
382 format, "/action/out/params/input"), | |
383 outputStream, uuid, context.getMeta()); | |
379 } | 384 } |
380 } catch (TransitionException e) { | 385 } catch (TransitionException e) { |
381 log.error(e,e); | 386 log.error(e, e); |
382 throw new IOException(e.getMessage()); | 387 throw new IOException(e.getMessage()); |
383 } | 388 } |
384 } | 389 } |
385 | 390 |
386 | 391 |