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 43405b6..c405baf 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 @@ -201,24 +201,41 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt if(source!=null) folderId = source.getIdentifier(); - - if(folderId!=null){ - rpcWorkspaceService.unSharedFolderByFolderSharedId(folderId, new AsyncCallback() { - - @Override - public void onFailure(Throwable caught) { - new MessageBoxAlert("Error", caught.getMessage(), null); - explorerPanel.getAsycTreePanel().removeAllAndRecoveryRoot(); - } - - @Override - public void onSuccess(Boolean result) { - if(result) //REFRESH PARENT FOLDER - eventBus.fireEvent(new RefreshFolderEvent(source.getParentFileModel(), true, false)); + if(folderId!=null){ + String msg = "Unsharing the folder, the files will be removed from your workspace. Continue?"; + MessageBoxConfirm mbc = new MessageBoxConfirm("Confirm Unshare?", msg); + + final String folderIdentification = folderId; + + mbc.getMessageBoxConfirm().addCallback(new Listener() { + + public void handleEvent(MessageBoxEvent be) { + // eventBus.fireEvent(new DeleteItemEvent(sel)); + + //IF NOT CANCELLED + String clickedButton = be.getButtonClicked().getItemId(); + if(clickedButton.equals(Dialog.YES)){ + + rpcWorkspaceService.unSharedFolderByFolderSharedId(folderIdentification, new AsyncCallback() { + + @Override + public void onFailure(Throwable caught) { + new MessageBoxAlert("Error", caught.getMessage(), null); + explorerPanel.getAsycTreePanel().removeAllAndRecoveryRoot(); + } + + @Override + public void onSuccess(Boolean result) { + if(result) //REFRESH PARENT FOLDER + eventBus.fireEvent(new RefreshFolderEvent(source.getParentFileModel(), true, false)); + + } + }); + } } - }); + }); } } @@ -1106,7 +1123,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt MessageBoxConfirm mbc = new MessageBoxConfirm(title, msg); - + mbc.getMessageBoxConfirm().addCallback(new Listener() { 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 5a94ad9..b7eaf35 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 @@ -1841,10 +1841,12 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT WorkspaceSharedFolder wsFolder = (WorkspaceSharedFolder) wsItem; - WorkspaceFolder unSharedFolder = wsFolder.unShare(); - - unShared = unSharedFolder==null?false:true; +// WorkspaceFolder unSharedFolder = wsFolder.unShare(); +// unShared = unSharedFolder==null?false:true; + //TEMPORARY SOLUTION + wsFolder.unShare(); + unShared = true; // System.out.println("unShared is "+unShared); workspaceLogger.trace("unShared is "+ unShared);