Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 73:504570de21fd
Refactoring Work depending on Infrastructurchanges in the Artifact-Module
gnv-artifacts/trunk@79 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Mon, 14 Sep 2009 10:32:38 +0000 |
parents | e4ecf3188bdf |
children | 0e38f512f7e4 |
comparison
equal
deleted
inserted
replaced
72:1fece4da4f2f | 73:504570de21fd |
---|---|
1 /** | 1 /** |
2 * | 2 * |
3 */ | 3 */ |
4 package de.intevation.gnv.artifacts; | 4 package de.intevation.gnv.artifacts; |
5 | 5 |
6 import java.io.IOException; | |
7 import java.io.OutputStream; | |
6 import java.util.ArrayList; | 8 import java.util.ArrayList; |
7 import java.util.Collection; | 9 import java.util.Collection; |
8 import java.util.HashMap; | 10 import java.util.HashMap; |
9 import java.util.Iterator; | 11 import java.util.Iterator; |
10 import java.util.Map; | 12 import java.util.Map; |
21 import de.intevation.artifactdatabase.Config; | 23 import de.intevation.artifactdatabase.Config; |
22 import de.intevation.artifactdatabase.DefaultArtifact; | 24 import de.intevation.artifactdatabase.DefaultArtifact; |
23 import de.intevation.artifactdatabase.XMLUtils; | 25 import de.intevation.artifactdatabase.XMLUtils; |
24 import de.intevation.artifacts.ArtifactFactory; | 26 import de.intevation.artifacts.ArtifactFactory; |
25 import de.intevation.artifacts.ArtifactNamespaceContext; | 27 import de.intevation.artifacts.ArtifactNamespaceContext; |
28 import de.intevation.artifacts.CallContext; | |
26 import de.intevation.gnv.artifacts.context.GNVArtifactContext; | 29 import de.intevation.gnv.artifacts.context.GNVArtifactContext; |
27 import de.intevation.gnv.transition.DefaultInputData; | 30 import de.intevation.gnv.transition.DefaultInputData; |
28 import de.intevation.gnv.transition.InputData; | 31 import de.intevation.gnv.transition.InputData; |
29 import de.intevation.gnv.transition.InputValue; | 32 import de.intevation.gnv.transition.InputValue; |
30 import de.intevation.gnv.transition.OutputMode; | 33 import de.intevation.gnv.transition.OutputMode; |
82 public GNVArtifactBase() { | 85 public GNVArtifactBase() { |
83 super(); | 86 super(); |
84 } | 87 } |
85 | 88 |
86 /** | 89 /** |
87 * @see de.intevation.artifactdatabase.DefaultArtifact#advance(org.w3c.dom.Document, java.lang.Object) | 90 * @see de.intevation.artifactdatabase.DefaultArtifact#advance(org.w3c.dom.Document, de.intevation.artifacts.CallContext) |
88 */ | 91 */ |
89 @Override | 92 @Override |
90 public Document advance(Document target, Object context) { | 93 public Document advance(Document target, CallContext context) { |
91 Document result = XMLUtils.newDocument(); | 94 Document result = XMLUtils.newDocument(); |
92 if (this.current != null){ | 95 if (this.current != null){ |
93 String transitionName = this.readTransitionName(target); | 96 String transitionName = this.readTransitionName(target); |
94 if (this.current.isTransitionReachable(transitionName)){ | 97 if (this.current.isTransitionReachable(transitionName)){ |
95 // 1. Prüfung ob Transition valide ist | 98 // 1. Prüfung ob Transition valide ist |
137 log.debug(xpathQuery); | 140 log.debug(xpathQuery); |
138 return Config.getNodeXPath(document,xpathQuery); | 141 return Config.getNodeXPath(document,xpathQuery); |
139 } | 142 } |
140 | 143 |
141 /** | 144 /** |
142 * @see de.intevation.artifactdatabase.DefaultArtifact#feed(org.w3c.dom.Document, java.lang.Object) | 145 * @see de.intevation.artifactdatabase.DefaultArtifact#feed(org.w3c.dom.Document, de.intevation.artifacts.CallContext) |
143 */ | 146 */ |
144 @Override | 147 @Override |
145 public Document feed(Document target, Object context) { | 148 public Document feed(Document target, CallContext context) { |
146 Document result = XMLUtils.newDocument(); | 149 Document result = XMLUtils.newDocument(); |
147 try { | 150 try { |
148 if (this.current != null){ | 151 if (this.current != null){ |
149 this.current.putInputData(this.parseInputData(target)); | 152 this.current.putInputData(this.parseInputData(target)); |
150 // TODO Ergebnisdokument erzeugen. | 153 // TODO Ergebnisdokument erzeugen. |
312 return returnValue; | 315 return returnValue; |
313 } | 316 } |
314 /** | 317 /** |
315 * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.lang.Object) | 318 * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.lang.Object) |
316 */ | 319 */ |
317 public byte[] out(Document format, Object context) { | 320 |
321 | |
322 /** | |
323 * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.io.OutputStream, de.intevation.artifacts.CallContext) | |
324 */ | |
325 @Override | |
326 public void out(Document format, OutputStream outputStream, CallContext context) | |
327 throws IOException { | |
318 log.debug("TGNVArtifactBase.out"); | 328 log.debug("TGNVArtifactBase.out"); |
319 try { | 329 try { |
320 | 330 |
321 if (current != null && current instanceof OutputTransition){ | 331 if (current != null && current instanceof OutputTransition){ |
322 return ((OutputTransition)current).out(this.readOutputType(format)); | 332 ((OutputTransition)current).out(this.readOutputType(format), outputStream); |
323 } | 333 } |
324 } catch (TransitionException e) { | 334 } catch (TransitionException e) { |
325 log.error(e,e); | 335 log.error(e,e); |
326 } | 336 } |
327 return null; | 337 } |
328 } | 338 |
329 | |
330 protected String readOutputType(Document document){ | 339 protected String readOutputType(Document document){ |
331 String value = Config.getStringXPath(document,"action/out/@name"); | 340 String value = Config.getStringXPath(document,"action/out/@name"); |
332 return value; | 341 return value; |
333 } | 342 } |
334 } | 343 } |