Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 57:f01592cd6419
Funktionalität Feed initial bereitgestellt.
gnv-artifacts/trunk@39 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Tue, 08 Sep 2009 12:22:00 +0000 |
parents | 737d8bf63701 |
children | f31343d80d53 |
comparison
equal
deleted
inserted
replaced
56:737d8bf63701 | 57:f01592cd6419 |
---|---|
1 /** | 1 /** |
2 * | 2 * |
3 */ | 3 */ |
4 package de.intevation.gnv.artifacts; | 4 package de.intevation.gnv.artifacts; |
5 | 5 |
6 import java.util.ArrayList; | |
6 import java.util.Collection; | 7 import java.util.Collection; |
7 import java.util.HashMap; | 8 import java.util.HashMap; |
8 import java.util.Iterator; | 9 import java.util.Iterator; |
9 import java.util.Map; | 10 import java.util.Map; |
10 | 11 |
15 import org.w3c.dom.NodeList; | 16 import org.w3c.dom.NodeList; |
16 | 17 |
17 import de.intevation.artifactdatabase.Config; | 18 import de.intevation.artifactdatabase.Config; |
18 import de.intevation.artifactdatabase.DefaultArtifact; | 19 import de.intevation.artifactdatabase.DefaultArtifact; |
19 import de.intevation.gnv.artifacts.context.GNVArtifactContext; | 20 import de.intevation.gnv.artifacts.context.GNVArtifactContext; |
21 import de.intevation.gnv.transition.DefaultInputData; | |
22 import de.intevation.gnv.transition.InputData; | |
20 import de.intevation.gnv.transition.InputValue; | 23 import de.intevation.gnv.transition.InputValue; |
21 import de.intevation.gnv.transition.Transition; | 24 import de.intevation.gnv.transition.Transition; |
22 import de.intevation.gnv.transition.TransitionFactory; | 25 import de.intevation.gnv.transition.TransitionFactory; |
26 import de.intevation.gnv.transition.exception.TransitionException; | |
23 | 27 |
24 /** | 28 /** |
25 * @author Tim Englich <tim.englich@intevation.de> | 29 * @author Tim Englich <tim.englich@intevation.de> |
26 * | 30 * |
27 */ | 31 */ |
71 protected Node getConfigurationFragment(Document document){ | 75 protected Node getConfigurationFragment(Document document){ |
72 log.debug("GNVArtifactBase.getConfigurationFragment"); | 76 log.debug("GNVArtifactBase.getConfigurationFragment"); |
73 String xpathQuery = XPATH_ARTIFACT_CONFIGURATION.replaceAll(XPATH_IDENTIFIER_REPLACE, this.name); | 77 String xpathQuery = XPATH_ARTIFACT_CONFIGURATION.replaceAll(XPATH_IDENTIFIER_REPLACE, this.name); |
74 log.debug(xpathQuery); | 78 log.debug(xpathQuery); |
75 return Config.getNodeXPath(document,xpathQuery); | 79 return Config.getNodeXPath(document,xpathQuery); |
80 } | |
81 | |
82 /** | |
83 * @see de.intevation.artifactdatabase.DefaultArtifact#feed(org.w3c.dom.Document, java.lang.Object) | |
84 */ | |
85 @Override | |
86 public Document feed(Document target, Object context) { | |
87 Document result = super.newDocument(); | |
88 try { | |
89 if (this.current != null){ | |
90 this.current.putInputData(this.parseInputData(target)); | |
91 // TODO Ergebnisdokument erzeugen. | |
92 } | |
93 } catch (TransitionException e) { | |
94 log.error(e,e); | |
95 //TODO: Fehlerdokumenterzeugen. | |
96 } | |
97 return result; | |
76 } | 98 } |
77 | 99 |
78 /** | 100 /** |
79 * @see de.intevation.artifactdatabase.DefaultArtifact#setup(java.lang.String, java.lang.Object) | 101 * @see de.intevation.artifactdatabase.DefaultArtifact#setup(java.lang.String, java.lang.Object) |
80 */ | 102 */ |
201 Element node = document.createElementNS(DefaultArtifact.NAMESPACE_URI, name); | 223 Element node = document.createElementNS(DefaultArtifact.NAMESPACE_URI, name); |
202 node.setPrefix(DefaultArtifact.NAMESPACE_PREFIX); | 224 node.setPrefix(DefaultArtifact.NAMESPACE_PREFIX); |
203 return node; | 225 return node; |
204 } | 226 } |
205 | 227 |
228 protected Collection<InputData> parseInputData(Document document){ | |
229 log.debug("GNVArtifactBase.parseInputData"); | |
230 Collection<InputData> returnValue = null; | |
231 | |
232 NodeList inputElemets = Config.getNodeSetXPath(document, "action/data/input"); | |
233 if(inputElemets != null){ | |
234 returnValue = new ArrayList<InputData>(inputElemets.getLength()); | |
235 for (int i = 0; i < inputElemets.getLength(); i++){ | |
236 Node inputDataNode = inputElemets.item(i); | |
237 InputData inputData = new DefaultInputData(Config.getStringXPath(inputDataNode,"@name"), Config.getStringXPath(inputDataNode,"@value")); | |
238 log.debug(inputData.toString()); | |
239 returnValue.add(inputData); | |
240 } | |
241 } | |
242 return returnValue; | |
243 } | |
244 | |
206 | 245 |
207 } | 246 } |