From bdd8ef651833f0fe878b3458553af3563cbbaad7 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Fri, 28 Feb 2014 15:00:29 +0000 Subject: [PATCH] enhancements git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-sharing-widget@92500 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 7 +- .../client/WorkspaceSharingWidget.java | 7 +- .../client/rpc/WorkspaceSharingService.java | 1 - .../rpc/WorkspaceSharingServiceAsync.java | 7 - .../server/WorkspaceSharingServiceImpl.java | 9 +- .../server/util/WsUtil.java | 25 ++-- src/main/webapp/workspacesharingwidget.html | 65 +++++---- .../client/ItemRetrieving.java | 124 ++++++++++++++++++ 8 files changed, 186 insertions(+), 59 deletions(-) create mode 100644 src/test/java/org/gcube/portlets/widgets/workspacesharingwidget/client/ItemRetrieving.java diff --git a/pom.xml b/pom.xml index 62fee8c..8867d0c 100644 --- a/pom.xml +++ b/pom.xml @@ -91,7 +91,6 @@ [1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT) - org.gcube.core common-encryption @@ -114,12 +113,18 @@ gcube-widgets provided + org.gcube.applicationsupportlayer aslcore provided + + org.gcube.applicationsupportlayer + accesslogger + + org.gcube.common diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/WorkspaceSharingWidget.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/WorkspaceSharingWidget.java index 7f37f59..34d12d5 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/WorkspaceSharingWidget.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/WorkspaceSharingWidget.java @@ -14,17 +14,16 @@ import com.google.gwt.user.client.ui.RootPanel; */ public class WorkspaceSharingWidget implements EntryPoint { - public static String ITEMID = "56a9aa27-2150-4409-b5da-cc96c5c4eb70"; + public static String ITEMID = "3f461fcf-c60f-4243-9212-4f7c89dbf7bc"; /** * This is the entry point method. */ public void onModuleLoad() { - System.out.println("quiiiiiiiiiiii"); + try { - WorkspaceSharingController controller = new WorkspaceSharingController( - ITEMID, true, ACL_TYPE.READ_ONLY); + WorkspaceSharingController controller = new WorkspaceSharingController(ITEMID, true, ACL_TYPE.READ_ONLY); final Window sharingWindow = controller.getSharingWindow(); diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/rpc/WorkspaceSharingService.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/rpc/WorkspaceSharingService.java index 6eed195..3f7e594 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/rpc/WorkspaceSharingService.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/rpc/WorkspaceSharingService.java @@ -14,7 +14,6 @@ import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; */ @RemoteServiceRelativePath("workspacesharing") public interface WorkspaceSharingService extends RemoteService { - String greetServer(String name) throws IllegalArgumentException; /** * @return diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/rpc/WorkspaceSharingServiceAsync.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/rpc/WorkspaceSharingServiceAsync.java index 9ec02a2..e24f7c3 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/rpc/WorkspaceSharingServiceAsync.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/client/rpc/WorkspaceSharingServiceAsync.java @@ -12,13 +12,6 @@ import com.google.gwt.user.client.rpc.AsyncCallback; public interface WorkspaceSharingServiceAsync { - /** - * GWT-RPC service asynchronous (client-side) interface - * @see org.gcube.portlets.widgets.workspacesharingwidget.client.rpc.WorkspaceSharingService - */ - void greetServer( java.lang.String name, AsyncCallback callback ); - - /** * Utility class to get the RPC Async interface from client-side code */ diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/server/WorkspaceSharingServiceImpl.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/server/WorkspaceSharingServiceImpl.java index 6508c40..8bdeb57 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/server/WorkspaceSharingServiceImpl.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/server/WorkspaceSharingServiceImpl.java @@ -15,7 +15,6 @@ import org.gcube.common.homelibrary.home.workspace.WorkspaceItemType; import org.gcube.common.homelibrary.home.workspace.WorkspaceSharedFolder; import org.gcube.common.homelibrary.home.workspace.accessmanager.ACLType; import org.gcube.common.homelibrary.home.workspace.exceptions.WorkspaceFolderNotFoundException; -import org.gcube.common.homelibrary.home.workspace.folder.FolderItem; import org.gcube.portlets.widgets.workspacesharingwidget.client.ConstantsSharing; import org.gcube.portlets.widgets.workspacesharingwidget.client.rpc.WorkspaceSharingService; import org.gcube.portlets.widgets.workspacesharingwidget.server.notifications.NotificationsProducer; @@ -66,12 +65,6 @@ public class WorkspaceSharingServiceImpl extends RemoteServiceServlet implements return WsUtil.withoutPortal; } - public String greetServer(String input) throws IllegalArgumentException { - - return "Hello"; - } - - @Override public List getAllContacts() throws Exception { @@ -241,7 +234,7 @@ public class WorkspaceSharingServiceImpl extends RemoteServiceServlet implements //BUILD ITEM return builder.buildGXTFileModelItem(wsItem, parent); } catch (Exception e) { - logger.error("Error in server during item retrieving, getItemForFileGrid", e); + logger.error("Error in server during item retrieving, getFileModelByWorkpaceItemId", e); String error = ConstantsSharing.SERVER_ERROR + " retrieving the item from workspace, "+e.getMessage(); throw new Exception(error); } diff --git a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/server/util/WsUtil.java b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/server/util/WsUtil.java index ce14189..75ae31c 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/server/util/WsUtil.java +++ b/src/main/java/org/gcube/portlets/widgets/workspacesharingwidget/server/util/WsUtil.java @@ -19,6 +19,7 @@ import org.gcube.common.homelibrary.home.workspace.exceptions.WorkspaceFolderNot import org.gcube.common.scope.api.ScopeProvider; import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper; import org.gcube.portlets.widgets.workspacesharingwidget.server.GWTWorkspaceSharingBuilder; +import org.gcube.portlets.widgets.workspacesharingwidget.server.WorkspaceSharingServiceImpl; import org.gcube.portlets.widgets.workspacesharingwidget.server.notifications.NotificationsProducer; import org.gcube.portlets.widgets.workspacesharingwidget.shared.InfoContactModel; @@ -32,17 +33,11 @@ import org.gcube.portlets.widgets.workspacesharingwidget.shared.InfoContactModel public class WsUtil { public static final String USERNAME_ATTRIBUTE = ScopeHelper.USERNAME_ATTRIBUTE; - public static final String FOLDERIMPORTER_ATTRIBUTE = "FOLDER_IMPORTER"; - public static final String METADATACONVERTER_ATTRIBUTE = "METADATA_CONVERTER"; - public static final String WORKSPACE_EVENT_COLLECTOR_ATTRIBUTE = "EVENT_COLLECTOR"; - public static final String WORKSPACEBUILDER_ATTRIBUTE = "WORKSPACEBUILDER"; - public static final String NOTIFICATION_MANAGER = "NOTIFICATION_MANAGER"; - public static final String NOTIFICATION_PRODUCER = "NOTIFICATION_PRODUCER"; - public static final String WS_RUN_IN_TEST_MODE = "WS_RUN_IN_TEST_MODE"; - public static final String WORKSPACE_SCOPE_UTIL = "WORKSPACE_SCOPE_UTIL"; - public static final String URL_SHORTENER_SERVICE = "URL_SHORTENER_SERVICE"; - public static final String URI_RESOLVER_SERVICE = "URI_RESOLVER_SERVICE"; - public static final String NOTIFICATION_PORTLET_CLASS_ID = "org.gcube.portlets.user.workspace.server.GWTWorkspaceServiceImpl"; //IN DEV + public static final String WORKSPACEBUILDER_ATTRIBUTE = "WORKSPACE_SHARING_BUILDER_ATTRIBUTE"; + public static final String NOTIFICATION_MANAGER = "NOTIFICATION_SHARING_MANAGER"; + public static final String NOTIFICATION_PRODUCER = "NOTIFICATION_SHARING_PRODUCER"; + public static final String WORKSPACE_SCOPE_UTIL = "WORKSPACE__SHARING_SCOPE_UTIL"; + public static final String NOTIFICATION_PORTLET_CLASS_ID = WorkspaceSharingServiceImpl.class.getName(); //IN DEV // public static final String TEST_SCOPE = "/gcube/devsec"; // public static final String TEST_USER = "pasquale.pagano"; @@ -51,12 +46,12 @@ public class WsUtil { // public static final String TEST_USER = "federico.defaveri"; // public static final String TEST_USER = "massimiliano.assante"; // public static final String TEST_USER = "pasquale.pagano"; -// public static final String TEST_USER = "francesco.mangiacrapa"; -// public static final String TEST_USER_FULL_NAME = "Francesco Mangiacrapa"; + public static final String TEST_USER = "francesco.mangiacrapa"; + public static final String TEST_USER_FULL_NAME = "Francesco Mangiacrapa"; // public static final String TEST_USER = "aureliano.gentile"; - public static final String TEST_USER = "test.user"; +// public static final String TEST_USER = "test.user"; // public static final String TEST_USER = "antonio.gioia"; - public static final String TEST_USER_FULL_NAME = "Test User"; +// public static final String TEST_USER_FULL_NAME = "Test User"; protected static Logger logger = Logger.getLogger(WsUtil.class); diff --git a/src/main/webapp/workspacesharingwidget.html b/src/main/webapp/workspacesharingwidget.html index aab8e7b..2f4fcfe 100644 --- a/src/main/webapp/workspacesharingwidget.html +++ b/src/main/webapp/workspacesharingwidget.html @@ -1,32 +1,51 @@ + + + + + + - - + + - - - - + + + + - + - - + + + + + + - - + + - - - -
- + + + +
+ + diff --git a/src/test/java/org/gcube/portlets/widgets/workspacesharingwidget/client/ItemRetrieving.java b/src/test/java/org/gcube/portlets/widgets/workspacesharingwidget/client/ItemRetrieving.java new file mode 100644 index 0000000..e6adf47 --- /dev/null +++ b/src/test/java/org/gcube/portlets/widgets/workspacesharingwidget/client/ItemRetrieving.java @@ -0,0 +1,124 @@ +/** + * + */ +package org.gcube.portlets.widgets.workspacesharingwidget.client; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +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.WorkspaceSharedFolder; +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 = "/d4science.research-infrastructures.eu/gCubeApps"; //PRODUCTION + public static String DEFAULT_SCOPE = "/gcube/devsec"; //DEV + 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 = "56a9aa27-2150-4409-b5da-cc96c5c4eb70"; + + + 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(); + // + + + //TEST TIME + Long startTime = System.currentTimeMillis(); + Long endTime = System.currentTimeMillis() - startTime; + String time = String.format("%d msc %d sec", endTime, TimeUnit.MILLISECONDS.toSeconds(endTime)); + + startTime = System.currentTimeMillis(); + System.out.println("Start get root at time: "+startTime); +// WorkspaceItem root = ws.getItem(ITEMID); + WorkspaceItem root = ws.getRoot(); + + System.out.println("start get children"); + List children = root.getChildren(); + System.out.println("tree getChildren() returning "+children.size()+" elements in " + time); + + System.out.println("children size: "+children.size()); + + int i=0; + int foldersCounter = 0; + int sharedFoldersCounter = 0; + int folderItemCounter = 0; + int othersCounter = 0; + for (WorkspaceItem workspaceItem : children) { + + switch (workspaceItem.getType()) { + + case FOLDER: + + WorkspaceFolder folder = (WorkspaceFolder) workspaceItem; + + System.out.println(++i+") folder name: "+folder.getName() + " owner "+folder.getOwner().getPortalLogin()); + foldersCounter++; + + break; + + case SHARED_FOLDER: + + WorkspaceSharedFolder shared = (WorkspaceSharedFolder) workspaceItem; + + System.out.println(++i+") shared folder name: "+shared.getName() + " owner "+shared.getOwner().getPortalLogin() +" isVRE "+shared.isVreFolder()); + +// 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().getPortalLogin()); + folderItemCounter++; + + break; + default: + System.out.println(++i+") DEFAULT - item id: "+workspaceItem.getId() +", name: "+workspaceItem.getName() + ", own: "+workspaceItem.getOwner().getPortalLogin()); + othersCounter++; + break; + } + } + + //TEST TIME + endTime = System.currentTimeMillis(); + long difference = endTime - startTime; + time = String.format("%d msc %d sec", difference, TimeUnit.MILLISECONDS.toSeconds(difference)); + System.out.println("End time is "+endTime+ " difference is "+time); + System.out.println("Folders are: "+foldersCounter); + System.out.println("Shared Folders are: "+sharedFoldersCounter); + System.out.println("Folder Item are: "+folderItemCounter); + System.out.println("Others are: "+othersCounter); + } catch (Exception e) { + e.printStackTrace(); + } + } + +}