From 6792bd1bfa617d02298988e075fb6b1e01fc8497 Mon Sep 17 00:00:00 2001
From: Jesper Zedlitz <jesper@zedlitz.de>
Date: Fri, 5 Feb 2021 13:26:00 +0100
Subject: [PATCH] =?UTF-8?q?neue=20Methode=20zum=20=C3=84ndern=20des=20Tite?=
 =?UTF-8?q?ls=20eines=20Datensatzes?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/de/landsh/opendata/ckan/CkanAPI.java | 35 ++++---------------
 1 file changed, 6 insertions(+), 29 deletions(-)

diff --git a/src/main/java/de/landsh/opendata/ckan/CkanAPI.java b/src/main/java/de/landsh/opendata/ckan/CkanAPI.java
index 49773dd..928b9b4 100644
--- a/src/main/java/de/landsh/opendata/ckan/CkanAPI.java
+++ b/src/main/java/de/landsh/opendata/ckan/CkanAPI.java
@@ -405,39 +405,16 @@ public class CkanAPI {
         return isResponseSuccess(response);
     }
 
-    public boolean renameDataset(String packageId, String newName) throws IOException {
+    public boolean changeTitle(String packageId, String title) throws IOException {
+        final JSONObject packageObject = readDataset(packageId);
 
-        if (!doesDatasetExist(packageId)) {
+        if (packageObject == null) {
             log.error("Es gibt kein Dataset mit dem Namen {}", packageId);
-        }
-
-        if (doesDatasetExist(newName)) {
-            log.error("Es gibt bereits ein Dataset mit dem neuen Namen {}", newName);
             return false;
         }
 
-        HttpGet requestPackageShow = new HttpGet(baseURL + "/api/3/action/package_show?id=" + packageId);
-
-        JSONObject response = restClient.executeHttpRequest(requestPackageShow);
-
-        JSONObject dataset = response.getJSONObject("result");
-        dataset.put("name", newName);
-
-        String json = dataset.toString();
-
-        HttpPost requestPackageUpdate = new HttpPost(baseURL + "/api/3/action/package_update?id=" + packageId);
-        requestPackageUpdate.addHeader("Authorization", apiKey.toString());
-        requestPackageUpdate.addHeader("Content-Type", "application/json");
-        requestPackageUpdate.setEntity(new StringEntity(json, StandardCharsets.UTF_8));
-
-        response = restClient.executeHttpRequest(requestPackageUpdate);
-
-        final boolean success = isResponseSuccess(response);
-
-        if (success) {
-            log.info("Erfolgreich das Dataset {} in {} umbenannt.", packageId, newName);
-        }
-
-        return success;
+        packageObject.put("title", title);
+        return updatePackage(packageObject);
     }
+
 }
-- 
GitLab