diff artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java @ 275:e92d5944fe4b

Enabled the artifact database to retrieve requests to change the name of a specific collection. artifacts/trunk@2074 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 08 Jun 2011 07:36:43 +0000
parents 22a90706d32d
children d15f09d5b89d
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java	Tue Jun 07 17:09:25 2011 +0000
+++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java	Wed Jun 08 07:36:43 2011 +0000
@@ -1544,6 +1544,37 @@
         return result;
     }
 
+
+    public Document setCollectionName(String uuid, Document doc, CallMeta meta)
+    throws ArtifactDatabaseException
+    {
+        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);
+
+        String name = XMLUtils.xpathString(
+            doc, XPATH_COLLECTION_NAME, ArtifactNamespaceContext.INSTANCE);
+
+        logger.info("Set name of collection '" + uuid + "' to: " + name);
+
+        if (name == null || name.length() == 0) {
+            logger.warn("The new name is emtpy. No new name set!");
+            root.setTextContent(OPERATION_FAILURE);
+            return result;
+        }
+
+        boolean success = backend.setCollectionName(uuid, name);
+        root.setTextContent(success ? OPERATION_SUCCESSFUL: OPERATION_FAILURE);
+
+        return result;
+    }
+
+
     public DeferredOutput outCollection(
         String   collectionId,
         Document format,

http://dive4elements.wald.intevation.org