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 9f69518..11a6b4c 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 @@ -1710,8 +1710,17 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT if(listLogin.size()>0){ if(!isNewFolder){ + sharedFolder = workspace.shareFolder(listLogin, folder.getIdentifier()); sharedFolder.setDescription(folder.getDescription()); //SET NEW DESCRIPTION + + //USER REMOVED FROM SHARE + DiffereceBeetweenInfoContactModel diff2 = new DiffereceBeetweenInfoContactModel(listSharedContact, listContacts); + List listRemovedUsersFromShare = diff2.getDifferentsContacts(); + for (InfoContactModel userRemoved : listRemovedUsersFromShare) { + workspaceLogger.info("Unsharing user: "+userRemoved.getLogin()); + sharedFolder.unShare(userRemoved.getLogin()); + } } else{ FileModel parent = folder.getParentFileModel(); diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/notifications/NotificationsProducer.java b/src/main/java/org/gcube/portlets/user/workspace/server/notifications/NotificationsProducer.java index 08f0e13..601590b 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/notifications/NotificationsProducer.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/notifications/NotificationsProducer.java @@ -93,10 +93,10 @@ public class NotificationsProducer { //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER if(infoContactModel.getLogin().compareTo(userId)!=0){ - logger.trace("Sending notification new share folder "+sharedFolder.getName()+" for user "+infoContactModel.getLogin()); + logger.debug("Sending notification new share folder "+sharedFolder.getName()+" for user "+infoContactModel.getLogin()); //DEBUG - System.out.println("Sending notification new share folder "+sharedFolder.getName()+" for user "+infoContactModel.getLogin()); +// System.out.println("Sending notification new share folder "+sharedFolder.getName()+" for user "+infoContactModel.getLogin()); boolean notify = notificationsMng.notifyFolderSharing(infoContactModel.getLogin(), sharedFolder); @@ -245,7 +245,7 @@ public class NotificationsProducer { List listNewContactsShared = diff.getDifferentsContacts(); - logger.trace("list new contacts shared: "+listNewContactsShared.size()); + logger.info("list new contacts shared: "+listNewContactsShared.size()); if(listNewContactsShared.size()>0){ @@ -311,7 +311,7 @@ public class NotificationsProducer { List listRemovedUsersFromShare = diff2.getDifferentsContacts(); - logger.trace("list removed contacts from share: "+listNewContactsShared.size()); + logger.info("list removed contacts from share: "+listRemovedUsersFromShare.size()); if(listRemovedUsersFromShare.size()>0){ @@ -393,7 +393,7 @@ public class NotificationsProducer { //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER if(userUnShared.getLogin().compareTo(userId)!=0){ - logger.trace("Sending notification to user "+userUnShared.getLogin() +" unshared from folder "+shareFolder.getName()); + logger.debug("Sending notification to user "+userUnShared.getLogin() +" unshared from folder "+shareFolder.getName()); boolean notify = notificationsMng.notifyFolderRemovedUser(userUnShared.getLogin(), (WorkspaceSharedFolder) shareFolder); if(!notify)