diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java b/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java index 8152b5b..a267521 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/AppControllerExplorer.java @@ -355,7 +355,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt Info.display("Info", "An operation of sharing was submitted"); - explorerPanel.mask("Submitting operation"); + explorerPanel.mask("Setting permissions"); rpcWorkspaceService.shareFolder(fileModel, finalDialog.getSharedListUsers(), isNewFolder, finalDialog.getSelectedACL(), new AsyncCallback() { diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java index 72b46a3..3de3450 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java @@ -289,5 +289,14 @@ public interface Icons extends ClientBundle { @Source("icons/trash.png") ImageResource trash(); + + @Source("icons/readonly.png") + ImageResource readonly(); + + @Source("icons/writeown.png") + ImageResource writeown(); + + @Source("icons/writeall.png") + ImageResource writeall(); } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java index c5d0752..0f78198 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java @@ -451,6 +451,18 @@ public class Resources { public static AbstractImagePrototype getIconUnShareUser() { return AbstractImagePrototype.create(ICONS.unShareUser()); } + + public static AbstractImagePrototype getIconWriteOwn() { + return AbstractImagePrototype.create(ICONS.writeown()); + } + + public static AbstractImagePrototype getIconWriteAll() { + return AbstractImagePrototype.create(ICONS.writeall()); + } + + public static AbstractImagePrototype getIconReadOnly() { + return AbstractImagePrototype.create(ICONS.readonly()); + } //ImageResources public static ImageResource getImagePathSeparator(){ @@ -485,6 +497,8 @@ public class Resources { return ICONS.attach(); } + + public static AbstractImagePrototype getIconByExtension(String fileExtension) { diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/readonly.png b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/readonly.png new file mode 100644 index 0000000..eeb30c4 Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/readonly.png differ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/writeall.png b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/writeall.png new file mode 100644 index 0000000..799acc1 Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/writeall.png differ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/writeown.png b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/writeown.png new file mode 100644 index 0000000..5562d5f Binary files /dev/null and b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/writeown.png differ 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 9b245ee..4faae7e 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 @@ -937,6 +937,8 @@ public class GWTWorkspaceBuilder { fileModel.setType(GXTFolderItemTypeEnum.FOLDER.toString()); fileModel.setShareable(true); fileModel.setDescription(item.getDescription()); + +// WorkspaceFolder folder = (WorkspaceFolder) break; case FOLDER_ITEM: 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 b695143..4f4f78e 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 @@ -771,7 +771,11 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT } return true; - + + } catch (InsufficientPrivilegesException e) { + String error = "An error occurred on renaming item, " +e.getMessage(); + workspaceLogger.error(error, e); + throw new Exception(error); } catch (ItemAlreadyExistException e) { String error = "An error occurred on renaming item, " +e.getMessage(); workspaceLogger.error(error, e); diff --git a/src/test/java/org/gcube/portlets/user/workspace/DonwloadFilesTester.java b/src/test/java/org/gcube/portlets/user/workspace/DephtVisitDonwloadFilesTester.java similarity index 99% rename from src/test/java/org/gcube/portlets/user/workspace/DonwloadFilesTester.java rename to src/test/java/org/gcube/portlets/user/workspace/DephtVisitDonwloadFilesTester.java index 7fb51bd..935a163 100644 --- a/src/test/java/org/gcube/portlets/user/workspace/DonwloadFilesTester.java +++ b/src/test/java/org/gcube/portlets/user/workspace/DephtVisitDonwloadFilesTester.java @@ -28,7 +28,7 @@ import org.gcube.common.scope.impl.ScopeBean; * @Dec 17, 2013 * */ -public class DonwloadFilesTester { +public class DephtVisitDonwloadFilesTester { protected static Logger logger = Logger.getLogger(SearchTextTest.class); diff --git a/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieving.java b/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieving.java new file mode 100644 index 0000000..0bd9dfb --- /dev/null +++ b/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieving.java @@ -0,0 +1,82 @@ +/** + * + */ +package org.gcube.portlets.user.workspace; + +import java.util.List; + +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; +import org.gcube.common.homelibrary.home.workspace.WorkspaceItemType; +import org.gcube.common.homelibrary.home.workspace.folder.FolderItem; +import org.gcube.common.scope.api.ScopeProvider; +import org.gcube.common.scope.impl.ScopeBean; + +/** + * + * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it + * @Jan 29, 2014 + * + */ +public class ItemRetrieving { + + + public static String DEFAULT_SCOPE = "/gcube/devsec"; //DEV + public static String TEST_USER = "francesco.mangiacrapa"; + public static String ITEMID = "a65d0c7a-5ef3-4e61-b12f-715146368b6b"; + + public static void main(String[] args) { + + try { + + ScopeBean scope = new ScopeBean(DEFAULT_SCOPE); + ScopeProvider.instance.set(scope.toString()); + + System.out.println("init HL"); + Workspace ws = HomeLibrary + .getHomeManagerFactory() + .getHomeManager() + .getHome(TEST_USER) + .getWorkspace(); + // + + System.out.println("start get root"); + WorkspaceItem root = ws.getItem(ITEMID); + + + System.out.println("start get children"); + List children = root.getChildren(); + + System.out.println("children size: "+children.size()); + + int i=0; + for (WorkspaceItem workspaceItem : children) { + + + if(workspaceItem.getType().equals(WorkspaceItemType.FOLDER) || workspaceItem.getType().equals(WorkspaceItemType.SHARED_FOLDER)){ + + WorkspaceFolder folder = (WorkspaceFolder) workspaceItem; + + + System.out.println(++i+") folder name: "+folder.getName() + " owner "+folder.getOwner().getPortalLogin()); + }else{ + + + if(workspaceItem.getType().equals(WorkspaceItemType.FOLDER_ITEM)){ + + FolderItem folderItem = (FolderItem) workspaceItem; + + System.out.println(++i+") folderItem id: "+folderItem.getId() +", name: "+folderItem.getName() + ", own: "+folderItem.getOwner().getPortalLogin()); + } + + } + } + System.out.println("end"); + } catch (Exception e) { + e.printStackTrace(); + } + } + +}