From e2c84401f2fb8acb880a6ae63c53768cc10c5998 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Mon, 21 Feb 2022 13:17:14 +0100 Subject: [PATCH] Returns object instead of string --- .../org/gcube/gcat/client/Configuration.java | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/gcube/gcat/client/Configuration.java b/src/main/java/org/gcube/gcat/client/Configuration.java index f2244a5..1dc686d 100644 --- a/src/main/java/org/gcube/gcat/client/Configuration.java +++ b/src/main/java/org/gcube/gcat/client/Configuration.java @@ -5,37 +5,58 @@ import java.net.URL; import javax.xml.ws.WebServiceException; +import org.gcube.com.fasterxml.jackson.databind.ObjectMapper; +import org.gcube.gcat.api.configuration.CatalogueConfiguration; + /** * @author Luca Frosini (ISTI - CNR) */ -public class Configuration extends GCatClient implements org.gcube.gcat.api.interfaces.Configuration { +public class Configuration extends GCatClient implements org.gcube.gcat.api.interfaces.Configuration { + + protected ObjectMapper mapper; public Configuration() throws MalformedURLException { super(CONFIGURATION); + mapper = new ObjectMapper(); } public Configuration(URL enforcedServiceURL) throws MalformedURLException { super(enforcedServiceURL, CONFIGURATION); + mapper = new ObjectMapper(); + } + + protected CatalogueConfiguration getCatalogueConfigurationFromString(String json) throws WebServiceException { + try { + return mapper.readValue(json, CatalogueConfiguration.class); + } catch (WebServiceException e) { + throw e; + } catch (Exception e) { + throw new WebServiceException(e); + } + } + + @Override + public CatalogueConfiguration create(String json) throws WebServiceException { + String ret = super.create(json); + return getCatalogueConfigurationFromString(ret); } @Override - public String create(String json) throws WebServiceException { - return super.create(json); + public CatalogueConfiguration read() throws WebServiceException { + String ret = super.read(CURRENT_CONTEXT_PATH_PARAMETER); + return getCatalogueConfigurationFromString(ret); } @Override - public String read() throws WebServiceException { - return super.read(CURRENT_CONTEXT_PATH_PARAMETER); + public CatalogueConfiguration update(String json) throws WebServiceException { + String ret = super.update(json, CURRENT_CONTEXT_PATH_PARAMETER); + return getCatalogueConfigurationFromString(ret); } @Override - public String update(String json) throws WebServiceException { - return super.update(json, CURRENT_CONTEXT_PATH_PARAMETER); - } - - @Override - public String patch(String json) throws WebServiceException { - return super.patch(json, CURRENT_CONTEXT_PATH_PARAMETER); + public CatalogueConfiguration patch(String json) throws WebServiceException { + String ret = super.patch(json, CURRENT_CONTEXT_PATH_PARAMETER); + return getCatalogueConfigurationFromString(ret); } @Override