diff --git a/.classpath b/.classpath
index 3f26f3c..ee0fbef 100644
--- a/.classpath
+++ b/.classpath
@@ -1,12 +1,12 @@
-
+
-
+
@@ -33,5 +33,5 @@
-
+
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/pom.xml b/pom.xml
index 6ab2b7a..b2beea7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
org.gcube.portlets.user
workspace-explorer-app
- 0.1.0-SNAPSHOT
+ 1.0.0-SNAPSHOT
war
@@ -70,17 +70,16 @@
compile
-
-
-
-
-
-
+
+
+
+
+
+
com.github.gwtbootstrap
gwt-bootstrap
- 2.3.2.0
compile
@@ -113,36 +112,33 @@
org.gcube.resources.discovery
ic-client
- [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
provided
org.gcube.core
common-scope-maps
- [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
compile
-
- org.gcube.applicationsupportlayer
- aslcore
- [4.0.0-SNAPSHOT, 5.0.0-SNAPSHOT)
- provided
-
+
+
+
+
+
org.gcube.common
home-library-model
- [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)
+ [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
provided
org.gcube.common
home-library-jcr
- [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)
+ [2.5.0-SNAPSHOT,3.5.0-SNAPSHOT)
provided
@@ -154,8 +150,7 @@
org.gcube.common
home-library
-
- [2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)
+ [2.5.0-SNAPSHOT,3.0.0-SNAPSHOT)
provided
@@ -198,7 +193,7 @@
4.7
test
-
+
javax.validation
validation-api
diff --git a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WorkspaceExplorerAppServiceImpl.java b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WorkspaceExplorerAppServiceImpl.java
index cd52bd5..3a82f2c 100644
--- a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WorkspaceExplorerAppServiceImpl.java
+++ b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WorkspaceExplorerAppServiceImpl.java
@@ -6,9 +6,7 @@ import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
-import org.gcube.application.framework.core.session.ASLSession;
import org.gcube.common.homelibary.model.items.type.WorkspaceItemType;
-import org.gcube.common.homelibrary.home.HomeLibrary;
import org.gcube.common.homelibrary.home.workspace.Workspace;
import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder;
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
@@ -140,37 +138,37 @@ public class WorkspaceExplorerAppServiceImpl extends RemoteServiceServlet implem
@Override
public Item getItemByCategory(ItemCategory category) throws WorkspaceNavigatorServiceException{
logger.trace("GetItemByCategory category: "+category);
- try {
- Workspace workspace = WsUtil.getWorkspace(this.getThreadLocalRequest().getSession());
- Item item = null;
-
- switch(category){
- case HOME:{
- WorkspaceItem root = workspace.getRoot();
- ASLSession session = WsUtil.getASLSession(this.getThreadLocalRequest().getSession());
-// String fullName = UserUtil.getUserFullName(session.getUsername());
- String fullName = session.getUsername();
- if(fullName.indexOf(" ")>0){
- fullName = fullName.substring(0, fullName.indexOf(" "));
- }else if(fullName.indexOf(".")>0){
- fullName = fullName.substring(0, fullName.indexOf("."));
- }
- item = new Item(null, root.getId(), fullName+"'s", ItemType.FOLDER, root.getPath(), root.getOwner().getPortalLogin(), null, true, true);
- break;
- }
- case VRE_FOLDER:{
- WorkspaceItem folder = workspace.getMySpecialFolders();
- item = new Item(null, folder.getId(), WorkspaceExplorerAppConstants.VRE_FOLDERS_LABEL, ItemType.FOLDER, folder.getPath(), folder.getOwner().getPortalLogin(), null, true, false);
- //SET SPECIAL FOLDER /Workspace/MySpecialFolders
- item.setSpecialFolder(true);
- break;
- }
- }
- return item;
- } catch (Exception e) {
- logger.error("Error during get item by category", e);
- throw new WorkspaceNavigatorServiceException("Sorry, an error occurred when performing get item by category");
- }
+ return null; //TODO
+// try {
+// Workspace workspace = WsUtil.getWorkspace();
+// Item item = null;
+//
+// switch(category){
+// case HOME:{
+// WorkspaceItem root = workspace.getRoot();
+//// String fullName = UserUtil.getUserFullName(session.getUsername());
+// String fullName = session.getUsername();
+// if(fullName.indexOf(" ")>0){
+// fullName = fullName.substring(0, fullName.indexOf(" "));
+// }else if(fullName.indexOf(".")>0){
+// fullName = fullName.substring(0, fullName.indexOf("."));
+// }
+// item = new Item(null, root.getId(), fullName+"'s", ItemType.FOLDER, root.getPath(), root.getOwner().getPortalLogin(), null, true, true);
+// break;
+// }
+// case VRE_FOLDER:{
+// WorkspaceItem folder = workspace.getMySpecialFolders();
+// item = new Item(null, folder.getId(), WorkspaceExplorerAppConstants.VRE_FOLDERS_LABEL, ItemType.FOLDER, folder.getPath(), folder.getOwner().getPortalLogin(), null, true, false);
+// //SET SPECIAL FOLDER /Workspace/MySpecialFolders
+// item.setSpecialFolder(true);
+// break;
+// }
+// }
+// return item;
+// } catch (Exception e) {
+// logger.error("Error during get item by category", e);
+// throw new WorkspaceNavigatorServiceException("Sorry, an error occurred when performing get item by category");
+// }
}
/**
@@ -228,8 +226,7 @@ public class WorkspaceExplorerAppServiceImpl extends RemoteServiceServlet implem
public boolean checkName(String name) throws WorkspaceNavigatorServiceException {
logger.trace("checkName name: "+name);
try {
- ASLSession session = WsUtil.getASLSession(this.getThreadLocalRequest().getSession());
- Workspace workspace = HomeLibrary.getUserWorkspace(session.getUsername());
+ Workspace workspace = WsUtil.getWorkspace(this.getThreadLocalRequest().getSession());
return workspace.isValidName(name);
} catch (Exception e) {
logger.error("Error during folder retrieving", e);
diff --git a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WsUtil.java b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WsUtil.java
index b154e9a..da43746 100644
--- a/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WsUtil.java
+++ b/src/main/java/org/gcube/portlets/user/workspaceexplorerapp/server/WsUtil.java
@@ -5,11 +5,10 @@ package org.gcube.portlets.user.workspaceexplorerapp.server;
import javax.servlet.http.HttpSession;
-import org.gcube.application.framework.core.session.ASLSession;
-import org.gcube.application.framework.core.session.SessionManager;
import org.gcube.common.homelibrary.home.HomeLibrary;
import org.gcube.common.homelibrary.home.exceptions.HomeNotFoundException;
import org.gcube.common.homelibrary.home.exceptions.InternalErrorException;
+import org.gcube.common.homelibrary.home.exceptions.UserNotFoundException;
import org.gcube.common.homelibrary.home.workspace.Workspace;
import org.gcube.common.homelibrary.home.workspace.exceptions.WorkspaceFolderNotFoundException;
import org.gcube.common.scope.api.ScopeProvider;
@@ -21,49 +20,12 @@ import org.slf4j.LoggerFactory;
* The Class WsUtil.
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
- * Mar 7, 2016
+ * Sep 13, 2016
*/
public class WsUtil {
- public static final String USERNAME_ATTRIBUTE = "username";
- public static final String TEST_USER = "francesco.mangiacrapa";
- public static final String TEST_SCOPE = "/gcube/devsec/devVRE";
-
public static final Logger logger = LoggerFactory.getLogger(WsUtil.class);
-
- /**
- * Gets the ASL session.
- *
- * @param httpSession the http session
- * @return the ASL session
- */
- public static ASLSession getASLSession(HttpSession httpSession) {
- String sessionID = httpSession.getId();
- String user = (String) httpSession.getAttribute(USERNAME_ATTRIBUTE);
-
- //TODO we check for the older attribute name
- if (user == null) {
- user = (String) httpSession.getAttribute("user");
- }
-
- if (user == null) {
-
- logger.error("WORKSPACE PORTLET STARTING IN TEST MODE - NO USER FOUND");
-
- //for test only
-// user = "test.user";
- user = TEST_USER;
- httpSession.setAttribute(USERNAME_ATTRIBUTE, user);
- ASLSession session = SessionManager.getInstance().getASLSession(sessionID, user);
- session.setScope(TEST_SCOPE);
-
- return session;
- }
- else {
- logger.trace("user found in session "+user);
- }
- return SessionManager.getInstance().getASLSession(sessionID, user);
- }
+ private static final String SCOPE = "scope";
/**
* Gets the workspace.
@@ -73,17 +35,21 @@ public class WsUtil {
* @throws InternalErrorException the internal error exception
* @throws HomeNotFoundException the home not found exception
* @throws WorkspaceFolderNotFoundException the workspace folder not found exception
+ * @throws UserNotFoundException
*/
- public static Workspace getWorkspace(HttpSession httpSession) throws InternalErrorException, HomeNotFoundException, WorkspaceFolderNotFoundException {
- ASLSession session = getASLSession(httpSession);
- logger.trace("Scope : "+session.getScope() + " username: "+session.getUsername());
- String scope = session.getScope();
- if(scope==null)
- scope= WsUtil.TEST_SCOPE;
- System.out.println("Scope : "+scope + " username: "+session.getUsername());
+ public static Workspace getWorkspace(HttpSession httpSession) throws InternalErrorException, HomeNotFoundException, WorkspaceFolderNotFoundException, UserNotFoundException {
+// ASLSession session = getASLSession(httpSession);
+
+ String scope = (String) httpSession.getAttribute(SCOPE);
+
+ if(scope==null){
+ logger.info(SCOPE + "read from context is: "+scope);
+ scope = httpSession.getServletContext().getInitParameter(SCOPE);
+ }
+ //GET CONTEXT
+ logger.info("Setting scope: "+scope);
ScopeProvider.instance.set(scope);
- Workspace workspace = HomeLibrary.getUserWorkspace(session.getUsername());
- return workspace;
+ return HomeLibrary.getHomeManagerFactory().getHomeManager().getGuestLogin().getWorkspace();
}
}
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 74c8c9c..49d721e 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -6,6 +6,11 @@
WorkspaceExplorerApp.html
+
+ scope for using HL
+ scope
+ /d4science.research-infrastructures.eu
+
workspaceExplorerAppServlet
org.gcube.portlets.user.workspaceexplorerapp.server.WorkspaceExplorerAppServiceImpl
@@ -22,9 +27,9 @@
DownloadServlet
/workspaceexplorerapp/DownloadServlet
-
+
workspace-explorer-app
-
+
WorkspaceExplorerApp.html