Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 725:dde7f51dbe1e
Improved exception handling while feeding an artifact.
gnv-artifacts/trunk@757 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 10 Mar 2010 13:27:14 +0000 |
parents | 078ba6799bd2 |
children | d47901df0a14 |
comparison
equal
deleted
inserted
replaced
724:9ba6bb85d6dd | 725:dde7f51dbe1e |
---|---|
1 /** | |
2 * | |
3 */ | |
4 package de.intevation.gnv.artifacts; | 1 package de.intevation.gnv.artifacts; |
5 | 2 |
6 import de.intevation.artifactdatabase.Config; | 3 import de.intevation.artifactdatabase.Config; |
7 import de.intevation.artifactdatabase.ProxyArtifact; | 4 import de.intevation.artifactdatabase.ProxyArtifact; |
8 import de.intevation.artifactdatabase.XMLUtils; | 5 import de.intevation.artifactdatabase.XMLUtils; |
42 import java.util.ArrayList; | 39 import java.util.ArrayList; |
43 import java.util.Collection; | 40 import java.util.Collection; |
44 import java.util.HashMap; | 41 import java.util.HashMap; |
45 import java.util.Iterator; | 42 import java.util.Iterator; |
46 import java.util.List; | 43 import java.util.List; |
44 import java.util.Locale; | |
47 import java.util.Map; | 45 import java.util.Map; |
48 | 46 |
49 import javax.xml.xpath.XPathConstants; | 47 import javax.xml.xpath.XPathConstants; |
50 | 48 |
51 import org.apache.log4j.Logger; | 49 import org.apache.log4j.Logger; |
342 * de.intevation.artifacts.CallContext) | 340 * de.intevation.artifacts.CallContext) |
343 */ | 341 */ |
344 @Override | 342 @Override |
345 public Document feed(Document target, CallContext context) { | 343 public Document feed(Document target, CallContext context) { |
346 log.debug("GNVArtifactBase.feed"); | 344 log.debug("GNVArtifactBase.feed"); |
347 Document result = XMLUtils.newDocument(); | 345 RessourceFactory fac = RessourceFactory.getInstance(); |
346 Locale[] locales = fac.getLocales(); | |
347 Locale locale = context.getMeta().getPreferredLocale(locales); | |
348 Document result = XMLUtils.newDocument(); | |
349 | |
348 try { | 350 try { |
349 if (this.current != null) { | 351 if (this.current != null) { |
350 Collection<InputData> inputData = this.parseInputData( | 352 Collection<InputData> inputData = this.parseInputData( |
351 target, | 353 target, |
352 XPATH_INPUT_DATA); | 354 XPATH_INPUT_DATA); |
353 | 355 |
354 if (!inputData.isEmpty()){ | 356 if (!inputData.isEmpty()){ |
355 current.feed(inputData, super.identifier); | 357 result = current.feed(context, inputData, super.identifier); |
356 result = new ArtifactXMLUtilities().createSuccessReport( | |
357 "Feed success", XMLUtils.newDocument()); | |
358 }else{ | 358 }else{ |
359 String msg = "No Inputdata given. Please select at least one Entry."; | 359 //String msg = "No Inputdata given. Please select at least one Entry."; |
360 String msg = fac.getRessource( | |
361 locale, | |
362 EXCEPTION_NO_INPUT, | |
363 EXCEPTION_NO_INPUT); | |
364 | |
360 log.warn(msg); | 365 log.warn(msg); |
361 result = new ArtifactXMLUtilities().createExceptionReport(msg, | 366 result = new ArtifactXMLUtilities().createInputExceptionReport( |
362 XMLUtils.newDocument()); | 367 msg, |
368 XMLUtils.newDocument()); | |
363 } | 369 } |
364 } else { | 370 } else { |
365 String msg = "No State instantiated"; | 371 String msg = "No State instantiated"; |
366 log.warn(msg); | 372 log.warn(msg); |
367 result = new ArtifactXMLUtilities().createExceptionReport(msg, | 373 result = new ArtifactXMLUtilities().createExceptionReport(msg, |