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 }

http://dive4elements.wald.intevation.org