Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.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 | 2473440671ce |
comparison
equal
deleted
inserted
replaced
72:1fece4da4f2f | 73:504570de21fd |
---|---|
1 /** | 1 /** |
2 * | 2 * |
3 */ | 3 */ |
4 package de.intevation.gnv.artifacts.fis; | 4 package de.intevation.gnv.artifacts.fis; |
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; |
18 import de.intevation.artifactdatabase.Config; | 20 import de.intevation.artifactdatabase.Config; |
19 import de.intevation.artifactdatabase.DefaultArtifact; | 21 import de.intevation.artifactdatabase.DefaultArtifact; |
20 import de.intevation.artifactdatabase.XMLUtils; | 22 import de.intevation.artifactdatabase.XMLUtils; |
21 import de.intevation.artifacts.Artifact; | 23 import de.intevation.artifacts.Artifact; |
22 import de.intevation.artifacts.ArtifactFactory; | 24 import de.intevation.artifacts.ArtifactFactory; |
25 import de.intevation.artifacts.CallContext; | |
23 import de.intevation.gnv.artifacts.GNVArtifactBase; | 26 import de.intevation.gnv.artifacts.GNVArtifactBase; |
24 import de.intevation.gnv.artifacts.context.GNVArtifactContext; | 27 import de.intevation.gnv.artifacts.context.GNVArtifactContext; |
25 import de.intevation.gnv.artifacts.fis.product.DefaultProduct; | 28 import de.intevation.gnv.artifacts.fis.product.DefaultProduct; |
26 import de.intevation.gnv.artifacts.fis.product.Product; | 29 import de.intevation.gnv.artifacts.fis.product.Product; |
27 import de.intevation.gnv.transition.DefaultInputData; | 30 import de.intevation.gnv.transition.DefaultInputData; |
70 | 73 |
71 private ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities(); | 74 private ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities(); |
72 | 75 |
73 | 76 |
74 /** | 77 /** |
75 * @see de.intevation.artifactdatabase.DefaultArtifact#advance(org.w3c.dom.Document, java.lang.Object) | 78 * @see de.intevation.artifactdatabase.DefaultArtifact#advance(org.w3c.dom.Document, de.intevation.artifacts.CallContext) |
76 */ | 79 */ |
77 @Override | 80 @Override |
78 public Document advance(Document target, Object context) { | 81 public Document advance(Document target, CallContext context) { |
79 if (this.productArtifact == null){ | 82 if (this.productArtifact == null){ |
80 if (this.current != null){ | 83 if (this.current != null){ |
81 String uuid = Config.getStringXPath(target, "action/uuid/@value"); // TODO: müssen wir für das subartifact eine veränderte uuid führen? | 84 String uuid = Config.getStringXPath(target, "action/uuid/@value"); // TODO: müssen wir für das subartifact eine veränderte uuid führen? |
82 String hash = Config.getStringXPath(target, "action/hash/@value"); | 85 String hash = Config.getStringXPath(target, "action/hash/@value"); |
83 this.productArtifact = this.current.getArtifactFactory().createArtifact(uuid, context); | 86 this.productArtifact = this.current.getArtifactFactory().createArtifact(uuid, context); |
160 | 163 |
161 /** | 164 /** |
162 * @see de.intevation.artifactdatabase.DefaultArtifact#describe(java.lang.Object) | 165 * @see de.intevation.artifactdatabase.DefaultArtifact#describe(java.lang.Object) |
163 */ | 166 */ |
164 @Override | 167 @Override |
165 public Document describe(Object context) { | 168 public Document describe(CallContext context) { |
166 if (this.productArtifact == null){ | 169 if (this.productArtifact == null){ |
167 return this.createDescibeOutput(); | 170 return this.createDescibeOutput(); |
168 }else{ | 171 }else{ |
169 return this.productArtifact.describe(context); | 172 return this.productArtifact.describe(context); |
170 } | 173 } |
172 | 175 |
173 /** | 176 /** |
174 * @see de.intevation.artifactdatabase.DefaultArtifact#feed(org.w3c.dom.Document, java.lang.Object) | 177 * @see de.intevation.artifactdatabase.DefaultArtifact#feed(org.w3c.dom.Document, java.lang.Object) |
175 */ | 178 */ |
176 @Override | 179 @Override |
177 public Document feed(Document target, Object context) { | 180 public Document feed(Document target, CallContext context) { |
178 if (this.productArtifact == null){ | 181 if (this.productArtifact == null){ |
179 String productName = Config.getStringXPath(target, "action/data/input[@name='product']/@value"); | 182 String productName = Config.getStringXPath(target, "action/data/input[@name='product']/@value"); |
180 if (this.products.containsKey(productName)) { | 183 if (this.products.containsKey(productName)) { |
181 this.current = this.products.get(productName); | 184 this.current = this.products.get(productName); |
182 }else{ | 185 }else{ |
191 | 194 |
192 /** | 195 /** |
193 * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.lang.Object) | 196 * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.lang.Object) |
194 */ | 197 */ |
195 @Override | 198 @Override |
196 public byte[] out(Document format, Object context) { | 199 public void out(Document format, OutputStream outputStream, CallContext context) throws IOException { |
197 byte[] returnValue = null; | |
198 if (this.productArtifact != null){ | 200 if (this.productArtifact != null){ |
199 returnValue = this.productArtifact.out(format, context); | 201 this.productArtifact.out(format,outputStream, context); |
200 } | 202 } |
201 return returnValue; | |
202 } | 203 } |
203 | 204 |
204 /** | 205 /** |
205 * Constructor | 206 * Constructor |
206 */ | 207 */ |