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 5f18740..63ce180 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 @@ -1968,7 +1968,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT Workspace workspace = getWorkspace(); - //TODO TRACE workspaceLogger.info("shareFolder "+ folder.getIdentifier() + " name: "+ folder.getName() + " parent is: " + folder.getParentFileModel() @@ -3048,7 +3047,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT WorkspaceItem item = workspace.getItem(folderId); workspaceLogger.info("Adding administator/s to folder: "+folderId); - if(item.getType().equals(WorkspaceItemType.SHARED_FOLDER)){ + if(item!=null && item.getType().equals(WorkspaceItemType.SHARED_FOLDER)){ WorkspaceSharedFolder sharedFolder = (WorkspaceSharedFolder) item; for (String login : listContactLogins) { workspaceLogger.info("Setting administator: "+login); @@ -3057,7 +3056,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT return true; }else - throw new Exception("The item is not instanceof "+WorkspaceItemType.SHARED_FOLDER); + throw new Exception("The item is null or not instanceof "+WorkspaceItemType.SHARED_FOLDER); } catch (Exception e) { workspaceLogger.error("Error in server addAdministratorsByFolderId: "+e.getMessage()); @@ -3067,5 +3066,46 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT } } + + /* (non-Javadoc) + * @see org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService#getAdministratorsByFolderId(java.lang.String) + */ + @Override + public List getAdministratorsByFolderId(String folderId) throws Exception { + List admins = new ArrayList(); + + if(folderId==null) + return admins; + try { + + Workspace workspace = getWorkspace(); + WorkspaceItem item = workspace.getItem(folderId); + workspaceLogger.info("Adding administator/s to folder: "+folderId); + + if(item!=null && item.getType().equals(WorkspaceItemType.SHARED_FOLDER)){ + WorkspaceSharedFolder sharedFolder = (WorkspaceSharedFolder) item; + + //TODO GET ADMINISTRATORS FROM HL + //FAKE +// admins.add(new InfoContactModel("francesco.mangiacrapa","francesco.mangiacrapa", "Francesco Mangiacrapa", false)); + /* + for (String login : listContactLogins) { + workspaceLogger.info("Setting administator: "+login); + sharedFolder.setAdmin(login); + } + return true; + + */ + return admins; + }else + throw new Exception("The item is null or not instanceof "+WorkspaceItemType.SHARED_FOLDER); + + } catch (Exception e) { + workspaceLogger.error("Error in server getAdministratorsByFolderId: "+e.getMessage()); + workspaceLogger.error(e); + String error = ConstantsExplorer.SERVER_ERROR +" getting Administrators"; + throw new Exception(error); + } + } }