diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 236a27c..6caf699 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -3,9 +3,6 @@
-
- uses
-
diff --git a/distro/changelog.xml b/distro/changelog.xml
index 45f01ff..7302f64 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -1,4 +1,8 @@
+
+ Minor fixes
+
First Release
diff --git a/pom.xml b/pom.xml
index 37f17fe..2febc97 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
org.gcube.data-catalogue
grsf-publisher-ws
- 1.0.0-SNAPSHOT
+ 1.0.1-SNAPSHOT
war
grsf-publisher-ws
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/Base.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/Base.java
index 159250f..1f3af83 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/Base.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/Base.java
@@ -10,7 +10,7 @@ import javax.validation.constraints.Size;
import org.gcube.data_catalogue.grsf_publish_ws.custom_annotations.CustomField;
import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods;
-import org.gcube.datacatalogue.ckanutillibrary.models.ResourceBean;
+import org.gcube.datacatalogue.ckanutillibrary.server.models.ResourceBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/CommonServiceUtils.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/CommonServiceUtils.java
index 76a11bd..b9cd6db 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/CommonServiceUtils.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/CommonServiceUtils.java
@@ -23,7 +23,7 @@ import org.gcube.data_catalogue.grsf_publish_ws.json.input.TimeSeriesBean;
import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods;
import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Status;
-import org.gcube.datacatalogue.ckanutillibrary.models.ResourceBean;
+import org.gcube.datacatalogue.ckanutillibrary.server.models.ResourceBean;
import org.slf4j.LoggerFactory;
/**
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java
index bd8640d..04888a8 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java
@@ -41,9 +41,9 @@ import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.AssociationToGroupThread;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.ManageTimeSeriesThread;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.WritePostCatalogueManagerThread;
-import org.gcube.datacatalogue.ckanutillibrary.DataCatalogue;
-import org.gcube.datacatalogue.ckanutillibrary.models.ResourceBean;
-import org.gcube.datacatalogue.ckanutillibrary.models.RolesCkanGroupOrOrg;
+import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
+import org.gcube.datacatalogue.ckanutillibrary.server.models.ResourceBean;
+import org.gcube.datacatalogue.ckanutillibrary.shared.RolesCkanGroupOrOrg;
import org.slf4j.LoggerFactory;
import eu.trentorise.opendata.jackan.model.CkanDataset;
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java
index 95856dd..45fc83f 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherStockService.java
@@ -41,9 +41,9 @@ import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.AssociationToGroupThread;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.ManageTimeSeriesThread;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.WritePostCatalogueManagerThread;
-import org.gcube.datacatalogue.ckanutillibrary.DataCatalogue;
-import org.gcube.datacatalogue.ckanutillibrary.models.ResourceBean;
-import org.gcube.datacatalogue.ckanutillibrary.models.RolesCkanGroupOrOrg;
+import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
+import org.gcube.datacatalogue.ckanutillibrary.server.models.ResourceBean;
+import org.gcube.datacatalogue.ckanutillibrary.shared.RolesCkanGroupOrOrg;
import org.slf4j.LoggerFactory;
import eu.trentorise.opendata.jackan.model.CkanDataset;
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/GcoreEndPointReaderSocial.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/GcoreEndPointReaderSocial.java
new file mode 100644
index 0000000..bf1edbe
--- /dev/null
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/GcoreEndPointReaderSocial.java
@@ -0,0 +1,72 @@
+package org.gcube.data_catalogue.grsf_publish_ws.utils;
+
+import static org.gcube.resources.discovery.icclient.ICFactory.client;
+import static org.gcube.resources.discovery.icclient.ICFactory.queryFor;
+
+import java.util.List;
+
+import org.gcube.common.resources.gcore.GCoreEndpoint;
+import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.resources.discovery.client.api.DiscoveryClient;
+import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Retrieve the endpoint for the Social Networking service running on Smartgears.
+ * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
+ */
+public class GcoreEndPointReaderSocial {
+
+ private String basePath = null;
+
+ private static Logger logger = LoggerFactory.getLogger(GcoreEndPointReaderSocial.class);
+ private static final String resource = "jersey-servlet";
+ private static final String serviceName = "SocialNetworking";
+ private static final String serviceClass = "Portal";
+
+ public GcoreEndPointReaderSocial(String context){
+
+ if(context == null || context.isEmpty())
+ throw new IllegalArgumentException("A valid context is needed to discover the service");
+
+
+ String oldContext = ScopeProvider.instance.get();
+ ScopeProvider.instance.set(context);
+
+ try{
+
+ SimpleQuery query = queryFor(GCoreEndpoint.class);
+ query.addCondition(String.format("$resource/Profile/ServiceClass/text() eq '%s'",serviceClass));
+ query.addCondition("$resource/Profile/DeploymentData/Status/text() eq 'ready'");
+ query.addCondition(String.format("$resource/Profile/ServiceName/text() eq '%s'",serviceName));
+ query.setResult("$resource/Profile/AccessPoint/RunningInstanceInterfaces//Endpoint[@EntryName/string() eq \""+resource+"\"]/text()");
+
+ DiscoveryClient client = client();
+ List endpoints = client.submit(query);
+ if (endpoints == null || endpoints.isEmpty()) throw new Exception("Cannot retrieve the GCoreEndpoint serviceName: "+serviceName +", serviceClass: " +serviceClass +", in scope: "+context);
+
+
+ this.basePath = endpoints.get(0);
+ if(basePath==null)
+ throw new Exception("Endpoint:"+resource+", is null for serviceName: "+serviceName +", serviceClass: " +serviceClass +", in scope: "+context);
+
+ logger.info("found entyname "+basePath+" for ckanResource: "+resource);
+
+ }catch(Exception e){
+ logger.error("Unable to retrieve such service endpoint information!", e);
+ }finally{
+ if(oldContext != null && !oldContext.equals(context))
+ ScopeProvider.instance.set(oldContext);
+ }
+ logger.info("Found base path " + basePath + " for the service");
+ }
+
+ /**
+ * Get the base path of the social networking service
+ * @return
+ */
+ public String getBasePath() {
+ return basePath;
+ }
+}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java
index a0922df..b5013d3 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/HelperMethods.java
@@ -19,9 +19,9 @@ import org.gcube.common.homelibrary.home.workspace.folder.items.ExternalFile;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.data_catalogue.grsf_publish_ws.utils.cache.CacheImpl;
import org.gcube.data_catalogue.grsf_publish_ws.utils.cache.CacheInterface;
-import org.gcube.datacatalogue.ckanutillibrary.DataCatalogue;
-import org.gcube.datacatalogue.ckanutillibrary.DataCatalogueFactory;
-import org.gcube.datacatalogue.ckanutillibrary.DataCatalogueImpl;
+import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
+import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogueFactory;
+import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogueImpl;
import org.jsoup.Jsoup;
import org.jsoup.safety.Whitelist;
import org.slf4j.LoggerFactory;
@@ -140,7 +140,7 @@ public abstract class HelperMethods {
if((result = (String) userEmailCache.get(token)) != null){
return result;
}else{
- String baseUrl = new ServiceEndPointReaderSocial(context).getBasePath();
+ String baseUrl = new GcoreEndPointReaderSocial(context).getBasePath();
String url = baseUrl + "users/getUserEmail?gcube-token=" + token;
logger.debug("Request url is " + url);
result = executGETHttpRequest(url, 200);
@@ -163,7 +163,7 @@ public abstract class HelperMethods {
if((result = (String) userFullnameCache.get(token)) != null){
return result;
}else{
- String baseUrl = new ServiceEndPointReaderSocial(context).getBasePath();
+ String baseUrl = new GcoreEndPointReaderSocial(context).getBasePath();
String url = baseUrl + "users/getUserFullname?gcube-token=" + token;
logger.debug("Request url is " + url);
result = executGETHttpRequest(url, 200);
@@ -356,7 +356,7 @@ public abstract class HelperMethods {
String tokenUser = SecurityTokenProvider.instance.get();
logger.info("Current scope for writeProductPost is " + currentScope + " and token is " + tokenUser.substring(0, 10) + "***************");
- String basePath = new ServiceEndPointReaderSocial(currentScope).getBasePath();
+ String basePath = new GcoreEndPointReaderSocial(currentScope).getBasePath();
if(basePath == null){
@@ -429,6 +429,7 @@ public abstract class HelperMethods {
* @param response
* @return
*/
+ @SuppressWarnings("unchecked")
public static Map getResponseEntityAsJSON(HttpResponse response){
Map toReturn = null;
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/ServiceEndPointReaderSocial.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/ServiceEndPointReaderSocial.java
deleted file mode 100644
index a17b2f3..0000000
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/ServiceEndPointReaderSocial.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package org.gcube.data_catalogue.grsf_publish_ws.utils;
-
-import static org.gcube.resources.discovery.icclient.ICFactory.clientFor;
-import static org.gcube.resources.discovery.icclient.ICFactory.queryFor;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.gcube.common.resources.gcore.ServiceEndpoint;
-import org.gcube.common.resources.gcore.ServiceEndpoint.AccessPoint;
-import org.gcube.common.scope.api.ScopeProvider;
-import org.gcube.resources.discovery.client.api.DiscoveryClient;
-import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Retrieve the endpoint for the Social Networking service running on Smartgears.
- * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
- */
-public class ServiceEndPointReaderSocial {
-
- private String basePath = null;
-
- private static Logger logger = LoggerFactory.getLogger(ServiceEndPointReaderSocial.class);
- private final static String RUNTIME_RESOURCE_NAME = "SocialNetworking";
- private final static String CATEGORY = "Portal";
-
- public ServiceEndPointReaderSocial(String context){
-
- if(context == null || context.isEmpty())
- throw new IllegalArgumentException("A valid context is needed to discover the service");
-
-
- String oldContext = ScopeProvider.instance.get();
- ScopeProvider.instance.set(context);
-
- try{
-
- List resources = getConfigurationFromIS();
- if (resources.size() == 0){
- logger.error("There is no Runtime Resource having name " + RUNTIME_RESOURCE_NAME +" and Category " + CATEGORY + " in this scope.");
- throw new Exception("There is no Runtime Resource having name " + RUNTIME_RESOURCE_NAME +" and Category " + CATEGORY + " in this scope.");
- }
- else {
-
- for (ServiceEndpoint res : resources) {
-
- Iterator accessPointIterator = res.profile().accessPoints().iterator();
-
- while (accessPointIterator.hasNext()) {
- ServiceEndpoint.AccessPoint accessPoint = (ServiceEndpoint.AccessPoint) accessPointIterator
- .next();
-
- // get base path
- basePath = accessPoint.address();
-
- // break
- break;
- }
- }
-
- }
-
- }catch(Exception e){
-
- logger.error("Unable to retrieve such service endpoint information!", e);
-
- }finally{
-
- if(oldContext != null && !oldContext.equals(context))
- ScopeProvider.instance.set(oldContext);
-
- }
-
- logger.info("Found base path " + basePath + " for the service");
-
- }
-
- /**
- * Retrieve endpoints information from IS for DB
- * @return list of endpoints for ckan database
- * @throws Exception
- */
- private List getConfigurationFromIS() throws Exception{
-
- SimpleQuery query = queryFor(ServiceEndpoint.class);
- query.addCondition("$resource/Profile/Name/text() eq '"+ RUNTIME_RESOURCE_NAME +"'");
- query.addCondition("$resource/Profile/Category/text() eq '"+ CATEGORY +"'");
- DiscoveryClient client = clientFor(ServiceEndpoint.class);
- List toReturn = client.submit(query);
- return toReturn;
-
- }
-
- /**
- * Get the base path of the social networking service
- * @return
- */
- public String getBasePath() {
- return basePath;
- }
-}
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/AssociationToGroupThread.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/AssociationToGroupThread.java
index 2832f94..8d44638 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/AssociationToGroupThread.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/AssociationToGroupThread.java
@@ -7,8 +7,8 @@ import java.util.List;
import java.util.ListIterator;
import java.util.Set;
-import org.gcube.datacatalogue.ckanutillibrary.DataCatalogue;
-import org.gcube.datacatalogue.ckanutillibrary.models.RolesCkanGroupOrOrg;
+import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
+import org.gcube.datacatalogue.ckanutillibrary.shared.RolesCkanGroupOrOrg;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/ManageTimeSeriesThread.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/ManageTimeSeriesThread.java
index cdf755b..0f7666a 100644
--- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/ManageTimeSeriesThread.java
+++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/threads/ManageTimeSeriesThread.java
@@ -29,7 +29,7 @@ import org.gcube.data_catalogue.grsf_publish_ws.utils.CSVHelpers;
import org.gcube.data_catalogue.grsf_publish_ws.utils.HelperMethods;
import org.gcube.data_catalogue.grsf_publish_ws.utils.cache.CacheImpl;
import org.gcube.data_catalogue.grsf_publish_ws.utils.cache.CacheInterface;
-import org.gcube.datacatalogue.ckanutillibrary.DataCatalogue;
+import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
import org.slf4j.LoggerFactory;
import eu.trentorise.opendata.jackan.model.CkanResourceBase;
diff --git a/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java
index 2f0fc04..3e51dbb 100644
--- a/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java
+++ b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java
@@ -40,8 +40,8 @@ import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Fishery_Type;
import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Sources;
import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Status;
import org.gcube.data_catalogue.grsf_publish_ws.utils.threads.AssociationToGroupThread;
-import org.gcube.datacatalogue.ckanutillibrary.DataCatalogue;
-import org.gcube.datacatalogue.ckanutillibrary.DataCatalogueFactory;
+import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogue;
+import org.gcube.datacatalogue.ckanutillibrary.server.DataCatalogueFactory;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.ObjectMapper;