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;
|
||||
|
||||
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;
|
||||
|
||||
|
@ -62,8 +68,5 @@ public interface WorkspaceSharingService extends RemoteService {
|
|||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
|
@ -62,8 +68,5 @@ public interface WorkspaceSharingServiceAsync {
|
|||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @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 {
|
||||
|
||||
|
|
|
@ -52,8 +52,6 @@ import org.gcube.portlets.widgets.workspacesharingwidget.shared.SessionExpiredEx
|
|||
import org.gcube.portlets.widgets.workspacesharingwidget.shared.WorkspaceACL;
|
||||
import org.gcube.vomanagement.usermanagement.GroupManager;
|
||||
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.LiferayUserManager;
|
||||
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)
|
||||
|
|
Loading…
Reference in New Issue