diff artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java @ 153:bf596b83d984

Adjusted method signatures for deleting users in the UserFactory and in the Backend. artifacts/trunk@1378 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 03 Mar 2011 08:51:02 +0000
parents 7e5619115d5b
children 1a72f08ce8d7
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java	Thu Mar 03 08:07:28 2011 +0000
+++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java	Thu Mar 03 08:51:02 2011 +0000
@@ -56,6 +56,14 @@
     private static Logger logger =
         Logger.getLogger(ArtifactDatabaseImpl.class);
 
+    /** Message that is returned if an operation was successful.*/
+    public static final String OPERATION_SUCCESSFUL =
+        "SUCCESS";
+
+    /** Message that is returned if an operation failed.*/
+    public static final String OPERATION_FAILURE =
+        "FAILURE";
+
     /**
      * Error message issued if a requested artifact factory
      * is not registered to this database.
@@ -1015,10 +1023,10 @@
         Element root = ec.create("result");
 
         if (newUser != null) {
-            root.setTextContent("SUCCESS");
+            root.setTextContent(OPERATION_SUCCESSFUL);
         }
         else {
-            root.setTextContent("FAILURE");
+            root.setTextContent(OPERATION_FAILURE);
         }
 
         result.appendChild(root);
@@ -1035,21 +1043,28 @@
             throw new ArtifactDatabaseException(NO_SUCH_FACTORY);
         }
 
-        User toDelete = factory.getUser(userId, context);
+        logger.debug("Delete user: " + userId);
 
-        if (toDelete == null) {
-            logger.warn("There is no user with the uuid: " + userId);
-            throw new ArtifactDatabaseException(NO_SUCH_USER);
+        Document result = XMLUtils.newDocument();
+
+        XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
+            result,
+            ArtifactNamespaceContext.NAMESPACE_URI,
+            ArtifactNamespaceContext.NAMESPACE_PREFIX);
+
+        Element root = ec.create("result");
+        result.appendChild(root);
+
+        try {
+            factory.deleteUser(userId, context);
+            root.setTextContent(OPERATION_SUCCESSFUL);
+        }
+        catch (Exception e) {
+            logger.error(e.getMessage(), e);
+            root.setTextContent(OPERATION_FAILURE);
         }
 
-        logger.debug(
-            "Remove user: " + toDelete.getName() +
-            "(" + toDelete.identifier() + ")");
-
-        factory.deleteUser(toDelete, context);
-
-        // FIXME Return a useful document!
-        return XMLUtils.newDocument();
+        return result;
     }
 
 

http://dive4elements.wald.intevation.org