diff src/main/java/de/intevation/lada/rest/ProbeService.java @ 700:d74b5b1190ae

fixed delete probe service.
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 10 Jul 2015 18:29:27 +0200
parents 51d8d5bacf68
children e502e1af6256
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/rest/ProbeService.java	Fri Jul 10 14:54:21 2015 +0200
+++ b/src/main/java/de/intevation/lada/rest/ProbeService.java	Fri Jul 10 18:29:27 2015 +0200
@@ -14,6 +14,7 @@
 import java.util.List;
 import java.util.Map;
 
+import javax.ejb.EJBTransactionRolledbackException;
 import javax.enterprise.context.RequestScoped;
 import javax.inject.Inject;
 import javax.json.Json;
@@ -22,6 +23,7 @@
 import javax.json.JsonObject;
 import javax.json.JsonReader;
 import javax.persistence.Query;
+import javax.persistence.TransactionRequiredException;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.GET;
@@ -507,7 +509,14 @@
         /* Delete the probe translation object*/
         defaultRepo.delete(probeTransObj, "land");
         /* Delete the probe object*/
-        Response response = defaultRepo.delete(probeObj, "land");
-        return response;
+        try {
+            Response response = defaultRepo.delete(probeObj, "land");
+            return response;
+        }
+        catch(IllegalArgumentException | EJBTransactionRolledbackException |
+            TransactionRequiredException e) {
+            defaultRepo.update(probeTransObj, "land");
+            return new Response(false, 600, "");
+        }
     }
 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)