diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/ConstantsExplorer.java b/src/main/java/org/gcube/portlets/user/workspace/client/ConstantsExplorer.java index 030085f..d2f5f3e 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/ConstantsExplorer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/ConstantsExplorer.java @@ -217,5 +217,7 @@ public class ConstantsExplorer { //PROPERTY public static final String SPECIALFOLDERNAME = "SPECIALFOLDERNAME"; public static final String SPECIALFOLDERNAMEPROPERTIESFILE = "specialfoldername.properties"; + + public static final String MY_SPECIAL_FOLDERS = "MySpecialFolders"; } diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceBuilder.java b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceBuilder.java index 3934c0d..ec7d250 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceBuilder.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceBuilder.java @@ -94,6 +94,9 @@ import com.thoughtworks.xstream.XStream; */ public class GWTWorkspaceBuilder { + /** + * + */ protected static final String IMAGE_SERVICE_URL = "ImageService"; protected static Logger logger = Logger.getLogger(GWTWorkspaceBuilder.class); private InfoContactModel userLogged; @@ -1255,7 +1258,7 @@ public class GWTWorkspaceBuilder { logger.debug("shared.getDisplayName(): "+shared.getDisplayName()); //MANAGEMENT SPECIAL FOLDER - }else if(wsFolder.getName().compareTo("MySpecialFolders")==0 && wsFolder.getParent()!=null && wsFolder.getParent().isRoot()){ + }else if(wsFolder.getName().compareTo(ConstantsExplorer.MY_SPECIAL_FOLDERS)==0 && wsFolder.getParent()!=null && wsFolder.getParent().isRoot()){ //MANAGEMENT SPECIAL FOLDER logger.debug("MANAGEMENT SPECIAL FOLDER NAME REWRITING AS: "+specialFolderName); if(specialFolderName!=null && !specialFolderName.isEmpty()) diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java index c0945ff..872174e 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/GWTWorkspaceServiceImpl.java @@ -1003,13 +1003,25 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT Collections.reverse(listSubTree); //reverse order of array //SET THE ROOT - if(listSubTree.size()>0){ - workspaceLogger.trace("set: "+listSubTree.get(0).getParent().getName() +" as root"); + int lenght = listSubTree.size(); + if(lenght>0){ + FolderModel firstLevel = listSubTree.get(0).getParent(); //get root + workspaceLogger.trace("set: "+firstLevel.getName() +" as root"); listSubTree.get(0).getParent().setIsRoot(true); + //IF IT CASE - REWRITE SPECIAL FOLDER NAME + if(lenght>1){ + FolderModel wsFolder = listSubTree.get(1).getParent(); //get first child + String nameSpecialFolder = getNameForSpecialFolder(); + if(wsFolder.getName().compareTo(ConstantsExplorer.MY_SPECIAL_FOLDERS)==0 && firstLevel.isRoot()){ + //MANAGEMENT SPECIAL FOLDER + workspaceLogger.debug("getChildrenSubTreeToRootByIdentifier MANAGEMENT SPECIAL FOLDER NAME REWRITING AS: "+nameSpecialFolder); + if(nameSpecialFolder!=null && !nameSpecialFolder.isEmpty()) + listSubTree.get(1).getParent().setName(nameSpecialFolder); + } + } } - - workspaceLogger.trace("getChildrenSubTreeToRootByIdentifier returning list SubTree: "+listSubTree); + workspaceLogger.trace("getChildrenSubTreeToRootByIdentifier returning list SubTree: "+listSubTree); } catch (Exception e) { workspaceLogger.error("Error in server find Item", e); throw new Exception(e.getMessage());