From 4fa170fa621f3c7a80581190e5a4a27bc1b0008e Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Thu, 5 May 2016 09:49:36 +0000 Subject: [PATCH] 3892: Workspace Enhancement: use a cache to the list of users during Workspace init Task-Url: https://support.d4science.org/issues/3892 Updated pom version at 6.11.2 Moved UserStore to get all contacts from DialogShare to ApplicationController in order to load list of users in init phase git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@128471 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 22 +- .../client/AppControllerExplorer.java | 6 +- .../view/sharing/DialogShareFolder.java | 148 +++---- .../client/view/sharing/UserStore.java | 80 ++-- .../server/GWTWorkspaceServiceImpl.java | 3 +- .../notifications/NotificationsProducer.java | 361 +++++++++--------- .../user/workspace/DonwloadServletTest.java | 58 +-- .../portlets/user/workspace/ItemRetrieve.java | 109 +++--- 8 files changed, 411 insertions(+), 376 deletions(-) diff --git a/pom.xml b/pom.xml index 71e52a8..ec2f000 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.gcube.portlets.user workspace-tree-widget - 6.11.1-SNAPSHOT + 6.11.2-SNAPSHOT gCube Workspace Tree Widget gCube Workspace Tree Widget is a widget to navigate and interact with gCube Workspace @@ -37,7 +37,7 @@ org.gcube.distribution maven-portal-bom - LATEST + 2.6.0-SNAPSHOT pom import @@ -47,11 +47,11 @@ - - - - - + + + + + @@ -196,13 +196,6 @@ xstream 1.4.5 - - - - - - - org.gcube.portlets.widgets @@ -242,7 +235,6 @@ org.gcube.portal social-networking-library - [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT) provided 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 158172d..bfd919e 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 @@ -106,6 +106,7 @@ import org.gcube.portlets.user.workspace.client.util.RequestBuilderWorkspaceVali import org.gcube.portlets.user.workspace.client.util.WindowOpenParameter; import org.gcube.portlets.user.workspace.client.view.ExplorerPanel; import org.gcube.portlets.user.workspace.client.view.sharing.DialogShareFolder; +import org.gcube.portlets.user.workspace.client.view.sharing.UserStore; import org.gcube.portlets.user.workspace.client.view.sharing.permissions.DialogPermission; import org.gcube.portlets.user.workspace.client.view.tree.AsyncTreePanel; import org.gcube.portlets.user.workspace.client.view.windows.BulkCreatorWindow; @@ -175,6 +176,8 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt // private FileUploader fileUploader; public static String myLogin; public static String myLoginFirstName; + //PRE-LOAD LIST OF USER FORM LIFERAY + private UserStore userStore = new UserStore(); private static AppControllerExplorer singleton; @@ -440,7 +443,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt if(isNewFolder) dialogSharedFolder = new DialogShareFolder(parentDirectoryName,eventBus); else - dialogSharedFolder = new DialogShareFolder(parentDirectoryName, sourceFileModel, eventBus); + dialogSharedFolder = new DialogShareFolder(parentDirectoryName, sourceFileModel, eventBus, userStore); final DialogShareFolder finalDialog = dialogSharedFolder; @@ -1904,6 +1907,7 @@ public class AppControllerExplorer implements EventHandler, TreeAppControllerInt * @return ExplorerPanel * @deprecated */ + @Deprecated public ExplorerPanel getTreePanel(){ this.explorerPanel = getPanel(); 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 6ccfc32..8be64bd 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 @@ -41,14 +41,14 @@ import com.google.gwt.user.client.ui.Label; * Nov 4, 2015 */ public class DialogShareFolder extends Dialog { - + private int widthDialog = 535; private int heightTextArea = 100; private TextField txtName; private TextArea textAreaDescription = new TextArea(); private FileModel parentFolder = null; - private UserStore userStore = new UserStore(); - private MultiValuePanel suggestPanel = new MultiValuePanel(userStore); + private UserStore userStore; + private MultiValuePanel suggestPanel; private Button buttonMultiDrag = new Button("Choose Contacts"); private TextField txtOwner; private PanelTogglePermission permission; @@ -63,14 +63,16 @@ public class DialogShareFolder extends Dialog { * @param folder the folder * @param eventBus the event bus */ - public DialogShareFolder(String folderParentName, final FileModel folder, HandlerManager eventBus) { + public DialogShareFolder(String folderParentName, final FileModel folder, HandlerManager eventBus, UserStore userStore) { + this.userStore = userStore; + this.suggestPanel = new MultiValuePanel(userStore); initLayout(folderParentName); this.parentFolder = folder; this.setIcon(Resources.getIconShareFolder()); setWidth(widthDialog); setButtons(Dialog.OKCANCEL); - + setHeading("Share folder: "+folder.getName()); txtName = new TextField(); @@ -79,7 +81,7 @@ public class DialogShareFolder extends Dialog { txtName.setReadOnly(true); txtName.setAutoValidate(true); txtName.setFieldLabel("Folder Name"); - + txtOwner = new TextField(); txtOwner.setAllowBlank(true); txtOwner.setValue(""); @@ -90,7 +92,7 @@ public class DialogShareFolder extends Dialog { textAreaDescription.setFieldLabel(ConstantsExplorer.DIALOG_DESCRIPTION); textAreaDescription.setHeight(heightTextArea); textAreaDescription.setWidth(380); - + textAreaDescription.setValue(folder.getDescription()); // textAreaDescription.setReadOnly(true); @@ -109,26 +111,26 @@ public class DialogShareFolder extends Dialog { flexTable.setWidget(1, 0, new Label("Add more")); flexTable.setWidget(1, 1, buttonMultiDrag); - - Label labelDescription = new Label("Description"); + + Label labelDescription = new Label("Description"); flexTable.setWidget(2, 0, labelDescription); flexTable.setWidget(2, 1, textAreaDescription); - + hpPermission = new HorizontalPanel(); hpPermission.setVerticalAlign(VerticalAlignment.MIDDLE); - Label labelProperty = new Label("Permissions"); + Label labelProperty = new Label("Permissions"); hpPermission.add(labelProperty); - + AppControllerExplorer.rpcWorkspaceService.getACLs(new AsyncCallback>() { @Override public void onSuccess(List result) { permission = new PanelTogglePermission(result); - + //ONLY IF FOLDER IS ALREADY SHARED, LOOADING CURRENT ACL FROM HL if(folder.isShared()) selectAclForFolder(folder); - + hpPermission.add(permission); hpPermission.layout(); layout(); @@ -141,12 +143,12 @@ public class DialogShareFolder extends Dialog { layout(); } }); - - lc.add(flexTable); + + lc.add(flexTable); if(hpPermission!=null) lc.add(hpPermission); lc.mask(); - + userStore.getOwner(folder.getIdentifier(), new AsyncCallback() { @Override @@ -170,10 +172,10 @@ public class DialogShareFolder extends Dialog { add(lc); addListners(); enableFormDialog(false); //FORM IS DISABLED BY DEFAULT - + this.show(); } - + /** * Update recipient of share. * @@ -190,7 +192,7 @@ public class DialogShareFolder extends Dialog { } } } - + /** * Fill recipient already shared. @@ -199,28 +201,28 @@ public class DialogShareFolder extends Dialog { * @param lc the lc */ private void fillRecipientAlreadyShared(String folderId, final LayoutContainer lc) { - + userStore.getListSharedUserByFolderId(folderId, new AsyncCallback>() { - + @Override public void onSuccess(List listContacts) { - + if (listContacts != null) { listAlreadyShared.addAll(listContacts); updateRecipientOfShare(listContacts); } lc.unmask(); } - + @Override public void onFailure(Throwable caught) { lc.unmask(); } }); - + } - + /** * Permission control. * @@ -229,7 +231,7 @@ public class DialogShareFolder extends Dialog { */ private void permissionControl(String owner, boolean showAlert){ GWT.log("Permission control compare between owner: "+owner +" and my login: "+AppControllerExplorer.myLogin); - + if(AppControllerExplorer.myLogin.compareToIgnoreCase(owner)!=0){ enableFormDialog(false); if(showAlert) @@ -238,7 +240,7 @@ public class DialogShareFolder extends Dialog { enableFormDialog(true); } } - + /** * Enable form dialog. * @@ -252,7 +254,7 @@ public class DialogShareFolder extends Dialog { permission.setEnabled(bool); } - + /** * Gets the parent folder. * @@ -261,7 +263,7 @@ public class DialogShareFolder extends Dialog { public FileModel getParentFolder() { return parentFolder; } - + /** * Inits the layout. * @@ -278,7 +280,7 @@ public class DialogShareFolder extends Dialog { setWidth(widthDialog); setHeight(400); setResizable(true); - setButtonAlign(HorizontalAlignment.CENTER); + setButtonAlign(HorizontalAlignment.CENTER); setWidth(widthDialog); setButtons(Dialog.OKCANCEL); } @@ -290,7 +292,7 @@ public class DialogShareFolder extends Dialog { * @param eventBus the event bus */ public DialogShareFolder(String folderParentName, HandlerManager eventBus) { - + initLayout(folderParentName); this.setIcon(Resources.getIconSharedFolder()); setHeading("Create a new shared folder in: "+folderParentName); @@ -308,7 +310,7 @@ public class DialogShareFolder extends Dialog { textAreaDescription.setFieldLabel(ConstantsExplorer.DIALOG_DESCRIPTION); textAreaDescription.setHeight(heightTextArea); textAreaDescription.setWidth(380); - + final LayoutContainer lc = new LayoutContainer(); lc.setStyleAttribute("margin-top", "10px"); lc.setStyleAttribute("margin-bottom", "10px"); @@ -324,14 +326,14 @@ public class DialogShareFolder extends Dialog { flexTable.setWidget(1, 0, new Label("Add more")); flexTable.setWidget(1, 1, buttonMultiDrag); - - Label labelDescription = new Label("Description"); + + Label labelDescription = new Label("Description"); flexTable.setWidget(2, 0, labelDescription); flexTable.setWidget(2, 1, textAreaDescription); - + hpPermission = new HorizontalPanel(); hpPermission.setVerticalAlign(VerticalAlignment.MIDDLE); - Label labelProperty = new Label("Permissions"); + Label labelProperty = new Label("Permissions"); hpPermission.add(labelProperty); AppControllerExplorer.rpcWorkspaceService.getACLs(new AsyncCallback>() { @@ -352,19 +354,19 @@ public class DialogShareFolder extends Dialog { } }); - lc.add(flexTable); + lc.add(flexTable); lc.add(hpPermission); - + setFocusWidget(txtName); add(txtName); add(lc); addListners(); - + this.show(); } - - + + /** * Gets the shared list users. * @@ -380,7 +382,7 @@ public class DialogShareFolder extends Dialog { * Adds the listners. */ public void addListners(){ - + this.getButtonById(Dialog.CANCEL).addSelectionListener(new SelectionListener() { @Override @@ -388,8 +390,8 @@ public class DialogShareFolder extends Dialog { hide(); } }); - - + + this.getButtonById(Dialog.OK).addSelectionListener(new SelectionListener() { @Override @@ -397,28 +399,28 @@ public class DialogShareFolder extends Dialog { if(isValidForm(false)) hide(); } - }); - + }); + buttonMultiDrag.addClickHandler(new ClickHandler() { - + @Override public void onClick(ClickEvent event) { final MultiDragContact multiDrag = new MultiDragContact(); multiDrag.show(); - + List exclusiveContacts = userStore.getExclusiveContactsFromAllContact(suggestPanel.getSelectedUser()); multiDrag.addSourceContacts(exclusiveContacts); - + for (InfoContactModel infoContactModel : suggestPanel.getSelectedUser()) { // if(!listAlreadyShared.contains(infoContactModel)) if(!isShareOwner(infoContactModel)) multiDrag.addTargetContact(infoContactModel); } - + // multiDrag.addAlreadySharedContacts(suggestPanel.getSelectedUser()); - + multiDrag.addAlreadySharedContacts(listAlreadyShared); - + multiDrag.getButtonById(Dialog.OK).addSelectionListener(new SelectionListener() { @Override @@ -428,7 +430,7 @@ public class DialogShareFolder extends Dialog { suggestPanel.addRecipient(shareOwner.getName(),false); for (InfoContactModel infoContactModel : multiDrag.getTargetListContact()) { suggestPanel.addRecipient(infoContactModel.getName(),true); - } + } suggestPanel.boxSetFocus(); // printSelectedUser(); } @@ -436,8 +438,8 @@ public class DialogShareFolder extends Dialog { } }); } - - + + /** * Checks if is share owner. * @@ -448,11 +450,11 @@ public class DialogShareFolder extends Dialog { if(infoContactModel!=null && shareOwner!=null && InfoContactModel.COMPARATORLOGINS.compare(infoContactModel, shareOwner)==0) return true; - + return false; } - - + + /** * List already shared contains. * @@ -460,10 +462,10 @@ public class DialogShareFolder extends Dialog { * @return true, if successful */ private boolean listAlreadySharedContains(InfoContactModel contact){ - + if(contact==null) return false; - + for (InfoContactModel ct : listAlreadyShared) { if(InfoContactModel.COMPARATORLOGINS.compare(ct, contact)==0) // if(ct.getLogin().compareTo(contact.getLogin())==0) @@ -471,19 +473,19 @@ public class DialogShareFolder extends Dialog { } return false; } - + //DEBUG /** * Prints the selected user. */ @SuppressWarnings("unused") private void printSelectedUser(){ - + System.out.println("SELETECTED USERS: "); for (InfoContactModel contact : suggestPanel.getSelectedUser()) System.out.println(contact); } - + /** * Inits the suggest contacts. */ @@ -511,7 +513,7 @@ public class DialogShareFolder extends Dialog { public String getDescription() { if(textAreaDescription.getValue()==null) return ""; - + return textAreaDescription.getValue(); } @@ -522,25 +524,25 @@ public class DialogShareFolder extends Dialog { * @return true, if is valid form */ public boolean isValidForm(boolean displayAlert){ - + if(!txtName.isValid()){ if(displayAlert) new MessageBoxAlert("Attention", "Name must not be empty", null); txtName.focus(); return false; } - + if(getSharedListUsers().size()==0){ if(displayAlert) new MessageBoxAlert("Attention", "You must pick at least one user with which share the folder", null); suggestPanel.boxSetFocus(); return false; } - + return true; - + } - + /** * Gets the selected acl. * @@ -551,7 +553,7 @@ public class DialogShareFolder extends Dialog { return permission.getSelectedACL(); return null; } - + /** * Select acl for folder. * @@ -564,7 +566,7 @@ public class DialogShareFolder extends Dialog { @Override public void onFailure(Throwable arg0) { GWT.log("An error occurred on selecting current ACL "+arg0); - + } @Override @@ -575,7 +577,7 @@ public class DialogShareFolder extends Dialog { layout(); } }); - + } } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/UserStore.java b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/UserStore.java index 91b4210..0243efe 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/UserStore.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/view/sharing/UserStore.java @@ -12,76 +12,105 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.rpc.AsyncCallback; /** - * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it + * The Class UserStore. * + * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it */ public class UserStore implements ContactFetcher{ public static List listAllContact = null; // public boolean syncronizeCleanSharedUser = false; - + + /** + * Instantiates a new user store. + */ public UserStore() { + loadAllUsersFromServer(null); } - + + /* (non-Javadoc) + * @see org.gcube.portlets.user.workspace.client.view.sharing.ContactFetcher#getListContact(com.google.gwt.user.client.rpc.AsyncCallback, boolean) + */ @Override public void getListContact(AsyncCallback> callback, boolean reloadList){ - + if(reloadList || listAllContact==null) loadAllUsersFromServer(callback); else - callback.onSuccess(listAllContact); + callback.onSuccess(listAllContact); } - + + /* (non-Javadoc) + * @see org.gcube.portlets.user.workspace.client.view.sharing.ContactFetcher#getListSharedUserByFolderId(java.lang.String, com.google.gwt.user.client.rpc.AsyncCallback) + */ @Override public void getListSharedUserByFolderId(String sharedFolderId, AsyncCallback> callback){ loadSharedUserBySharedFolderId(sharedFolderId, callback); } + /** + * Load all users from server. + * + * @param callback the callback + */ private void loadAllUsersFromServer(final AsyncCallback> callback){ - + listAllContact = new ArrayList(); - + AppControllerExplorer.rpcWorkspaceService.getAllContacts(new AsyncCallback>() { - + @Override public void onSuccess(List result) { GWT.log("loaded "+result.size() + " contacts from server"); listAllContact = result; - callback.onSuccess(listAllContact); + if(callback!=null) + callback.onSuccess(listAllContact); } - + @Override public void onFailure(Throwable caught) { new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR +" retrieving user " + ConstantsExplorer.TRY_AGAIN, null); - callback.onFailure(caught); + if(callback!=null) + callback.onFailure(caught); } - }); + }); } - + + /** + * Load shared user by shared folder id. + * + * @param sharedFolderId the shared folder id + * @param callback the callback + */ private void loadSharedUserBySharedFolderId(final String sharedFolderId, final AsyncCallback> callback){ - + // comboSharedUsers.mask("Loading users"); - + AppControllerExplorer.rpcWorkspaceService.getListUserSharedByFolderSharedId(sharedFolderId, new AsyncCallback>() { @Override public void onFailure(Throwable caught) { new MessageBoxAlert("Error", ConstantsExplorer.SERVER_ERROR +" retrieving user. " + ConstantsExplorer.TRY_AGAIN, null); - callback.onFailure(caught); + if(callback!=null) + callback.onFailure(caught); } @Override public void onSuccess(List result) { GWT.log("loaded "+result.size() + " contacts from server for "+sharedFolderId); - callback.onSuccess(result); + if(callback!=null) + callback.onSuccess(result); } }); } - + + /* (non-Javadoc) + * @see org.gcube.portlets.user.workspace.client.view.sharing.ContactFetcher#getExclusiveContactsFromAllContact(java.util.List) + */ @Override public List getExclusiveContactsFromAllContact(List listSharedUser){ - + List listExclusiveContact = new ArrayList(listAllContact); for (InfoContactModel contact : listSharedUser) { if(listAllContact.contains(contact)){ @@ -92,21 +121,24 @@ public class UserStore implements ContactFetcher{ return listExclusiveContact; } + /* (non-Javadoc) + * @see org.gcube.portlets.user.workspace.client.view.sharing.ContactFetcher#getOwner(java.lang.String, com.google.gwt.user.client.rpc.AsyncCallback) + */ @Override public void getOwner(final String sharedFolderId,final AsyncCallback callback) { - + AppControllerExplorer.rpcWorkspaceService.getOwnerByItemId(sharedFolderId, new AsyncCallback() { @Override public void onFailure(Throwable caught) { GWT.log("an error occured in get Owner by Id "+sharedFolderId + " "+caught.getMessage()); - + } @Override public void onSuccess(InfoContactModel result) { - callback.onSuccess(result); - + if(callback!=null) + callback.onSuccess(result); } }); } 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 16bfb07..db2aabb 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 @@ -1463,7 +1463,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT try { - workspaceLogger.trace("Get all contacts from server..."); + workspaceLogger.debug("Get all contacts from server..."); GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder(); org.gcube.common.homelibrary.home.workspace.usermanager.UserManager hlUserManager = HomeLibrary.getHomeManagerFactory().getUserManager(); @@ -1504,6 +1504,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT workspaceLogger.trace("Home Library User Manager getting list Gcube Group"); listContactsModel.addAll(builder.buildGXTListContactsModelFromGcubeGroup(hlUserManager.getGroups())); + workspaceLogger.debug("Returning list of contacts!"); return listContactsModel; } catch (Exception e) { 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 8e34ebd..6b0b2e4 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 @@ -1,5 +1,5 @@ /** - * + * */ package org.gcube.portlets.user.workspace.server.notifications; @@ -27,9 +27,9 @@ import org.gcube.portlets.user.workspace.server.util.WsUtil; public class NotificationsProducer { protected ScopeBean scope; - + protected static Logger logger = Logger.getLogger(NotificationsProducer.class); - + protected NotificationsManager notificationsMng; protected ASLSession aslSession; protected String userId; @@ -72,7 +72,7 @@ public class NotificationsProducer { public ASLSession getAslSession() { return aslSession; } - + /** * Runs a new thread to notify the contacts passed in input. @@ -85,22 +85,22 @@ public class NotificationsProducer { new Thread(){ @Override public void run() { - + logger.trace("Send notifies folder sharing is running..."); - + for (InfoContactModel infoContactModel : listContacts) { try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER - if(infoContactModel.getLogin().compareTo(userId)!=0){ - + if(infoContactModel.getLogin().compareTo(userId)!=0){ + 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()); boolean notify = notificationsMng.notifyFolderSharing(infoContactModel.getLogin(), sharedFolder); - - + + if(!notify) logger.error("An error occured when notify user: "+infoContactModel.getLogin()); } @@ -109,16 +109,16 @@ public class NotificationsProducer { // e.printStackTrace(); } } - + logger.trace("notifies share folder is completed"); } }.start(); - - + + } - - - + + + /** * Runs a new thread to notify the contacts passed in input. * @@ -133,34 +133,34 @@ public class NotificationsProducer { new Thread(){ @Override public void run() { - + logger.trace("Send notifies shared folder was renamed is running..."); - + try { - + if(NotificationsUtil.checkIsRootFolderShared(folderItem.getId(), idsharedFolder)){ logger.trace("Notification isn't sent because the event is on root shared folder"); return; } - + } catch (InternalErrorException e1) { logger.error("An error occurred in checkIsRootFolderShared ", e1); return; } - + for (InfoContactModel infoContactModel : listSharedContact) { try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER - if(infoContactModel.getLogin().compareTo(userId)!=0){ - + if(infoContactModel.getLogin().compareTo(userId)!=0){ + logger.trace("Sending notification share folder "+itemOldName+" was renamed as " + itemNewName+ "for user "+infoContactModel.getLogin()); - + //DEBUG System.out.println("Sending notification share folder "+itemOldName+" was renamed as " + itemNewName+ "for user "+infoContactModel.getLogin()); boolean notify = notificationsMng.notifyFolderRenaming(infoContactModel.getLogin(), itemOldName, itemNewName, idsharedFolder); - - + + if(!notify) logger.error("An error occured when notify user: "+infoContactModel.getLogin()); } @@ -169,15 +169,15 @@ public class NotificationsProducer { // e.printStackTrace(); } } - + logger.trace("notifies share folder was renamed is completed"); } }.start(); - - + + } - - + + /** * Runs a new thread to notify the contacts passed in input. * @@ -191,21 +191,21 @@ public class NotificationsProducer { new Thread(){ @Override public void run() { - + logger.trace("Send notifies shared item was updated is running..."); - + for (InfoContactModel infoContactModel : listSharedContact) { try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER - if(infoContactModel.getLogin().compareTo(userId)!=0){ - + if(infoContactModel.getLogin().compareTo(userId)!=0){ + logger.trace("Sending notification to user "+infoContactModel.getLogin() + " updated item "+item.getName()); - + //DEBUG System.out.println("Sending notification to user "+infoContactModel.getLogin() + " updated item "+item.getName()); // notificationsMng.notifyItemRenaming(infoContactModel.getLogin(), previousName, item, sharedFolder); - + boolean notify = notificationsMng.notifyItemRenaming(infoContactModel.getLogin(), previousName, item, sharedFolder); if(!notify) @@ -216,14 +216,14 @@ public class NotificationsProducer { // e.printStackTrace(); } } - + logger.trace("notifies shared item was updated is completed"); } }.start(); - - + + } - + /** * Runs a new thread to notify the updated (add/remove) contacts to sharing @@ -237,88 +237,88 @@ public class NotificationsProducer { new Thread() { @Override public void run() { - + try{ - + //NEW USER SHARED DifferenceBetweenInfoContactModel diff = new DifferenceBetweenInfoContactModel(listSharingContact, listSharedContact); - + List listNewContactsShared = diff.getDifferentsContacts(); - + logger.info("list new contacts shared: "+listNewContactsShared.size()); - + if(listNewContactsShared.size()>0){ - + if(listNewContactsShared.size()==1){ //CASE ONLY ONE CONTACS WAS ADDED - + InfoContactModel infoContactModel = listNewContactsShared.get(0); - + for (InfoContactModel contact : listSharedContact) { //NOTIFIES ALREADY SHARED CONTACTS THAT A NEW USER WAS ADDED - + try{ - + logger.trace("Sending notification to user "+contact.getLogin()+", added user "+ infoContactModel.getLogin() +" to share folder "+sharedFolder.getName()); - + //DEBUG // System.out.println("Sending notification added user "+ infoContactModel.getLogin() +" to share folder "+sharedFolder.getName() + " for user "+contact.getLogin()); - + boolean notify = notificationsMng.notifyFolderAddedUser(contact.getLogin(), sharedFolder, infoContactModel.getLogin()); - + if(!notify) logger.error("An error occured when notifies user: "+contact.getLogin()); - + }catch (Exception e) { logger.error("An error occured in notifyFolderAddedUser ", e); // e.printStackTrace(); } } - + List listCts = new ArrayList(); listCts.add(infoContactModel); notifyFolderSharing(listCts, sharedFolder); //NOTIFIER NEW USER OF SHARING FOLDER - + }else{ //CASE MORE THEN ONE CONTACT WAS ADDED - + List listLogins = UserUtil.getListLoginByInfoContactModel(listNewContactsShared); - + for (InfoContactModel contact : listSharedContact) { //NOTIFIES ALREADY SHARED CONTACTS THATH A NEW USER WAS ADDED - + try{ - + logger.trace("Sending notification to user "+contact.getLogin()+", added "+listLogins.size()+" users to share folder "+sharedFolder.getName()); - + //DEBUG // System.out.println("Sending notification added user "+ infoContactModel.getLogin() +" to share folder "+sharedFolder.getName() + " for user "+contact.getLogin()); - + boolean notify = notificationsMng.notifyFolderAddedUsers(contact.getLogin(), sharedFolder, listLogins); - + if(!notify) logger.error("An error occured when notifies user: "+contact.getLogin()); - + }catch (Exception e) { logger.error("An error occured in notifyFolderAddedUser ", e); // e.printStackTrace(); } } - + notifyFolderSharing(listNewContactsShared, sharedFolder); //NOTIFIER NEW USER OF SHARING FOLDER - + } } - + //USER REMOVED FROM SHARE DifferenceBetweenInfoContactModel diff2 = new DifferenceBetweenInfoContactModel(listSharedContact, listSharingContact); - + List listRemovedUsersFromShare = diff2.getDifferentsContacts(); - + logger.info("list removed contacts from share: "+listRemovedUsersFromShare.size()); - + if(listRemovedUsersFromShare.size()>0){ - + for (InfoContactModel contact : listRemovedUsersFromShare) notifyFolderRemovedUser(contact, sharedFolder); } - + }catch (Exception e) { logger.error("An error occured in notifyAddedUserToSharing ", e); // e.printStackTrace(); @@ -326,9 +326,9 @@ public class NotificationsProducer { } }.start(); - + } - + /** * Runs a new thread to notify the contacts passed in input. @@ -339,26 +339,26 @@ public class NotificationsProducer { */ public void notifyFolderUnSharing(final List listContacts, final String unShareFolderId, final String unSharedFolderName) { - + new Thread() { @Override public void run() { - + // printContacts(listContacts); logger.trace("Send notifies folder un share is running..."); - + for (InfoContactModel infoContactModel : listContacts) { try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER if(infoContactModel.getLogin().compareTo(userId)!=0){ - + logger.trace("Sending notification to user "+infoContactModel.getLogin() +" unshare folder "+unSharedFolderName); - + //DEBUG // System.out.println("Sending notification to user "+infoContactModel.getLogin() +" un shared folder "+unSharedFolder.getName()); // boolean notify = notificationsMng.notifyFolderRemovedUser(infoContactModel.getLogin(), (WorkspaceSharedFolder) unSharedFolder); - + boolean notify = notificationsMng.notifyFolderUnsharing(infoContactModel.getLogin(), unShareFolderId, unSharedFolderName); if(!notify) logger.error("An error occured when notifies user: "+infoContactModel.getLogin()); @@ -368,12 +368,12 @@ public class NotificationsProducer { // e.printStackTrace(); } } - + logger.trace("notifies of un share notifications is completed"); } }.start(); - + } /** @@ -387,31 +387,31 @@ public class NotificationsProducer { new Thread() { @Override public void run() { - + logger.trace("Send notifies removed user from shared folder is running..."); try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER if(userUnShared.getLogin().compareTo(userId)!=0){ - + logger.debug("Sending notification to user "+userUnShared.getLogin() +" unshared from folder "+shareFolder.getName()); - boolean notify = notificationsMng.notifyFolderRemovedUser(userUnShared.getLogin(), (WorkspaceSharedFolder) shareFolder); - + boolean notify = notificationsMng.notifyFolderRemovedUser(userUnShared.getLogin(), shareFolder); + if(!notify) logger.error("An error occured when notifies user: "+userUnShared.getLogin()); } - + }catch (Exception e) { logger.error("An error occured in notifyFolderRemovedUser ", e); } - + logger.trace("notifies of un unshare user is completed"); } }.start(); - + } - - + + /** * Runs a new thread to notify the contacts passed in input. * @@ -424,27 +424,24 @@ public class NotificationsProducer { new Thread() { @Override public void run() { - + // printContacts(listContacts); logger.trace("Send notifies added item in sharedfolder is running..."); - + //DEBUG System.out.println("Send notifies added item in sharedfolder is running..."); - + for (InfoContactModel infoContactModel : listContacts) { try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER - if(infoContactModel.getLogin().compareTo(userId)!=0){ - - logger.trace("Sending notification to user "+infoContactModel.getLogin() +" added item "+workspaceItem.getName()+" in shared folder "+sharedFolder.getName()); - - //DEBUG - System.out.println("Sending notification to user "+infoContactModel.getLogin() +" added item "+workspaceItem.getName()+" in shared folder "+sharedFolder.getName()); - + if(infoContactModel.getLogin().compareTo(userId)!=0){ + + logger.info("Sending notification to user "+infoContactModel.getLogin() +" added item [id: "+workspaceItem.getId() +"] name: "+workspaceItem.getName()+" in shared folder "+sharedFolder.getName()); + //DEBUG // System.out.println("Send notify folder un share user "+infoContactModel.getLogin()); - + boolean notify = notificationsMng.notifyAddedItem(infoContactModel.getLogin(), workspaceItem, sharedFolder); if(!notify){ @@ -458,17 +455,17 @@ public class NotificationsProducer { // e.printStackTrace(); } } - + logger.trace("notifies of added item in shared folder is completed"); - + //DEBUG // System.out.println("notifies of added item in shared folder is completed"); } }.start(); } - - + + /** * Runs a new thread to notify the contacts passed in input. * @@ -481,27 +478,27 @@ public class NotificationsProducer { new Thread() { @Override public void run() { - + // printContacts(listContacts); logger.trace("Send notifies updated item in shared folder is running..."); - + //DEBUG // System.out.println("Send notifies updated item in shared folder is running..."); - + for (InfoContactModel infoContactModel : listContacts) { try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER - if(infoContactModel.getLogin().compareTo(userId)!=0){ - + if(infoContactModel.getLogin().compareTo(userId)!=0){ + logger.trace("Sending notification to user "+infoContactModel.getLogin() +" updated item "+workspaceItem.getName()+" in shared folder "+sharedFolder.getName()); - + //DEBUG // System.out.println("Sending notification to user "+infoContactModel.getLogin() +" updated item "+workspaceItem.getName()+" in shared folder "+sharedFolder.getName()); - + //DEBUG // System.out.println("Send notify folder un share user "+infoContactModel.getLogin()); - + boolean notify = notificationsMng.notifyUpdatedItem(infoContactModel.getLogin(), workspaceItem, sharedFolder); if(!notify){ @@ -515,20 +512,20 @@ public class NotificationsProducer { e.printStackTrace(); } } - + logger.trace("notifies of updated item in shared folder is completed"); - + //DEBUG // System.out.println("notifies of updated item in shared folder is completed"); } }.start(); } - - - - - + + + + + /** * Runs a new thread to notify the contacts passed in input. * @@ -538,38 +535,38 @@ public class NotificationsProducer { */ public void notifyMovedItemToSharing(final List listContacts, final WorkspaceItem workspaceItem, final WorkspaceSharedFolder sharedFolder) { - + new Thread() { @Override public void run() { - + logger.trace("Sending notification remove item in shared folder is running..."); // printContacts(listContacts); - + try { - + if(NotificationsUtil.checkIsRootFolderShared(workspaceItem.getId(), sharedFolder.getId())){ logger.trace("Notification isn't sent because the event is on root shared folder"); return; } - + } catch (InternalErrorException e1) { logger.error("An error occurred in checkIsRootFolderShared ", e1); return; } - + logger.trace("Sending notification moved item in shared folder is running..."); - + // System.out.println("Sending notification moved item in shared folder is running..."); - + for (InfoContactModel infoContactModel : listContacts) { try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER if(infoContactModel.getLogin().compareTo(userId)!=0){ - + logger.trace("Sending notification to user "+infoContactModel.getLogin() +" moved item "+workspaceItem.getName()+" in shared folder "+sharedFolder.getName()); - + //DEBUG // System.out.println("Sending notification to user "+infoContactModel.getLogin() +" moved item "+workspaceItem.getName()+" in shared folder "+sharedFolder.getName()); @@ -577,7 +574,7 @@ public class NotificationsProducer { if(!notify){ logger.error("An error occured when notify user: "+infoContactModel.getLogin()); - + //DEBUG // System.out.println("An error occured when notify user: "+infoContactModel.getLogin()); } @@ -587,20 +584,20 @@ public class NotificationsProducer { e.printStackTrace(); } } - + logger.trace("notifies of moved item in shared folder is completed"); - + //DEBUG // System.out.println("notifies of moved item in shared folder is completed"); } - + }.start(); } - - + + /** * Runs a new thread to notify the contacts passed in input. * @@ -610,35 +607,35 @@ public class NotificationsProducer { */ public void notifyRemovedItemToSharing(final List listContacts, final String itemName, final WorkspaceSharedFolder sharedFolder) { - + new Thread() { @Override public void run() { - + logger.trace("Sending notification remove item in shared folder is running..."); // printContacts(listContacts); - + if(itemName==null || itemName.isEmpty()){ logger.trace("Notification isn't sent - itemName is null or empty"); return; } - + if(sharedFolder==null){ logger.trace("Notification isn't sent - sharedFolder is null"); } - + logger.trace("Sending notification removed item in shared folder is running..."); - + // System.out.println("Sending notification removed item in shared folder is running..."); - + for (InfoContactModel infoContactModel : listContacts) { try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER if(infoContactModel.getLogin().compareTo(userId)!=0){ - + logger.trace("Sending notification to user "+infoContactModel.getLogin() +" removed item "+itemName+" in shared folder "+sharedFolder.getName()); - + //DEBUG // System.out.println("Sending notification to user "+infoContactModel.getLogin() +" removed item "+itemName+" in shared folder "+sharedFolder.getName()); @@ -646,7 +643,7 @@ public class NotificationsProducer { if(!notify){ logger.error("An error occured when notify user: "+infoContactModel.getLogin()); - + //DEBUG // System.out.println("An error occured when notify user: "+infoContactModel.getLogin()); } @@ -656,16 +653,16 @@ public class NotificationsProducer { // e.printStackTrace(); } } - + logger.trace("notifies of moved item in shared folder is completed"); - + //DEBUG // System.out.println("notifies of moved item in shared folder is completed"); } }.start(); } - + /** * Runs a new thread to notify the contacts passed in input. * @@ -674,28 +671,28 @@ public class NotificationsProducer { */ public void notifySharedFolderDeleted(final List listContacts, final String folderNameDeleted) { - + new Thread() { @Override public void run() { - + // printContacts(listContacts); logger.trace("Send notifies shared folder deleted is running..."); - + for (InfoContactModel infoContactModel : listContacts) { try{ //NOTIFIES ONLY THE USERS THAT ARE DIFFERENT FROM CURRENT USER if(infoContactModel.getLogin().compareTo(userId)!=0){ - + logger.trace("Sending notification to user "+infoContactModel.getLogin() +" deleted shared folder "+folderNameDeleted); - + //DEBUG System.out.println("Sending notification to user "+infoContactModel.getLogin() +" deleted shared folder "+folderNameDeleted); - + //TODO // boolean notify = notificationsMng. - + // if(!notify) // logger.error("An error occured when notifies user: "+infoContactModel.getLogin()); } @@ -704,14 +701,14 @@ public class NotificationsProducer { // e.printStackTrace(); } } - + logger.trace("notifies of deleted shared foder is completed"); } }.start(); - + } - + /** * Runs a new thread to notify the contacts passed in input. @@ -724,14 +721,14 @@ public class NotificationsProducer { new Thread() { @Override public void run() { - + // printContacts(listContacts); logger.trace("Send notifies administrator upgrade is running..."); if(userToNotify==null || userToNotify.getLogin()==null){ logger.warn("Notification abort user to notify is null..."); return; } - + if(sharedFolder==null){ logger.warn("Notification abort sharedFolder to notify is null..."); return; @@ -739,21 +736,21 @@ public class NotificationsProducer { try{ String login = userToNotify.getLogin(); logger.trace("Send notifies administrator upgrade for login: "+login); - + boolean notify = notificationsMng.notifyAdministratorUpgrade(login, sharedFolder); logger.trace("Notification sent correctly? "+notify); }catch (Exception e) { logger.error("An error occured in notifyAdministratorUpgrade ", e); } - - + + logger.trace("notifies of administrator upgrade completed"); } }.start(); - + } - + /** * Runs a new thread to notify the contacts passed in input. * @@ -765,14 +762,14 @@ public class NotificationsProducer { new Thread() { @Override public void run() { - + // printContacts(listContacts); logger.trace("Send notifies administrator Downgrade is running..."); if(userToNotify==null || userToNotify.getLogin()==null){ logger.warn("Notification abort user to notify is null..."); return; } - + if(sharedFolder==null){ logger.warn("Notification abort sharedFolder to notify is null..."); return; @@ -780,19 +777,19 @@ public class NotificationsProducer { try{ String login = userToNotify.getLogin(); logger.trace("Send notifies administrator Downgrade for login: "+login); - + boolean notify = notificationsMng.notifyAdministratorDowngrade(login, sharedFolder); logger.trace("Notification sent correctly? "+notify); }catch (Exception e) { logger.error("An error occured in notifyAdministratorDowngrade ", e); } - - + + logger.trace("notifies of administrator Downgrade completed"); } }.start(); - + } //DEBUG @@ -802,7 +799,7 @@ public class NotificationsProducer { * @param listContacts the list contacts */ private void printContacts(List listContacts){ - + System.out.println("Print contacts"); for (InfoContactModel infoContactModel : listContacts) { System.out.println(infoContactModel); @@ -822,20 +819,20 @@ public class NotificationsProducer { String user = "francesco.mangiacrapa"; String scopeString = "/gcube/devsec/devVRE"; String fullName = "Francesco Mangiacrapa"; - + ScopeBean scope; ASLSession session; - + session = SessionManager.getInstance().getASLSession(sessionID, user); scope = new ScopeBean(scopeString); session.setScope(scope.toString()); session.setUserAvatarId(user + "Avatar"); session.setUserFullName(fullName); - - + + NotificationsProducer feeder = new NotificationsProducer(session); - - + + } } diff --git a/src/test/java/org/gcube/portlets/user/workspace/DonwloadServletTest.java b/src/test/java/org/gcube/portlets/user/workspace/DonwloadServletTest.java index 44e03f4..23acfab 100644 --- a/src/test/java/org/gcube/portlets/user/workspace/DonwloadServletTest.java +++ b/src/test/java/org/gcube/portlets/user/workspace/DonwloadServletTest.java @@ -1,5 +1,5 @@ /** - * + * */ package org.gcube.portlets.user.workspace; @@ -18,7 +18,7 @@ import org.gcube.common.homelibrary.home.workspace.folder.items.ExternalFile; /** * @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it * @Jun 18, 2013 - * + * */ public class DonwloadServletTest { @@ -38,37 +38,37 @@ public class DonwloadServletTest { .getHome("francesco.mangiacrapa") .getWorkspace(); // - + WorkspaceItem root = ws.getRoot(); - + List children = root.getChildren(); - - + + for (WorkspaceItem workspaceItem : children) { - + if(workspaceItem.getType().equals(WorkspaceItemType.FOLDER_ITEM)){ - + FolderItem folderItem = (FolderItem) workspaceItem; - + if(folderItem.getFolderItemType().equals(FolderItemType.EXTERNAL_FILE)){ - + ExternalFile f = (ExternalFile) folderItem; - + System.out.println("folderItem name: "+f.getName() + ", public link: "+f.getPublicLink()); } - + } - - + + } - - + + // WorkspaceItem item = ws.getItem("8ad4e104-0f34-413e-a88c-e754a81104e7"); -// -// +// +// // ExternalFile f = (ExternalFile) item; -// -// +// +// // System.out.println("Public link: "+f.getPublicLink()); // FileOutputStream out = new FileOutputStream(new File("/tmp/bla")); // // byte[] buffer = new byte[1024]; @@ -77,10 +77,10 @@ public class DonwloadServletTest { // // out.write(buffer, 0, len); // // } // - - + + // is = f.getData(); - + // IOUtils.copy(is, out); // is.close(); @@ -96,23 +96,23 @@ public class DonwloadServletTest { e.printStackTrace(); } } - + public void depthVisit(WorkspaceItem item) throws InternalErrorException{ - + if(item.getType().equals(WorkspaceItemType.FOLDER_ITEM)){ - + WorkspaceFolder folder = (WorkspaceFolder) item; System.out.println("Visit Folder: "+folder.getName()); List children = folder.getChildren(); - + for (WorkspaceItem workspaceItem : children) { depthVisit(workspaceItem); } }else{ - + System.out.println("Item name: "+item.getName()); - + } } diff --git a/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieve.java b/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieve.java index 856e66e..e30352b 100644 --- a/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieve.java +++ b/src/test/java/org/gcube/portlets/user/workspace/ItemRetrieve.java @@ -31,9 +31,9 @@ public class ItemRetrieve { // public static String DEFAULT_SCOPE = "/d4science.research-infrastructures.eu/gCubeApps"; //PRODUCTION public static String DEFAULT_SCOPE = "/gcube/devsec"; //DEV - public static String TEST_USER = "gianpaolo.coro"; + public static String TEST_USER = "francesco.mangiacrapa"; // public static String ITEMID = "63832213-098d-42d1-8774-89b6349764c0"; //Activity T3.4 working drafts/T2-EC-IMAR-HO-14-015 iMarine Sustainability WP - Business Model tools.pdf - public static String ITEMID = "a5aca54d-67cf-4838-9025-9ef5bb204ae9"; + public static String ITEMID = "ce4866ee-8079-4acf-bcd6-1c9dd786eb73"; // d81d3a64-603f-4907-ae74-be8353211807 protected static Logger logger = Logger.getLogger(ItemRetrieve.class); @@ -48,14 +48,14 @@ public class ItemRetrieve { Workspace ws = getWorkspace(); System.out.println(ws.getRoot().getId()); -// retrieveFirstLevel(ws, null); - - retrieveFirstLevel(ws, ITEMID); - - System.out.println("get workspace -> OK"); -// WorkspaceItem item = ws.getItem(ITEMID); -// System.out.println("get item id: "+item.getId()+", name: "+item.getName() +", parent: "+item.getParent()); -// System.out.println(item); + retrieveFirstLevel(ws, null); +// +// retrieveFirstLevel(ws, ITEMID); +// +// System.out.println("get workspace -> OK"); + WorkspaceItem item = ws.getItem(ITEMID); + System.out.println("get item id: "+item.getId()+", name: "+item.getName() +", parent: "+item.getParent().getId() +", parent name: "+item.getParent().getName()+", path :"+item.getPath()); + System.out.println(item); }catch(Exception e){ e.printStackTrace(); } @@ -119,50 +119,57 @@ public class ItemRetrieve { int folderItemCounter = 0; int othersCounter = 0; for (WorkspaceItem workspaceItem : children) { + try{ - /*if(foundFolder!=null && !foundFolder.isEmpty()){ - if(workspaceItem.getId().compareTo(foundFolder)==0){ - System.out.println("ITEM FOUND id: "+workspaceItem.getId()+", name: "+workspaceItem.getName()); - return; + /*if(foundFolder!=null && !foundFolder.isEmpty()){ + if(workspaceItem.getId().compareTo(foundFolder)==0){ + System.out.println("ITEM FOUND id: "+workspaceItem.getId()+", name: "+workspaceItem.getName()); + return; + } + }*/ + + switch (workspaceItem.getType()) { + + case FOLDER: + + WorkspaceFolder folder = (WorkspaceFolder) workspaceItem; + +// System.out.println(++i+") "+folder.getId() +" folder name: "+folder.getName() + " owner "+folder.getOwner() +" path: "+folder.getPath()); + System.out.println(++i+") "+folder.getId() +" folder name: "+folder.getName() + " owner "+folder.getOwner()); + foldersCounter++; + + break; + + case SHARED_FOLDER: + + WorkspaceSharedFolder shared = (WorkspaceSharedFolder) workspaceItem; + +// System.out.println(++i+") "+shared.getId() +" shared folder name: "+shared.getName() + " owner "+shared.getOwner()+" isVRE "+shared.isVreFolder() +" ACLOwner: "+shared.getACLOwner()+" AclUser: "+shared.getACLUser() +" path: "+shared.getPath()); + System.out.println(++i+") "+shared.getId() +" shared folder name: "+shared.getName()); + + // System.out.println(++i+") shared folder name: "+shared.getName() + " owner "+shared.getOwner().getPortalLogin()); + sharedFoldersCounter++; + + break; + + case FOLDER_ITEM: + + FolderItem folderItem = (FolderItem) workspaceItem; + +// System.out.println(++i+") folderItem id: "+folderItem.getId() +", name: "+folderItem.getName() + ", own: "+folderItem.getOwner() +" path: "+folderItem.getPath()); + System.out.println(++i+") folderItem id: "+folderItem.getId() +", name: "+folderItem.getName() + ", own: "+folderItem.getOwner()); + folderItemCounter++; + + break; + default: + // System.out.println(++i+") DEFAULT - item id: "+workspaceItem.getId() +", name: "+workspaceItem.getName() + ", own: "+workspaceItem.getOwner()); + // othersCounter++; + break; } - }*/ - - - switch (workspaceItem.getType()) { - - case FOLDER: - - WorkspaceFolder folder = (WorkspaceFolder) workspaceItem; - - System.out.println(++i+") "+folder.getId() +" folder name: "+folder.getName() + " owner "+folder.getOwner() +" path: "+folder.getPath()); - foldersCounter++; - - break; - - case SHARED_FOLDER: - - WorkspaceSharedFolder shared = (WorkspaceSharedFolder) workspaceItem; - - System.out.println(++i+") "+shared.getId() +" shared folder name: "+shared.getName() + " owner "+shared.getOwner()+" isVRE "+shared.isVreFolder() +" ACLOwner: "+shared.getACLOwner()+" AclUser: "+shared.getACLUser() +" path: "+shared.getPath()); - -// System.out.println(++i+") shared folder name: "+shared.getName() + " owner "+shared.getOwner().getPortalLogin()); - sharedFoldersCounter++; - - break; - - case FOLDER_ITEM: - - FolderItem folderItem = (FolderItem) workspaceItem; - - System.out.println(++i+") folderItem id: "+folderItem.getId() +", name: "+folderItem.getName() + ", own: "+folderItem.getOwner() +" path: "+folderItem.getPath()); - folderItemCounter++; - - break; - default: -// System.out.println(++i+") DEFAULT - item id: "+workspaceItem.getId() +", name: "+workspaceItem.getName() + ", own: "+workspaceItem.getOwner()); -// othersCounter++; - break; + }catch (Exception e) { + // TODO: handle exception } + } //TEST TIME