Added Users list filter by keywords
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-sharing-widget@181291 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
a6ebcfaa4e
commit
9a41022e2c
|
@ -23,6 +23,12 @@ public interface WorkspaceSharingService extends RemoteService {
|
||||||
AllowAccess accessToFolderLink(String itemId) throws Exception;
|
AllowAccess accessToFolderLink(String itemId) throws Exception;
|
||||||
|
|
||||||
List<InfoContactModel> getAllContacts() throws Exception;
|
List<InfoContactModel> getAllContacts() throws Exception;
|
||||||
|
|
||||||
|
List<InfoContactModel> getUsersByKeyword(String keyword) throws Exception;
|
||||||
|
|
||||||
|
List<GGroup> getVREList() throws Exception;
|
||||||
|
|
||||||
|
List<InfoContactModel> getAllContactsByVRE(GGroup gGroup) throws Exception;
|
||||||
|
|
||||||
List<InfoContactModel> getListUserSharedByFolderSharedId(String folderSharedId) throws Exception;
|
List<InfoContactModel> getListUserSharedByFolderSharedId(String folderSharedId) throws Exception;
|
||||||
|
|
||||||
|
@ -62,8 +68,5 @@ public interface WorkspaceSharingService extends RemoteService {
|
||||||
|
|
||||||
boolean addAdministratorsByFolderId(String itemId, List<String> listContactLogins) throws Exception;
|
boolean addAdministratorsByFolderId(String itemId, List<String> listContactLogins) throws Exception;
|
||||||
|
|
||||||
List<GGroup> getVREList() throws Exception;
|
|
||||||
|
|
||||||
List<InfoContactModel> getUsersByKeyword(String keyword) throws Exception;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,12 @@ public interface WorkspaceSharingServiceAsync {
|
||||||
.create(WorkspaceSharingService.class);
|
.create(WorkspaceSharingService.class);
|
||||||
|
|
||||||
void getAllContacts(AsyncCallback<List<InfoContactModel>> callback);
|
void getAllContacts(AsyncCallback<List<InfoContactModel>> callback);
|
||||||
|
|
||||||
|
void getUsersByKeyword(String keyword, AsyncCallback<List<InfoContactModel>> callback);
|
||||||
|
|
||||||
|
void getVREList(AsyncCallback<List<GGroup>> callback);
|
||||||
|
|
||||||
|
void getAllContactsByVRE(GGroup gGroup, AsyncCallback<List<InfoContactModel>> callback);
|
||||||
|
|
||||||
void getListUserSharedByFolderSharedId(String folderSharedId, AsyncCallback<List<InfoContactModel>> callback);
|
void getListUserSharedByFolderSharedId(String folderSharedId, AsyncCallback<List<InfoContactModel>> callback);
|
||||||
|
|
||||||
|
@ -62,8 +68,5 @@ public interface WorkspaceSharingServiceAsync {
|
||||||
|
|
||||||
void addAdministratorsByFolderId(String itemId, List<String> listContactLogins, AsyncCallback<Boolean> callback);
|
void addAdministratorsByFolderId(String itemId, List<String> listContactLogins, AsyncCallback<Boolean> callback);
|
||||||
|
|
||||||
void getVREList(AsyncCallback<List<GGroup>> callback);
|
|
||||||
|
|
||||||
void getUsersByKeyword(String keyword, AsyncCallback<List<InfoContactModel>> callback);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -285,6 +285,45 @@ public class GWTWorkspaceSharingBuilder {
|
||||||
|
|
||||||
return listContactsModel;
|
return listContactsModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param info
|
||||||
|
* Portal Context info
|
||||||
|
* @return the list of users
|
||||||
|
* @throws Exception
|
||||||
|
* Error
|
||||||
|
*/
|
||||||
|
public List<InfoContactModel> buildGXTListContactsModelFromUserModel(PortalContextInfo info,GGroup gGroup) throws Exception {
|
||||||
|
|
||||||
|
List<GCubeUser> listUsers = new LiferayUserManager().listUsersByGroup(gGroup.getGroupId());
|
||||||
|
|
||||||
|
if (listUsers == null) {
|
||||||
|
logger.error("No users found in: " + info.getCurrentScope());
|
||||||
|
throw new Exception("An error occurred on recovering users from Portal, try again later");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<InfoContactModel> listContactsModel = new ArrayList<InfoContactModel>();
|
||||||
|
|
||||||
|
logger.trace("List<UserModel> size returned from Portal is: " + listUsers.size());
|
||||||
|
|
||||||
|
logger.trace("Building list contact model list user model");
|
||||||
|
for (GCubeUser userModel : listUsers) {
|
||||||
|
String fullName = userModel.getFullname();
|
||||||
|
|
||||||
|
if (fullName != null && !fullName.isEmpty())
|
||||||
|
listContactsModel.add(
|
||||||
|
new InfoContactModel(userModel.getUserId() + "", userModel.getUsername(), fullName, false));
|
||||||
|
else
|
||||||
|
logger.trace("buildGXTListContactsModel is not returning user: " + userModel.getUsername()
|
||||||
|
+ "because name is null or empty");
|
||||||
|
}
|
||||||
|
logger.trace("List contact model completed, return " + listContactsModel.size() + " contacts");
|
||||||
|
|
||||||
|
return listContactsModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public ArrayList<GGroup> getVREList(PortalContextInfo info) throws Exception {
|
public ArrayList<GGroup> getVREList(PortalContextInfo info) throws Exception {
|
||||||
|
|
||||||
|
|
|
@ -52,8 +52,6 @@ import org.gcube.portlets.widgets.workspacesharingwidget.shared.SessionExpiredEx
|
||||||
import org.gcube.portlets.widgets.workspacesharingwidget.shared.WorkspaceACL;
|
import org.gcube.portlets.widgets.workspacesharingwidget.shared.WorkspaceACL;
|
||||||
import org.gcube.vomanagement.usermanagement.GroupManager;
|
import org.gcube.vomanagement.usermanagement.GroupManager;
|
||||||
import org.gcube.vomanagement.usermanagement.UserManager;
|
import org.gcube.vomanagement.usermanagement.UserManager;
|
||||||
import org.gcube.vomanagement.usermanagement.exception.UserManagementSystemException;
|
|
||||||
import org.gcube.vomanagement.usermanagement.exception.UserRetrievalFault;
|
|
||||||
import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager;
|
import org.gcube.vomanagement.usermanagement.impl.LiferayGroupManager;
|
||||||
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
|
import org.gcube.vomanagement.usermanagement.impl.LiferayUserManager;
|
||||||
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
|
import org.gcube.vomanagement.usermanagement.model.GCubeGroup;
|
||||||
|
@ -212,7 +210,40 @@ public class WorkspaceSharingServiceImpl extends RemoteServiceServlet implements
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<InfoContactModel> getAllContactsByVRE(GGroup gGroup) throws Exception {
|
||||||
|
|
||||||
|
try {
|
||||||
|
logger.info("Call getAllContactsByVRE(): "+gGroup);
|
||||||
|
|
||||||
|
if (isTestMode()) {
|
||||||
|
logger.debug("WORKSPACE PORTLET IS IN TEST MODE - RETURN TEST USERS AND GROUPS");
|
||||||
|
GWTWorkspaceSharingBuilder.getHashTestUsers();
|
||||||
|
List<InfoContactModel> listContactsModel = new ArrayList<InfoContactModel>();
|
||||||
|
for (String key : GWTWorkspaceSharingBuilder.getHashTestUsers().keySet()) {
|
||||||
|
InfoContactModel contact = GWTWorkspaceSharingBuilder.getHashTestUsers().get(key);
|
||||||
|
listContactsModel.add(contact);
|
||||||
|
}
|
||||||
|
return listContactsModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
PortalContextInfo info = WsUtil.getPortalContext(this.getThreadLocalRequest());
|
||||||
|
|
||||||
|
GWTWorkspaceSharingBuilder builder = new GWTWorkspaceSharingBuilder();
|
||||||
|
|
||||||
|
List<InfoContactModel> listContactsModel = builder.buildGXTListContactsModelFromUserModel(info,gGroup);
|
||||||
|
|
||||||
|
// listContactsModel.addAll(builder.getGXTListContactsModelFromVOs(info));
|
||||||
|
|
||||||
|
logger.debug("Get all Gateway Users returning a list having size: " + listContactsModel.size());
|
||||||
|
return listContactsModel;
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("Error in getAllContactsByVRE(): " + e.getLocalizedMessage(), e);
|
||||||
|
throw new Exception("Error retrieving the contacts in the VRE!", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
|
|
Loading…
Reference in New Issue