diff --git a/pom.xml b/pom.xml index 5b5f0bbd9bbe4b863d52b5d0ff03b20ca8845c26..ecf386dbb4a2e72d1e8af5c4000afdf549ffee28 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ <groupId>de.landsh.opendata</groupId> <artifactId>dcat-uploader</artifactId> - <version>1.0.2</version> + <version>1.0.3</version> <build> <plugins> diff --git a/src/main/java/de/landsh/opendata/ckan/CkanAPI.java b/src/main/java/de/landsh/opendata/ckan/CkanAPI.java index 657be12dfd11d8cf06968590d54dd409e507b7cd..c7f66289b11b30a70b7a3602deea98a7979f6b48 100644 --- a/src/main/java/de/landsh/opendata/ckan/CkanAPI.java +++ b/src/main/java/de/landsh/opendata/ckan/CkanAPI.java @@ -401,8 +401,8 @@ public class CkanAPI { } boolean doesDatasetExist(String packageId) throws IOException { - HttpGet requestPackageShow = new HttpGet(baseURL + "/api/3/action/package_show?id=" + packageId); - JSONObject response = restClient.executeHttpRequest(requestPackageShow); + final HttpGet requestPackageShow = new HttpGet(baseURL + "/api/3/action/package_show?id=" + packageId); + final JSONObject response = restClient.executeHttpRequest(requestPackageShow); return isResponseSuccess(response); } @@ -419,4 +419,18 @@ public class CkanAPI { return updatePackage(packageObject); } + public boolean deleteResource(String resourceId) throws IOException { + final JSONObject json = new JSONObject(); + json.put("id", resourceId); + + final HttpPost httpPost = new HttpPost(baseURL + "/api/action/resource_delete"); + httpPost.addHeader("Authorization", apiKey.toString()); + httpPost.addHeader("Content-Type", "application/json"); + httpPost.setEntity(new StringEntity(json.toString(), StandardCharsets.UTF_8)); + + final JSONObject responseJSON = restClient.executeHttpRequest(httpPost); + + return responseJSON.getBoolean("success"); + } + }