diff 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
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Tue Mar 09 12:54:05 2010 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java	Wed Mar 10 13:27:14 2010 +0000
@@ -1,6 +1,3 @@
-/**
- *
- */
 package de.intevation.gnv.artifacts;
 
 import de.intevation.artifactdatabase.Config;
@@ -44,6 +41,7 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 import javax.xml.xpath.XPathConstants;
@@ -344,7 +342,11 @@
     @Override
     public Document feed(Document target, CallContext context) {
         log.debug("GNVArtifactBase.feed");
-        Document result = XMLUtils.newDocument();
+        RessourceFactory fac = RessourceFactory.getInstance();
+        Locale[] locales     = fac.getLocales();
+        Locale   locale      = context.getMeta().getPreferredLocale(locales);
+        Document result      = XMLUtils.newDocument();
+
         try {
             if (this.current != null) {
                 Collection<InputData> inputData = this.parseInputData(
@@ -352,14 +354,18 @@
                     XPATH_INPUT_DATA);
 
                 if (!inputData.isEmpty()){
-                    current.feed(inputData, super.identifier);
-                    result = new ArtifactXMLUtilities().createSuccessReport(
-                            "Feed success", XMLUtils.newDocument());
+                    result = current.feed(context, inputData, super.identifier);
                 }else{
-                    String msg = "No Inputdata given. Please select at least one Entry.";
+                    //String msg = "No Inputdata given. Please select at least one Entry.";
+                    String msg = fac.getRessource(
+                        locale,
+                        EXCEPTION_NO_INPUT,
+                        EXCEPTION_NO_INPUT);
+
                     log.warn(msg);
-                    result = new ArtifactXMLUtilities().createExceptionReport(msg,
-                            XMLUtils.newDocument());
+                    result = new ArtifactXMLUtilities().createInputExceptionReport(
+                        msg,
+                        XMLUtils.newDocument());
                 }
             } else {
                 String msg = "No State instantiated";

http://dive4elements.wald.intevation.org