updated get Users
git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/workspace-tree-widget@112121 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
b215391007
commit
1248407e63
5400
.gwt/.gwt-log
5400
.gwt/.gwt-log
File diff suppressed because it is too large
Load Diff
2
pom.xml
2
pom.xml
|
@ -58,8 +58,8 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.gwt</groupId>
|
<groupId>com.google.gwt</groupId>
|
||||||
<artifactId>gwt-user</artifactId>
|
<artifactId>gwt-user</artifactId>
|
||||||
<!-- <scope>provided</scope> -->
|
|
||||||
<version>${gwtVersion}</version>
|
<version>${gwtVersion}</version>
|
||||||
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -149,8 +149,8 @@ import org.gcube.portlets.widgets.fileupload.client.events.FileUploadCompleteEve
|
||||||
import org.gcube.portlets.widgets.fileupload.client.events.FileUploadSelectedEvent;
|
import org.gcube.portlets.widgets.fileupload.client.events.FileUploadSelectedEvent;
|
||||||
import org.gcube.portlets.widgets.fileupload.client.events.FileUploadSelectedEventHandler;
|
import org.gcube.portlets.widgets.fileupload.client.events.FileUploadSelectedEventHandler;
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.ConstantsSharing.LOAD_CONTACTS_AS;
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.ConstantsSharing.LOAD_CONTACTS_AS;
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.MultiDragContactsEditPermissions;
|
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.MultiDragConstants;
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.MultiDragConstants;
|
||||||
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.MultiDragContactsEditPermissions;
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.SimpleMultiDragWorkspaceContact;
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.SimpleMultiDragWorkspaceContact;
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.multisuggest.DialogMultiDragContact;
|
import org.gcube.portlets.widgets.workspacesharingwidget.client.view.sharing.multisuggest.DialogMultiDragContact;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.portlets.user.workspace.client.workspace.folder.item.gcube;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
|
||||||
|
* @Feb 16, 2015
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class WorkspaceHandledException extends Exception{
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 6287132546514234376L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public WorkspaceHandledException() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public WorkspaceHandledException(String arg0){
|
||||||
|
super(arg0);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -57,6 +57,7 @@ import org.gcube.portlets.user.workspace.client.model.SmartFolderModel;
|
||||||
import org.gcube.portlets.user.workspace.client.model.SubTree;
|
import org.gcube.portlets.user.workspace.client.model.SubTree;
|
||||||
import org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService;
|
import org.gcube.portlets.user.workspace.client.rpc.GWTWorkspaceService;
|
||||||
import org.gcube.portlets.user.workspace.client.workspace.GWTWorkspaceItem;
|
import org.gcube.portlets.user.workspace.client.workspace.GWTWorkspaceItem;
|
||||||
|
import org.gcube.portlets.user.workspace.client.workspace.folder.item.gcube.WorkspaceHandledException;
|
||||||
import org.gcube.portlets.user.workspace.server.notifications.NotificationsProducer;
|
import org.gcube.portlets.user.workspace.server.notifications.NotificationsProducer;
|
||||||
import org.gcube.portlets.user.workspace.server.notifications.NotificationsUtil;
|
import org.gcube.portlets.user.workspace.server.notifications.NotificationsUtil;
|
||||||
import org.gcube.portlets.user.workspace.server.resolver.UriResolverReaderParameter;
|
import org.gcube.portlets.user.workspace.server.resolver.UriResolverReaderParameter;
|
||||||
|
@ -291,7 +292,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
|
|
||||||
//ADDING SPECIAL FOLDER?
|
//ADDING SPECIAL FOLDER?
|
||||||
if(wsItem.isRoot()){
|
if(wsItem.isRoot()){
|
||||||
//TODO
|
|
||||||
//ADD SPECIAL FOLDER
|
//ADD SPECIAL FOLDER
|
||||||
try{
|
try{
|
||||||
workspaceLogger.info("Folder is root, loading special folders..");
|
workspaceLogger.info("Folder is root, loading special folders..");
|
||||||
|
@ -372,7 +372,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
|
|
||||||
//ADDING SPECIAL FOLDER?
|
//ADDING SPECIAL FOLDER?
|
||||||
if(wsFolder.isRoot()){
|
if(wsFolder.isRoot()){
|
||||||
//TODO
|
|
||||||
//ADD SPECIAL FOLDER
|
//ADD SPECIAL FOLDER
|
||||||
try{
|
try{
|
||||||
workspaceLogger.info("Folder is root, loading special folders..");
|
workspaceLogger.info("Folder is root, loading special folders..");
|
||||||
|
@ -2077,31 +2076,23 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Workspace workspace = getWorkspace();
|
Workspace workspace = getWorkspace();
|
||||||
|
|
||||||
WorkspaceItem wsItem = workspace.getItem(folderSharedId);
|
WorkspaceItem wsItem = workspace.getItem(folderSharedId);
|
||||||
|
|
||||||
if(NotificationsUtil.isASharedFolder(wsItem)){
|
if(NotificationsUtil.isASharedFolder(wsItem)){
|
||||||
|
|
||||||
WorkspaceSharedFolder wsFolder = (WorkspaceSharedFolder) wsItem;
|
WorkspaceSharedFolder wsFolder = (WorkspaceSharedFolder) wsItem;
|
||||||
|
|
||||||
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||||
|
|
||||||
List<String> listPortalLogin = wsFolder.getUsers();
|
List<String> listPortalLogin = wsFolder.getUsers();
|
||||||
|
|
||||||
workspaceLogger.trace("getListUserSharedByFolderSharedId return "+ listPortalLogin.size() + " user");
|
workspaceLogger.trace("getListUserSharedByFolderSharedId return "+ listPortalLogin.size() + " user");
|
||||||
|
|
||||||
if(isTestMode())
|
if(isTestMode())
|
||||||
return builder.buildGxtInfoContactFromPortalLoginTestMode(listPortalLogin);
|
return builder.buildGxtInfoContactFromPortalLoginTestMode(listPortalLogin);
|
||||||
|
|
||||||
return builder.buildGxtInfoContactsFromPortalLogins(listPortalLogin);
|
return builder.buildGxtInfoContactsFromPortalLogins(listPortalLogin);
|
||||||
|
|
||||||
}
|
}
|
||||||
else{
|
else
|
||||||
workspaceLogger.trace("the item with id: "+folderSharedId+ " is not "+WorkspaceItemType.SHARED_FOLDER);
|
workspaceLogger.trace("the item with id: "+folderSharedId+ " is not "+WorkspaceItemType.SHARED_FOLDER);
|
||||||
|
|
||||||
//DEBUG
|
|
||||||
//System.out.println("the item with id: "+folderSharedId+ " is not "+WorkspaceItemType.SHARED_FOLDER);
|
|
||||||
}
|
|
||||||
return new ArrayList<InfoContactModel>();
|
return new ArrayList<InfoContactModel>();
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -2113,35 +2104,29 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<InfoContactModel> getListUserSharedBySharedItem(String sharedItemId) throws Exception{
|
public List<InfoContactModel> getListUserSharedBySharedItem(String sharedItemId) throws Exception{
|
||||||
|
workspaceLogger.trace("Get ListUserSharedBySharedItem "+ sharedItemId);
|
||||||
workspaceLogger.trace("getListUserSharedBySharedItem "+ sharedItemId);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Workspace workspace = getWorkspace();
|
|
||||||
|
|
||||||
WorkspaceItem wsItem = workspace.getItem(sharedItemId);
|
|
||||||
|
|
||||||
if(wsItem!=null && wsItem.isShared()){
|
WorkspaceFolder wsFolder = getSharedWorkspaceFolderForId(sharedItemId);
|
||||||
|
if(wsFolder!=null){
|
||||||
WorkspaceSharedFolder wsFolder = (WorkspaceSharedFolder) workspace.getItem(wsItem.getIdSharedFolder());
|
if(isASharedFolder(wsFolder, true)){
|
||||||
|
|
||||||
if(wsFolder!=null){
|
|
||||||
|
|
||||||
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||||
|
|
||||||
List<String> listPortalLogin = wsFolder.getUsers();
|
WorkspaceSharedFolder wsSharedFolder = (WorkspaceSharedFolder) wsFolder;
|
||||||
|
List<String> listPortalLogin = wsSharedFolder.getUsers();
|
||||||
workspaceLogger.trace("getListUserSharedByFolderSharedId return "+ listPortalLogin.size() + " user");
|
workspaceLogger.trace("getListUserSharedByFolderSharedId return "+ listPortalLogin.size() + " user/s");
|
||||||
|
|
||||||
if(isTestMode())
|
if(isTestMode())
|
||||||
return builder.buildGxtInfoContactFromPortalLoginTestMode(listPortalLogin);
|
return builder.buildGxtInfoContactFromPortalLoginTestMode(listPortalLogin);
|
||||||
|
|
||||||
|
|
||||||
return builder.buildGxtInfoContactsFromPortalLogins(listPortalLogin);
|
return builder.buildGxtInfoContactsFromPortalLogins(listPortalLogin);
|
||||||
|
}else{
|
||||||
|
workspaceLogger.warn("wsFolder with id: "+sharedItemId +" is not a: "+WorkspaceItemType.SHARED_FOLDER +", returning null");
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return new ArrayList<InfoContactModel>();
|
workspaceLogger.warn("wsFolder with id: "+sharedItemId +" is null, returning null");
|
||||||
|
return null;
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
workspaceLogger.error("Error in getListUserSharedByItemId ", e);
|
workspaceLogger.error("Error in getListUserSharedByItemId ", e);
|
||||||
|
@ -2161,27 +2146,20 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
Workspace workspace = getWorkspace();
|
if(isASharedFolder(folderSharedId, true)){
|
||||||
|
Workspace workspace = getWorkspace();
|
||||||
WorkspaceItem wsItem = workspace.getItem(folderSharedId);
|
WorkspaceItem wsItem = workspace.getItem(folderSharedId);
|
||||||
|
workspaceLogger.trace("workspace return an item with name "+wsItem.getName());
|
||||||
workspaceLogger.trace("workspace return an item with name "+wsItem.getName());
|
|
||||||
|
|
||||||
if(wsItem.getType().equals(WorkspaceItemType.SHARED_FOLDER)){
|
|
||||||
|
|
||||||
WorkspaceSharedFolder wsFolder = (WorkspaceSharedFolder) wsItem;
|
WorkspaceSharedFolder wsFolder = (WorkspaceSharedFolder) wsItem;
|
||||||
|
|
||||||
List<InfoContactModel> contacts = getListUserSharedByFolderSharedId(folderSharedId);
|
List<InfoContactModel> contacts = getListUserSharedByFolderSharedId(folderSharedId);
|
||||||
|
|
||||||
String sharedFolderName = wsFolder.getName();
|
String sharedFolderName = wsFolder.getName();
|
||||||
|
|
||||||
//RETURN A NEW FOLDER
|
//RETURN A NEW FOLDER
|
||||||
wsFolder.unShare();
|
wsFolder.unShare();
|
||||||
workspaceLogger.trace("no error incoming on unsharing");
|
workspaceLogger.trace("no error incoming on unsharing");
|
||||||
unShared = true;
|
unShared = true;
|
||||||
// if(newFolder!=null)
|
|
||||||
// unShared = true;
|
|
||||||
|
|
||||||
NotificationsProducer np = getNotificationProducer();
|
NotificationsProducer np = getNotificationProducer();
|
||||||
List<InfoContactModel> purgeMyContact = new ArrayList<InfoContactModel>(contacts.size()-1);
|
List<InfoContactModel> purgeMyContact = new ArrayList<InfoContactModel>(contacts.size()-1);
|
||||||
String myLogin = getMyLogin().getUsername();
|
String myLogin = getMyLogin().getUsername();
|
||||||
|
@ -2197,18 +2175,24 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
|
|
||||||
np.notifyFolderUnSharing(purgeMyContact, folderSharedId, sharedFolderName);
|
np.notifyFolderUnSharing(purgeMyContact, folderSharedId, sharedFolderName);
|
||||||
}
|
}
|
||||||
else
|
else{
|
||||||
workspaceLogger.info("the item with id: "+folderSharedId+ "is not "+WorkspaceItemType.SHARED_FOLDER);
|
String msg = "The item with id: "+folderSharedId+ "is not a base shared folder";
|
||||||
|
workspaceLogger.warn("the item with id: "+folderSharedId+ "is not "+WorkspaceItemType.SHARED_FOLDER +" or root shared folder");
|
||||||
|
throw new WorkspaceHandledException(msg);
|
||||||
|
}
|
||||||
|
|
||||||
} catch (InternalErrorException e) {
|
} catch (InternalErrorException e) {
|
||||||
workspaceLogger.error("Error in unSharedFolderByFolderSharedId ", e);
|
workspaceLogger.error("Error in unSharedFolderByFolderSharedId ", e);
|
||||||
String error = "An error occerred on unsharing folder. "+ e.getMessage();
|
String error = "An error occerred on unsharing folder. "+ e.getMessage();
|
||||||
throw new Exception(error);
|
throw new Exception(error);
|
||||||
|
|
||||||
|
} catch (WorkspaceHandledException e) {
|
||||||
|
String error = ConstantsExplorer.SERVER_ERROR+" unshare folder. "+e.getMessage();
|
||||||
|
throw new Exception(error);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
workspaceLogger.error("Error in unSharedFolderByFolderSharedId ", e);
|
workspaceLogger.error("Error in unSharedFolderByFolderSharedId ", e);
|
||||||
String error = ConstantsExplorer.SERVER_ERROR+" un share folder. Refresh folder and " +ConstantsExplorer.TRY_AGAIN;
|
String error = ConstantsExplorer.SERVER_ERROR+" unshare folder. Refresh folder and " +ConstantsExplorer.TRY_AGAIN;
|
||||||
e.printStackTrace();
|
|
||||||
throw new Exception(error);
|
throw new Exception(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2847,14 +2831,14 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
public List<ExtendedWorkspaceACL> getUserACLForFolderId(String folderId) throws Exception{
|
public List<ExtendedWorkspaceACL> getUserACLForFolderId(String folderId) throws Exception{
|
||||||
try {
|
try {
|
||||||
workspaceLogger.info("Get user ACL to FOLDER id: "+folderId);
|
workspaceLogger.info("Get user ACL to FOLDER id: "+folderId);
|
||||||
WorkspaceSharedFolder wsFolder = getSharedFolderForId(folderId);
|
WorkspaceFolder wsFolder = getSharedWorkspaceFolderForId(folderId);
|
||||||
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||||
List<WorkspaceACL> listACL = builder.getWorkspaceACLFromACLs(Arrays.asList(wsFolder.getACLUser()));
|
List<WorkspaceACL> listACL = builder.getWorkspaceACLFromACLs(Arrays.asList(wsFolder.getACLUser()));
|
||||||
|
|
||||||
List<ExtendedWorkspaceACL> listEACL = new ArrayList<ExtendedWorkspaceACL>(listACL.size());
|
List<ExtendedWorkspaceACL> listEACL = new ArrayList<ExtendedWorkspaceACL>(listACL.size());
|
||||||
for (WorkspaceACL workspaceACL : listACL) {
|
for (WorkspaceACL workspaceACL : listACL) {
|
||||||
|
|
||||||
boolean isBaseSharedFolder = (wsFolder.getId().compareTo(folderId)==0)?true:false;
|
boolean isBaseSharedFolder = isASharedFolder(wsFolder, true) ?true:false;
|
||||||
ExtendedWorkspaceACL eac = new ExtendedWorkspaceACL(workspaceACL.getId(), workspaceACL.getLabel(), workspaceACL.getDefaultValue(), workspaceACL.getUserType(), workspaceACL.getDescription(), wsFolder.getOwner().getPortalLogin(), folderId, isBaseSharedFolder);
|
ExtendedWorkspaceACL eac = new ExtendedWorkspaceACL(workspaceACL.getId(), workspaceACL.getLabel(), workspaceACL.getDefaultValue(), workspaceACL.getUserType(), workspaceACL.getDescription(), wsFolder.getOwner().getPortalLogin(), folderId, isBaseSharedFolder);
|
||||||
workspaceLogger.trace("ACL "+workspaceACL+" converted in: "+eac);
|
workspaceLogger.trace("ACL "+workspaceACL+" converted in: "+eac);
|
||||||
listEACL.add(eac);
|
listEACL.add(eac);
|
||||||
|
@ -2877,7 +2861,7 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
public String getACLsDescriptionForSharedFolderId(String folderId) throws Exception{
|
public String getACLsDescriptionForSharedFolderId(String folderId) throws Exception{
|
||||||
try {
|
try {
|
||||||
|
|
||||||
WorkspaceSharedFolder wsFolder = getSharedFolderForId(folderId);
|
WorkspaceFolder wsFolder = getSharedWorkspaceFolderForId(folderId);
|
||||||
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||||
return builder.getFormattedHtmlACLFromACLs(wsFolder.getACLOwner());
|
return builder.getFormattedHtmlACLFromACLs(wsFolder.getACLOwner());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -2887,37 +2871,47 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
private WorkspaceSharedFolder getSharedFolderForId(String folderId) throws Exception{
|
*
|
||||||
|
* @param folderId
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
private WorkspaceFolder getSharedWorkspaceFolderForId(String folderId) throws Exception{
|
||||||
|
|
||||||
if(folderId == null)
|
if(folderId == null)
|
||||||
throw new Exception("Folder id is null");
|
throw new Exception("Folder id is null");
|
||||||
|
|
||||||
workspaceLogger.trace("Get ACLsDescriptionForFolderId folder id: "+folderId);
|
workspaceLogger.trace("Get SharedFolderForId: "+folderId);
|
||||||
|
|
||||||
Workspace workspace = getWorkspace();
|
Workspace workspace = getWorkspace();
|
||||||
WorkspaceItem wsItem = workspace.getItem(folderId);
|
WorkspaceItem wsItem = null;
|
||||||
|
|
||||||
|
try{
|
||||||
|
wsItem = workspace.getItem(folderId);
|
||||||
|
}catch(Exception e){
|
||||||
|
workspaceLogger.error("Get SharedFolderForId error on folder id: "+folderId, e);
|
||||||
|
throw new Exception(ConstantsExplorer.SERVER_ERROR +" retrieving item with id: "+folderId+". Try again later!");
|
||||||
|
}
|
||||||
|
|
||||||
if(isASharedFolder(wsItem, false)){
|
if(isASharedFolder(wsItem, false)){
|
||||||
workspaceLogger.trace("Get SharedFolderForId: folder id "+folderId+" is shared");
|
workspaceLogger.trace("Get SharedFolderForId: folder id "+folderId+" is shared");
|
||||||
|
|
||||||
//TODO REMOVE wsItem.getIdSharedFolder()
|
//TODO REMOVE wsItem.getIdSharedFolder()
|
||||||
WorkspaceSharedFolder wsFolder = (WorkspaceSharedFolder) workspace.getItem(wsItem.getIdSharedFolder());
|
// WorkspaceSharedFolder wsFolder = (WorkspaceSharedFolder) workspace.getItem(wsItem.getIdSharedFolder());
|
||||||
|
|
||||||
|
WorkspaceFolder wsFolder = (WorkspaceFolder) wsItem;
|
||||||
if(wsFolder!=null){
|
if(wsFolder!=null){
|
||||||
workspaceLogger.trace("Get ACLsDescriptionForFolderId shared folder name is: "+wsFolder.getName());
|
workspaceLogger.info("Get SharedFolderForId return name: "+wsFolder.getName());
|
||||||
return wsFolder;
|
return wsFolder;
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
workspaceLogger.trace("Source item is not a shared folder, throw exception");
|
workspaceLogger.warn("Source item is not a shared folder, throw exception");
|
||||||
throw new Exception("Source item is not a shared folder");
|
throw new Exception("Source item is not a shared folder");
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO USE THIS
|
|
||||||
// return (WorkspaceFolder) wsItem;
|
|
||||||
}else{
|
}else{
|
||||||
workspaceLogger.trace("Source item is null or not shared, throw exception");
|
workspaceLogger.warn("Source item is null or not shared folder, throw exception");
|
||||||
throw new Exception("Source item is null or not shared");
|
throw new Exception("Source item is null or not shared folder for id: "+folderId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2960,7 +2954,6 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
workspaceLogger.error("Error in server isASharedFolder", e);
|
workspaceLogger.error("Error in server isASharedFolder", e);
|
||||||
|
@ -3223,18 +3216,19 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
if(folderId==null)
|
if(folderId==null)
|
||||||
return admins;
|
return admins;
|
||||||
try {
|
try {
|
||||||
|
|
||||||
Workspace workspace = getWorkspace();
|
|
||||||
WorkspaceItem item = workspace.getItem(folderId);
|
|
||||||
workspaceLogger.info("Getting administator/s to folder: "+folderId);
|
workspaceLogger.info("Getting administator/s to folder: "+folderId);
|
||||||
|
WorkspaceFolder wsFolder = getSharedWorkspaceFolderForId(folderId);
|
||||||
if(item!=null && item.getType().equals(WorkspaceItemType.SHARED_FOLDER)){
|
if(isASharedFolder(wsFolder, true)){
|
||||||
WorkspaceSharedFolder sharedFolder = (WorkspaceSharedFolder) item;
|
|
||||||
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||||
return builder.buildGxtInfoContactsFromPortalLogins(sharedFolder.getAdministrators());
|
WorkspaceSharedFolder wsSharedFolder = (WorkspaceSharedFolder) wsFolder;
|
||||||
|
return builder.buildGxtInfoContactsFromPortalLogins(wsSharedFolder.getAdministrators());
|
||||||
}else
|
}else
|
||||||
throw new Exception("The item is null or not instanceof "+WorkspaceItemType.SHARED_FOLDER);
|
throw new WorkspaceHandledException("the item with "+folderId +" is not a base shared folder!");
|
||||||
|
|
||||||
|
} catch (WorkspaceHandledException e){
|
||||||
|
workspaceLogger.error("Error in server getAdministratorsByFolderId: "+e.getMessage());
|
||||||
|
String error = ConstantsExplorer.SERVER_ERROR +" getting Administrators: "+e.getMessage();
|
||||||
|
throw new Exception(error);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
workspaceLogger.error("Error in server getAdministratorsByFolderId: "+e.getMessage());
|
workspaceLogger.error("Error in server getAdministratorsByFolderId: "+e.getMessage());
|
||||||
workspaceLogger.error(e);
|
workspaceLogger.error(e);
|
||||||
|
@ -3278,28 +3272,30 @@ public class GWTWorkspaceServiceImpl extends RemoteServiceServlet implements GWT
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
WorkspaceFolder sharedFolder = getSharedWorkspaceFolderForId(identifier);
|
||||||
|
|
||||||
Workspace workspace = getWorkspace();
|
//IS ROOT??
|
||||||
WorkspaceItem item = workspace.getItem(identifier);
|
if(isASharedFolder(sharedFolder, true)){
|
||||||
|
|
||||||
if(item!=null && item.getType().equals(WorkspaceItemType.SHARED_FOLDER)){
|
|
||||||
WorkspaceSharedFolder sharedFolder = (WorkspaceSharedFolder) item;
|
|
||||||
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
GWTWorkspaceBuilder builder = getGWTWorkspaceBuilder();
|
||||||
|
//CASTING TO ROOT
|
||||||
workspaceLogger.info("Read getPrivilege from HL: "+sharedFolder.getACLUser());
|
WorkspaceSharedFolder wsSharedFolder = (WorkspaceSharedFolder) sharedFolder;
|
||||||
List<WorkspaceACL> wsAcls = builder.getWorkspaceACLFromACLs(Arrays.asList(sharedFolder.getPrivilege()));
|
workspaceLogger.info("Read getPrivilege from HL: "+wsSharedFolder.getACLUser());
|
||||||
|
List<WorkspaceACL> wsAcls = builder.getWorkspaceACLFromACLs(Arrays.asList(wsSharedFolder.getPrivilege()));
|
||||||
|
|
||||||
if(wsAcls==null || wsAcls.isEmpty()){
|
if(wsAcls==null || wsAcls.isEmpty()){
|
||||||
workspaceLogger.info("Converted ACLBySharedFolderId is null or empty, returning null");
|
workspaceLogger.info("Converted ACLBySharedFolderId is null or empty, returning null");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
workspaceLogger.info("Returning first acl with id: "+wsAcls.get(0).getId());
|
workspaceLogger.info("Returning first acl with id: "+wsAcls.get(0).getId());
|
||||||
return wsAcls.get(0);
|
return wsAcls.get(0);
|
||||||
|
}
|
||||||
}else
|
else{
|
||||||
throw new Exception("The item is null or not instanceof "+WorkspaceItemType.SHARED_FOLDER);
|
workspaceLogger.warn("WorkspaceFolder "+sharedFolder+" is not type of "+WorkspaceItemType.SHARED_FOLDER+ ", returning null");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
workspaceLogger.error("Error in server ACLBySharedFolderId: "+e.getMessage());
|
workspaceLogger.error("Error in server ACLBySharedFolderId: "+e.getMessage());
|
||||||
workspaceLogger.error(e);
|
workspaceLogger.error(e);
|
||||||
|
|
Loading…
Reference in New Issue