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 a4b9590..c920335 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 @@ -79,6 +79,7 @@ import org.gcube.portlets.user.workspace.client.interfaces.SubscriberInterface; import org.gcube.portlets.user.workspace.client.interfaces.TreeAppControllerInterface; import org.gcube.portlets.user.workspace.client.model.FileModel; import org.gcube.portlets.user.workspace.client.model.FolderModel; +import org.gcube.portlets.user.workspace.client.model.InfoContactModel; import org.gcube.portlets.user.workspace.client.model.MessageModel; import org.gcube.portlets.user.workspace.client.model.SmartFolderModel; import org.gcube.portlets.user.workspace.client.model.SubTree; @@ -99,6 +100,7 @@ import org.gcube.portlets.user.workspace.client.view.windows.DialogWebDavUrl; import org.gcube.portlets.user.workspace.client.view.windows.InfoDisplay; import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxAlert; import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxConfirm; +import org.gcube.portlets.user.workspace.client.view.windows.MessageBoxInfo; import org.gcube.portlets.user.workspace.client.view.windows.WindowImagePreview; import org.gcube.portlets.user.workspace.client.view.windows.WindowOpenUrl; import org.gcube.portlets.user.workspace.client.workspace.GWTWorkspaceItem; @@ -208,75 +210,97 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt @Override public void onCreateSharedFolder(CreateSharedFolderEvent createSharedFolderEvent) { - + final FileModel sourceFileModel = createSharedFolderEvent.getFileSourceModel(); - System.out.println("##########sourceFileModel id "+sourceFileModel.getIdentifier()); - final FileModel parentFileModel= createSharedFolderEvent.getParentFileModel(); - final boolean isNewFolder = createSharedFolderEvent.isNewFolder(); - DialogShareFolder dialogSharedFolder = null; - String parentDirectoryName = null; - - FolderModel parent = null; - - if(sourceFileModel.isDirectory()){ -// explorerPanel.getAsycTreePanel().setExpandTreeLevel(sourceFileModel.getIdentifier(), true); - parentDirectoryName = sourceFileModel.getName(); - parent = (FolderModel) sourceFileModel; - } - else{ - parentDirectoryName = parentFileModel.getName(); - parent = (FolderModel) parentFileModel; - } - - if(isNewFolder) - dialogSharedFolder = new DialogShareFolder(parentDirectoryName,eventBus); - else - dialogSharedFolder = new DialogShareFolder(parentDirectoryName, (FolderModel) sourceFileModel, eventBus); - - - final DialogShareFolder finalDialog = dialogSharedFolder; - final FolderModel parentModel = parent; - - finalDialog.getButtonById(Dialog.OK).addListener(Events.Select, new Listener() { - - @Override - public void handleEvent(BaseEvent be) { - - if(finalDialog.isValidForm(true)){ - - FolderModel folderModel = null; - - if(isNewFolder){ - folderModel = new FolderModel("tempId", finalDialog.getName(), parentModel, true, false); //create new shared folder - } - else{ - folderModel = finalDialog.getFolder(); //add user for share - } - - System.out.println("##########sourceFileModel id "+folderModel.getIdentifier()); - - rpcWorkspaceService.shareFolder(folderModel, finalDialog.getSharedListUsers(), isNewFolder, new AsyncCallback() { - - @Override - public void onFailure(Throwable caught) { - new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR+" creating shared folder. "+ caught.getMessage(), null); - - } - - @Override - public void onSuccess(Boolean result) { - if(result) - eventBus.fireEvent(new RefreshFolderEvent(parentFileModel)); - - } - - }); - } + //IF ITEM IS SHAREABLE + if(sourceFileModel.isShareable()){ + + System.out.println("create shared folderEvent - sourceFileModel id "+sourceFileModel.getIdentifier()); + + final FileModel parentFileModel= createSharedFolderEvent.getParentFileModel(); + final boolean isNewFolder = createSharedFolderEvent.isNewFolder(); + DialogShareFolder dialogSharedFolder = null; + String parentDirectoryName = null; + FileModel parent = null; + + if(parentFileModel==null){ //PARENT IS ROOT + parent = explorerPanel.getAsycTreePanel().getRootItem(); + sourceFileModel.setParentFileModel(parent); + } + + if(sourceFileModel.isDirectory()){ + // explorerPanel.getAsycTreePanel().setExpandTreeLevel(sourceFileModel.getIdentifier(), true); + parentDirectoryName = sourceFileModel.getName(); + parent = sourceFileModel; + } + else{ + parentDirectoryName = parentFileModel.getName(); } - }); + + if(isNewFolder) + dialogSharedFolder = new DialogShareFolder(parentDirectoryName,eventBus); + else + dialogSharedFolder = new DialogShareFolder(parentDirectoryName, sourceFileModel, eventBus); + + + final DialogShareFolder finalDialog = dialogSharedFolder; + final FileModel parentModel = parent; + + finalDialog.getButtonById(Dialog.OK).addListener(Events.Select, new Listener() { + + @Override + public void handleEvent(BaseEvent be) { + + if(finalDialog.isValidForm(true)){ + + FileModel fileModel = null; + + if(isNewFolder){ + //create a lowest object to send to server + fileModel = new FileModel("tempId", finalDialog.getName(), parentModel, true, false); //create new shared folder + } + else{ + fileModel = finalDialog.getParentFolder(); //add user for share + + //create a lowest object to send to server + fileModel = new FileModel(fileModel.getIdentifier(), fileModel.getName(), fileModel.getParentFileModel(), fileModel.isDirectory(), fileModel.isShared()); + } + + //DEBUG + System.out.println("FileModel id "+fileModel.getIdentifier() + " name: "+fileModel.getName() + " parent " + fileModel.getParentFileModel()); + for(InfoContactModel contact:finalDialog.getSharedListUsers() ){ + System.out.println("Share with Contact "+contact) ; + + } + + rpcWorkspaceService.shareFolder(fileModel, finalDialog.getSharedListUsers(), isNewFolder, new AsyncCallback() { + + @Override + public void onFailure(Throwable caught) { + new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR+" creating shared folder. "+ caught.getMessage(), null); + + } + + @Override + public void onSuccess(Boolean result) { + if(result) + eventBus.fireEvent(new RefreshFolderEvent(parentFileModel)); + + } + }); + } + + } + }); + } + else{//ITEM IS NOT SHARABLE + new MessageBoxInfo("Info", "The selected item is not shareable because an ancestor item is already shared"); + + } + } }); 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 d14fe13..0213a4a 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 @@ -109,6 +109,7 @@ public class ConstantsExplorer { public static final String FOLDERLOADED = "loaded"; public static final String MARKASREAD = "MARKASREAD"; public static final String ISROOT = "ISROOT"; + public static final String ISSHAREABLE = "ISSHAREABLE"; //GRID COLUMNS constants @@ -194,6 +195,7 @@ public class ConstantsExplorer { public static final String ATTACHS = "Attachs"; public static final Object NONE = "None"; public static final String ABSTRACTICON = "Abstract Icon"; + diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/model/FileModel.java b/src/main/java/org/gcube/portlets/user/workspace/client/model/FileModel.java index 68b29ee..77f0b77 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/model/FileModel.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/model/FileModel.java @@ -28,12 +28,21 @@ public class FileModel extends BaseModelData implements Serializable { protected FileModel(){ } + /** + * + * @param identifier + * @param name + * @param parent + * @param isDirectory + * @param isShared + */ public FileModel(String identifier, String name, FileModel parent, boolean isDirectory, boolean isShared) { setIdentifier(identifier); setName(name); setParentFileModel(parent); setIsDirectory(isDirectory); setShared(isShared); + initDefaultProperties(); } /** @@ -46,8 +55,34 @@ public class FileModel extends BaseModelData implements Serializable { setIdentifier(identifier); setName(name); setIsDirectory(isDirectory); + initDefaultProperties(); } + private void initDefaultProperties(){ + setMarkAsRead(false); + setShortcutCategory(""); + setShareable(false); + } + + public void setShareable(boolean bool) { + set(ConstantsExplorer.ISSHAREABLE,bool); + + } + + public boolean isShareable() { + return (Boolean) get(ConstantsExplorer.ISSHAREABLE); + + } + + /** + * + * @param identifier + * @param name + * @param type + * @param folderItemTypeEnum + * @param isDirectory + * @param isShared + */ public FileModel(String identifier, String name, String type, GXTFolderItemTypeEnum folderItemTypeEnum, boolean isDirectory, boolean isShared) { setIdentifier(identifier); setName(name); @@ -55,6 +90,7 @@ public class FileModel extends BaseModelData implements Serializable { setFolderItemType(folderItemTypeEnum); setIsDirectory(isDirectory); setShared(isShared); + initDefaultProperties(); } public void setParentFileModel(FileModel parent) { @@ -86,10 +122,14 @@ public class FileModel extends BaseModelData implements Serializable { //SHARED FOLDER else if(this.isShared()){ - absImgPr = Resources.getIconSharedFolder(); - - //SIMPLE FOLDER - }else{ + if(this.isShareable()) //IS ROOT SHARED FOLDER + absImgPr = Resources.getIconSharedFolder(); + else + absImgPr = Resources.getIconFolder(); //IS A DESCENDANT + + + } + else{//SIMPLE FOLDER absImgPr = Resources.getIconFolder(); } @@ -228,9 +268,6 @@ public class FileModel extends BaseModelData implements Serializable { return (GXTFolderItemTypeEnum) get(ConstantsExplorer.FOLDERITEMTYPE); } - public String getGXTFolderItemTypeToString(){ - return get(ConstantsExplorer.FOLDERITEMTYPE).toString(); - } @Override public String toString() { @@ -243,6 +280,8 @@ public class FileModel extends BaseModelData implements Serializable { builder.append(getListUserSharing()); builder.append(", isShared()="); builder.append(isShared()); + builder.append(", isRoot()="); + builder.append(isRoot()); builder.append(", getIcon()="); builder.append(getIcon()); builder.append(", getAbstractPrototypeIcon()="); @@ -263,10 +302,10 @@ public class FileModel extends BaseModelData implements Serializable { builder.append(getType()); builder.append(", getGXTFolderItemType()="); builder.append(getGXTFolderItemType()); - builder.append(", getGXTFolderItemTypeToString()="); - builder.append(getGXTFolderItemTypeToString()); builder.append("]"); return builder.toString(); } + + } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/model/FolderModel.java b/src/main/java/org/gcube/portlets/user/workspace/client/model/FolderModel.java index 90c19fb..ec18294 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/model/FolderModel.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/model/FolderModel.java @@ -53,8 +53,6 @@ public class FolderModel extends FileModel { builder.append(getType()); builder.append(", getGXTFolderItemType()="); builder.append(getGXTFolderItemType()); - builder.append(", getGXTFolderItemTypeToString()="); - builder.append(getGXTFolderItemTypeToString()); builder.append(", getProperties()="); builder.append(getProperties()); builder.append(", getPropertyNames()="); diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceService.java b/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceService.java index 5a7fe67..edf5d3b 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceService.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceService.java @@ -103,8 +103,8 @@ public interface GWTWorkspaceService extends RemoteService{ public GWTWorkspaceItem getTimeSeriesById(String identifier) throws Exception; - boolean shareFolder(FolderModel folder, List listContacts, boolean isNewFolder) - throws Exception; + boolean shareFolder(FileModel folder, List listContacts, + boolean isNewFolder) throws Exception; public List getListUserSharedByFolderSharedId(String itemId) throws Exception; diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceServiceAsync.java b/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceServiceAsync.java index 73ee96a..d92255e 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceServiceAsync.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/rpc/GWTWorkspaceServiceAsync.java @@ -105,7 +105,7 @@ public interface GWTWorkspaceServiceAsync { void getTimeSeriesById(String identifier, AsyncCallback callback); - void shareFolder(FolderModel folder, List listContacts, + void shareFolder(FileModel folder, List listContacts, boolean isNewFolder, AsyncCallback callback); void getListUserSharedByFolderSharedId(String itemId, diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/DialogShareFolder.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/DialogShareFolder.java index 458173c..b0903dc 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/DialogShareFolder.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/DialogShareFolder.java @@ -3,7 +3,7 @@ package org.gcube.portlets.user.workspace.client.view.sharing; import java.util.List; import org.gcube.portlets.user.workspace.client.ConstantsExplorer; -import org.gcube.portlets.user.workspace.client.model.FolderModel; +import org.gcube.portlets.user.workspace.client.model.FileModel; import org.gcube.portlets.user.workspace.client.model.InfoContactModel; import org.gcube.portlets.user.workspace.client.resources.Resources; import org.gcube.portlets.user.workspace.client.view.sharing.multisuggest.MultiDragContact; @@ -37,7 +37,7 @@ public class DialogShareFolder extends Dialog { private int heightTextArea = 100; private TextField txtName; private TextArea textAreaDescription = new TextArea(); - private FolderModel folder = null; + private FileModel parentFolder = null; private UserStore userStore = new UserStore(); private MultiValuePanel suggestPanel = new MultiValuePanel(userStore); private Button buttonMultiDrag = new Button("Choose Contacts"); @@ -47,9 +47,9 @@ public class DialogShareFolder extends Dialog { * @param folder * @param type */ - public DialogShareFolder(String folderParentName, FolderModel folder, HandlerManager eventBus) { + public DialogShareFolder(String folderParentName, FileModel folder, HandlerManager eventBus) { initLayout(folderParentName); - this.folder = folder; + this.parentFolder = folder; this.setIcon(Resources.getIconShareFolder()); setWidth(widthDialog); @@ -119,8 +119,8 @@ public class DialogShareFolder extends Dialog { this.show(); } - public FolderModel getFolder() { - return folder; + public FileModel getParentFolder() { + return parentFolder; } public void initLayout(String folderParentName){ diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/AsyncTreePanel.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/AsyncTreePanel.java index 8f977e0..bd19b5c 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/AsyncTreePanel.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/AsyncTreePanel.java @@ -148,12 +148,16 @@ public class AsyncTreePanel extends LayoutContainer { if(model.getStatus() == ConstantsExplorer.FOLDERNOTLOAD) return Resources.getIconLoading2(); - //SHARE - if(model.isShared()) - return Resources.getIconSharedFolder(); - + //SHARE ICON + if(model.isShared()){ + if(model.isShareable()) + return Resources.getIconSharedFolder(); + else + return null; //Set default folder icon + } + // return Resources.getIconFolder(); - return null; + return null; //Set default folder icon } }); @@ -542,7 +546,7 @@ public class AsyncTreePanel extends LayoutContainer { String folderItemType; if(fileModel.getGXTFolderItemType()!=null) - folderItemType = fileModel.getGXTFolderItemTypeToString(); + folderItemType = fileModel.getGXTFolderItemType().toString(); else folderItemType = null; diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/ContextMenuTree.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/ContextMenuTree.java index bdbb028..1e07757 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/ContextMenuTree.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/tree/ContextMenuTree.java @@ -31,6 +31,7 @@ import com.extjs.gxt.ui.client.widget.menu.Menu; import com.extjs.gxt.ui.client.widget.menu.MenuItem; import com.extjs.gxt.ui.client.widget.menu.SeparatorMenuItem; import com.google.gwt.event.shared.HandlerManager; +import com.google.gwt.user.client.Window; public class ContextMenuTree { @@ -198,7 +199,7 @@ public class ContextMenuTree { final FileModel sourceFileModel = listSelectedItems.get(0); if (sourceFileModel != null) { - eventBus.fireEvent( new CreateSharedFolderEvent(sourceFileModel, sourceFileModel.getParentFileModel(), true)); + eventBus.fireEvent(new CreateSharedFolderEvent(sourceFileModel, sourceFileModel.getParentFileModel(), true)); } } }); @@ -297,6 +298,7 @@ public class ContextMenuTree { public void componentSelected(MenuEvent ce) { // List selected = treePanel.getSelectionModel().getSelectedItems(); for (FileModel target : listSelectedItems) { + if(target.getIdentifier()!=null){ eventBus.fireEvent(new CreateSharedFolderEvent(target, target.getParentFileModel(),false)); } 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 25be691..ea5098f 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 @@ -954,6 +954,7 @@ public class GWTWorkspaceBuilder { fileModel = new FolderModel(item.getId(), item.getName(), (FolderModel) parentFolderModel, true, false); fileModel.setType(GXTFolderItemTypeEnum.FOLDER.toString()); + fileModel.setShareable(true); break; case FOLDER_ITEM: @@ -967,6 +968,7 @@ public class GWTWorkspaceBuilder { fileModel = new FolderModel(item.getId(), item.getName(), (FolderModel) parentFolderModel, true, true); fileModel.setType(GXTFolderItemTypeEnum.SHARED_FOLDER.toString()); + fileModel.setShareable(true); // WorkspaceSharedFolder sharedFolder = (WorkspaceSharedFolder) item; // fileModel.setListShareUser(buildGxtInfoContactFromPortalLogin(sharedFolder.getUsers())); @@ -979,8 +981,10 @@ public class GWTWorkspaceBuilder { } - if(parentFolderModel.isShared()) + if(parentFolderModel.isShared()){ fileModel.setShared(true); + fileModel.setShareable(false); + } // fileModel.setOwner(new InfoContactModel(item.getOwner().getId(), item.getOwner().getPortalLogin(), "name")); //// fileModel.setShared(item.isShared()); @@ -1013,6 +1017,7 @@ public class GWTWorkspaceBuilder { fileGridModel = (FolderGridModel) new FolderGridModel(item.getId(), item.getName(), toDate(item.getCreationDate()), parentFileModel, -1, true, false); fileGridModel.setType(GXTFolderItemTypeEnum.FOLDER.toString()); fileGridModel.setShortcutCategory(GXTCategoryItemInterface.SMF_DOCUMENTS); + fileGridModel.setShareable(true); break; case FOLDER_ITEM: @@ -1027,7 +1032,7 @@ public class GWTWorkspaceBuilder { fileGridModel = (FolderGridModel) new FolderGridModel(item.getId(), item.getName(), toDate(item.getCreationDate()), parentFileModel, -1, true, false); fileGridModel.setType(GXTFolderItemTypeEnum.SHARED_FOLDER.toString()); fileGridModel.setShortcutCategory(GXTCategoryItemInterface.SMF_DOCUMENTS); - + fileGridModel.setShareable(true); // WorkspaceSharedFolder sharedFolder = (WorkspaceSharedFolder) item; // fileGridModel.setListShareUser(buildGxtInfoContactFromPortalLogin(sharedFolder.getUsers())); @@ -1084,6 +1089,7 @@ public class GWTWorkspaceBuilder { fileGridModel = (FolderGridModel) new FolderGridModel(item.getId(), item.getName(), toDate(item.getCreationTime()), parentFileModel, -1, true, false); fileGridModel.setType(GXTFolderItemTypeEnum.FOLDER.toString()); fileGridModel.setShortcutCategory(GXTCategoryItemInterface.SMF_DOCUMENTS); + fileGridModel.setShareable(true); break; case FOLDER_ITEM: @@ -1098,6 +1104,7 @@ public class GWTWorkspaceBuilder { fileGridModel = (FolderGridModel) new FolderGridModel(item.getId(), item.getName(), toDate(item.getCreationTime()), parentFileModel, -1, true, true); fileGridModel.setType(GXTFolderItemTypeEnum.SHARED_FOLDER.toString()); fileGridModel.setShortcutCategory(GXTCategoryItemInterface.SMF_DOCUMENTS); + fileGridModel.setShareable(true); break; default: @@ -1106,8 +1113,10 @@ public class GWTWorkspaceBuilder { } - if(parentFileModel.isShared()) + if(parentFileModel.isShared()){ fileGridModel.setShared(true); + fileGridModel.setShareable(false); + } // fileGridModel.setOwner(new InfoContactModel(item.getOwner().getId(), item.getOwner().getPortalLogin(), "name")); //// fileGridModel.setShared(item.isShared()); 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 ee89044..7cd9cb7 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 @@ -1277,42 +1277,50 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT } @Override - public boolean shareFolder(FolderModel folder, List listContacts, boolean isNewFolder) throws Exception { + public boolean shareFolder(FileModel folder, List listContacts, boolean isNewFolder) throws Exception { try { + System.out.println("quiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); + Workspace workspace = getWorkspace(); - workspaceLogger.trace("shareFolder "+ folder.getIdentifier() - + " name: "+ folder.getName() - + " parent name: " + folder.getParentFileModel().getName() - + " listContacts size: " + listContacts.size()); + +// workspaceLogger.trace("shareFolder "+ folder.getIdentifier() +// + " name: "+ folder.getName() +// + " parent name: " + folder.getParentFileModel().getName() +// + " listContacts size: " + listContacts.size()); - //DEBUG - System.out.println("shareFolder "+ folder.getIdentifier() + " name: "+ folder.getName() + " parent name: " + folder.getParentFileModel().getName() + " listContacts size: " + listContacts.size()); - for (InfoContactModel infoContactModel : listContacts) { - System.out.println("share with "+ infoContactModel.getLogin()); - } - - GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); - - List listLogin = builder.getListLoginByInfoContactModel(listContacts); +// //DEBUG +// System.out.println("shareFolder "+ folder.getIdentifier() +// + " name: "+ folder.getName() +// + " parent name: " + folder.getParentFileModel().getName() +// + " listContacts size: " + listContacts.size()); +// +// for (InfoContactModel infoContactModel : listContacts) { +// System.out.println("share with "+ infoContactModel.getLogin()); +// } +// GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); +// +// List listLogin = builder.getListLoginByInfoContactModel(listContacts); +// WorkspaceSharedFolder sharedFolder = null; - -// if(listLogin.size()>0) - +// +// if(listLogin.size()>0){ +// // if(!isNewFolder) - //TODO: sharedFolder = workspace.shareFolder(listLogin, folder.getIdentifier()); +// sharedFolder = workspace.shareFolder(listLogin, folder.getIdentifier()); // else // sharedFolder = workspace.createSharedFolder(folder.getName(), "description", listLogin, folder.getParentFileModel().getIdentifier()); - -// boolean created = sharedFolder==null?false:true; +// } + + boolean created = sharedFolder==null?false:true; // -// return created; - return true; + return created; } catch (Exception e) { workspaceLogger.error("Error in shareFolder ", e); + e.printStackTrace(); throw new Exception(e.getMessage()); } } diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/util/Util.java b/src/main/java/org/gcube/portlets/user/workspace/server/util/Util.java index 0fa60c5..52e77e9 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/util/Util.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/util/Util.java @@ -32,7 +32,7 @@ public class Util { // public static final String TEST_SCOPE = "/gcube/devsec"; // public static final String TEST_USER = "pasquale.pagano"; - public static final String TEST_SCOPE = "/gcube/devsec"; + public static final String TEST_SCOPE = "/gcube/devsec/devVRE"; // public static final String TEST_USER = "federico.defaveri"; // public static final String TEST_USER = "massimiliano.assante"; public static final String TEST_USER = "francesco.mangiacrapa";