From f8fec4df8f8cd1d28319dab50aa4724dab9d1d06 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Fri, 12 Jun 2015 13:07:02 +0000 Subject: [PATCH] 219: Workspace: modify the WorkspaceItem properties Task-Url: https://support.d4science.org/issues/219 Updated Dialog Edit Permission Updated Icons and Css git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@115351 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/workspace/client/resources/Icons.java | 3 +++ .../workspace/client/resources/Resources.java | 5 +++++ .../workspace/client/resources/icons/edit16.png | Bin 0 -> 522 bytes .../view/windows/DialogEditProperties.java | 4 ++-- .../client/view/windows/DialogGetInfo.java | 16 +++++++++++----- .../user/workspace/public/workspacetree.css | 4 ++++ .../workspace/server/GWTWorkspaceBuilder.java | 12 +++++++++--- .../server/GWTWorkspaceServiceImpl.java | 7 +++++-- 8 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/edit16.png diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java index bd60f92..6d5049c 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Icons.java @@ -378,5 +378,8 @@ public interface Icons extends ClientBundle { @Source("icons/pencil16.png") ImageResource pencil(); + + @Source("icons/edit16.png") + ImageResource edit(); } diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java index 2253829..3de1a50 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java +++ b/src/main/java/org/gcube/portlets/user/workspace/client/resources/Resources.java @@ -299,6 +299,11 @@ public class Resources { return AbstractImagePrototype.create(ICONS.pencil()); } + public static AbstractImagePrototype getIconEdit(){ + + return AbstractImagePrototype.create(ICONS.edit()); + } + public static AbstractImagePrototype getIconHistory(){ return AbstractImagePrototype.create(ICONS.history()); diff --git a/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/edit16.png b/src/main/java/org/gcube/portlets/user/workspace/client/resources/icons/edit16.png new file mode 100644 index 0000000000000000000000000000000000000000..13be83bf311dad36eb6438053d77c25517ab2c0d GIT binary patch literal 522 zcmV+l0`>igP)T^7id#2{AE&CoJfi@c|7fo)gMKET=*uyU*RY`BWz|+;$F2+xpup z&^7aNvcAJ+z@HyK7?RSa?7DsDxfTNh1H+cBr=wU7-+1d+>Z_c^#m4*rrrA(YU>CaP zw{Jg5B&JQ-1JlgFz`)?|XTFGqfq{X+QcY+BHb3Lj928)&q`WvVkBN}KacOR>jYwi) zVg7^HfDa$Oir~}Cz`($O*MJS1P9~shZm5k&gK5TVz{{5(Sse>50~RekP;ltTRgd1Tgd`zB-e+beDtk`f{or@+A%G zX88RJMd6>n|5=XRdgmj`$MytSobl4b501TC?#y}o_J"+key+": "; html+=""; html+=value; @@ -2630,12 +2630,18 @@ public class GWTWorkspaceBuilder { if(item instanceof GCubeItem){ GCubeItem gItem = (GCubeItem) item; try { - return gItem.getProperties().getProperties(); + if(gItem.getProperties()!=null){ + Map map = gItem.getProperties().getProperties(); + HashMap properties = new HashMap(map.size()); //TO PREVENT GWT SERIALIZATION ERROR + for (String key : map.keySet()) + properties.put(key, map.get(key)); + + return properties; + } } catch (InternalErrorException e) { logger.error("Error in server getItemProperties: ", e); return null; } - } return null; } 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 0b35181..247cee9 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 @@ -3827,9 +3827,12 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT Workspace workspace = getWorkspace(); WorkspaceItem item = workspace.getItem(itemId); if(item instanceof GCubeItem){ + workspaceLogger.info("Adding "+properties.size()+" properties to GCubeItem: "+itemId); GCubeItem gItem = (GCubeItem) item; - for (String key : properties.keySet()) //ADD PROPERTIES - gItem.getProperties().addProperty(key, properties.get(key)); + for (String key : properties.keySet()) {//ADD PROPERTIES + workspaceLogger.trace("Adding property: ["+key+","+properties.get(key)+"]"); + gItem.getProperties().addProperty(key, properties.get(key)); + } }else throw new NoGcubeItemTypeException("The item is not a Gcube Item");