From 440cc907e4c618a1be307a5f992cfb5e753f2f18 Mon Sep 17 00:00:00 2001 From: Costantino Perciante Date: Tue, 11 Apr 2017 13:18:18 +0000 Subject: [PATCH] added method to fetch dataset also without api key (only public datasets) git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-catalogue/ckan-util-library@146751 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../ckanutillibrary/server/DataCatalogue.java | 9 +++++++++ .../ckanutillibrary/server/DataCatalogueImpl.java | 14 ++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/main/java/org/gcube/datacatalogue/ckanutillibrary/server/DataCatalogue.java b/src/main/java/org/gcube/datacatalogue/ckanutillibrary/server/DataCatalogue.java index b5213bf..98d9c1a 100644 --- a/src/main/java/org/gcube/datacatalogue/ckanutillibrary/server/DataCatalogue.java +++ b/src/main/java/org/gcube/datacatalogue/ckanutillibrary/server/DataCatalogue.java @@ -381,6 +381,15 @@ public interface DataCatalogue { * @return */ CkanDataset getDataset(String datasetId, String apiKey); + + /** + * Retrieve a ckan dataset given its id. The CkanClient is used, without api key. The result + * is null also when the dataset is private. + * @param datasetId + * @return + * @throws Exception + */ + CkanDataset getDataset(String datasetId) throws Exception; /** * Set searchable field diff --git a/src/main/java/org/gcube/datacatalogue/ckanutillibrary/server/DataCatalogueImpl.java b/src/main/java/org/gcube/datacatalogue/ckanutillibrary/server/DataCatalogueImpl.java index 99eace7..7ed020f 100644 --- a/src/main/java/org/gcube/datacatalogue/ckanutillibrary/server/DataCatalogueImpl.java +++ b/src/main/java/org/gcube/datacatalogue/ckanutillibrary/server/DataCatalogueImpl.java @@ -1685,6 +1685,19 @@ public class DataCatalogueImpl implements DataCatalogue{ return null; } + @Override + public CkanDataset getDataset(String datasetId) throws Exception{ + logger.info("Request ckan dataset with id " + datasetId); + + // checks + checkNotNull(datasetId); + checkArgument(!datasetId.isEmpty()); + + CkanClient client = new CkanClient(CKAN_CATALOGUE_URL); + return client.getDataset(datasetId); + + } + @Override public boolean setSearchableField(String datasetId, boolean searchable) { @@ -2569,4 +2582,5 @@ public class DataCatalogueImpl implements DataCatalogue{ } return toReturn; } + } \ No newline at end of file