diff --git a/pom.xml b/pom.xml
index c433fe4..e573659 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
org.gcube.applicationsupportlayer
aslsocial
- 0.7.1-SNAPSHOT
+ 0.7.2-SNAPSHOT
jar
Social Portal ASL Extension
@@ -53,7 +53,7 @@
aslcore
provided
-
+
org.gcube.common
home-library
provided
@@ -90,6 +90,17 @@
[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
provided
+
+ org.gcube.contentmanagement
+ storage-manager-core
+ [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)
+ compile
+
+
+ org.gcube.contentmanagement
+ storage-manager-wrapper
+ [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)
+
com.liferay.portal
portal-service
@@ -98,7 +109,7 @@
log4j
log4j
-
+
org.slf4j
slf4j-log4j12
diff --git a/src/main/java/org/gcube/applicationsupportlayer/social/ftp/FTPManager.java b/src/main/java/org/gcube/applicationsupportlayer/social/storage/FTPManager.java
similarity index 94%
rename from src/main/java/org/gcube/applicationsupportlayer/social/ftp/FTPManager.java
rename to src/main/java/org/gcube/applicationsupportlayer/social/storage/FTPManager.java
index 5dea787..467302f 100644
--- a/src/main/java/org/gcube/applicationsupportlayer/social/ftp/FTPManager.java
+++ b/src/main/java/org/gcube/applicationsupportlayer/social/storage/FTPManager.java
@@ -1,4 +1,4 @@
-package org.gcube.applicationsupportlayer.social.ftp;
+package org.gcube.applicationsupportlayer.social.storage;
import static org.gcube.resources.discovery.icclient.ICFactory.clientFor;
import static org.gcube.resources.discovery.icclient.ICFactory.queryFor;
@@ -74,7 +74,13 @@ public class FTPManager {
ftpUrl = ac.address();
httpBaseURL = res.profile().runtime().hostedOn();
user = ac.username();
+
+
+ //set the scope
+ String currScope = ScopeProvider.instance.get();
+ ScopeProvider.instance.set("/"+PortalContext.getConfiguration().getInfrastructureName());
pwd = StringEncrypter.getEncrypter().decrypt(ac.password());
+ ScopeProvider.instance.set(currScope);
// Connect to the FTP server
client.connect(ftpUrl);
diff --git a/src/main/java/org/gcube/applicationsupportlayer/social/storage/StorageManager.java b/src/main/java/org/gcube/applicationsupportlayer/social/storage/StorageManager.java
new file mode 100644
index 0000000..124e547
--- /dev/null
+++ b/src/main/java/org/gcube/applicationsupportlayer/social/storage/StorageManager.java
@@ -0,0 +1,46 @@
+package org.gcube.applicationsupportlayer.social.storage;
+
+import org.gcube.common.portal.PortalContext;
+import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.contentmanagement.blobstorage.service.IClient;
+import org.gcube.contentmanager.storageclient.wrapper.AccessType;
+import org.gcube.contentmanager.storageclient.wrapper.MemoryType;
+import org.gcube.contentmanager.storageclient.wrapper.StorageClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+/**
+ *
+ * @author Massimiliano Assante, ISTI-CNR
+ *
+ */
+public class StorageManager {
+ private static final Logger _log = LoggerFactory.getLogger(StorageManager.class);
+
+
+ private static final String STORAGE_OWNER = "gCubeSocialFramework";
+
+ private static StorageManager singleton;
+
+ private static IClient client;
+
+ private StorageManager() {
+ try {
+ //set the scope
+ String currScope = ScopeProvider.instance.get();
+ ScopeProvider.instance.set("/"+PortalContext.getConfiguration().getInfrastructureName());
+ client = new StorageClient(STORAGE_OWNER, AccessType.PRIVATE, MemoryType.PERSISTENT).getClient();
+ ScopeProvider.instance.set(currScope);
+ singleton = this;
+ _log.trace("Social Framework Storage initialized - OK");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static IClient getClient() {
+ if (singleton == null) {
+ singleton = new StorageManager();
+ }
+ return client;
+ }
+}