@Override public void execute(Event<UIMembersPortlet> event) throws Exception { WebuiRequestContext ctx = event.getRequestContext(); UIMembersPortlet uiMembersPortlet = event.getSource(); UIProfileUserSearch uiSearch = uiMembersPortlet.uiSearchMemberOfSpace; String charSearch = ctx.getRequestParameter(OBJECTID); ResourceBundle resApp = ctx.getApplicationResourceBundle(); String defaultNameVal = resApp.getString(uiSearch.getId() + ".label.name"); String defaultPosVal = resApp.getString(uiSearch.getId() + ".label.position"); String defaultSkillsVal = resApp.getString(uiSearch.getId() + ".label.skills"); ProfileFilter filter = uiSearch.getProfileFilter(); try { uiMembersPortlet.setSelectedChar(charSearch); if (charSearch != null) { // search by alphabet ((UIFormStringInput) uiSearch.getChildById(SEARCH)).setValue(defaultNameVal); ((UIFormStringInput) uiSearch.getChildById(Profile.POSITION)).setValue(defaultPosVal); ((UIFormStringInput) uiSearch.getChildById(Profile.EXPERIENCES_SKILLS)) .setValue(defaultSkillsVal); filter.setName(charSearch); filter.setPosition(""); filter.setSkills(""); filter.setFirstCharacterOfName(charSearch.toCharArray()[0]); if (ALL_FILTER.equals(charSearch)) { filter.setFirstCharacterOfName(EMPTY_CHARACTER); filter.setName(""); } uiSearch.setRawSearchConditional(""); } uiSearch.setProfileFilter(filter); uiSearch.setNewSearch(true); } catch (Exception e) { uiSearch.setIdentityList(new ArrayList<Identity>()); } uiMembersPortlet.loadSearch(); uiMembersPortlet.setLoadAtEnd(false); }
@Override public void execute(Event<UIInvitations> event) throws Exception { UIInvitations uiInvitations = event.getSource(); WebuiRequestContext ctx = event.getRequestContext(); UIProfileUserSearch uiSearch = uiInvitations.uiProfileUserSearch; String charSearch = ctx.getRequestParameter(OBJECTID); ProfileFilter filter = uiInvitations.uiProfileUserSearch.getProfileFilter(); try { uiInvitations.setSelectedChar(charSearch); if (charSearch != null) { // search by alphabet filter.setName(charSearch); filter.setPosition(""); filter.setSkills(""); filter.setFirstCharacterOfName(charSearch.toCharArray()[0]); if (UIProfileUserSearch.ALL_FILTER.equals(charSearch)) { filter.setFirstCharacterOfName(UIProfileUserSearch.EMPTY_CHARACTER); filter.setName(""); } uiSearch.setRawSearchConditional(""); } else if (UIProfileUserSearch.ALL_FILTER.equals(uiSearch.getRawSearchConditional())) { uiInvitations.setSelectedChar(UIProfileUserSearch.ALL_FILTER); } uiSearch.setProfileFilter(filter); uiSearch.setNewSearch(true); uiInvitations.uiProfileUserSearch.setLoadFromSearch(true); } catch (Exception e) { uiSearch.setIdentityList(new ArrayList<Identity>()); } uiInvitations.loadSearch(); uiInvitations.setLoadAtEnd(false); }
public void testGetIdentitiesByName() throws Exception { User user = userHandler.createUserInstance("alex"); user.setFirstName(""); user.setLastName(""); user.setEmail(""); userHandler.createUser(user, true); User found = userHandler.findUserByName("alex"); assertNotNull(found); String providerId = OrganizationIdentityProvider.NAME; Identity identity = new Identity(providerId, "alex"); identityManager.saveIdentity(identity); Profile profile = new Profile(identity); profile.setProperty(Profile.USERNAME, "alex"); profile.setProperty(Profile.FIRST_NAME, "Mary"); profile.setProperty(Profile.LAST_NAME, "Williams"); profile.setProperty(Profile.FULL_NAME, "Mary " + "Williams"); profile.setProperty(Profile.POSITION, "developer"); profile.setProperty(Profile.GENDER, "female"); identityManager.saveProfile(profile); identity.setProfile(profile); tearDownIdentityList.add(identity); ProfileFilter pf = new ProfileFilter(); // Search by name full name pf.setName("Mary"); ListAccess<Identity> idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertEquals(1, idsListAccess.getSize()); pf.setName("Williams"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertEquals(1, idsListAccess.getSize()); pf.setName("Mary Williams"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertEquals(1, idsListAccess.getSize()); // update profile name profile.setProperty(Profile.FIRST_NAME, "Mary-James"); profile.setProperty(Profile.FULL_NAME, "Mary-James Williams"); identityManager.updateProfile(profile); Identity alex = identityManager.getOrCreateIdentity(OrganizationIdentityProvider.NAME, "alex", true); assertEquals("Mary-James Williams", alex.getProfile().getFullName()); pf.setName("Mary-James Williams"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertEquals(1, idsListAccess.getSize()); // List<ExoSocialActivity> activities = activityManager.getActivitiesWithListAccess(identity).loadAsList(0, 20); for (ExoSocialActivity act : activities) { List<ExoSocialActivity> comments = activityManager.getCommentsWithListAccess(act).loadAsList(0, 20); for (ExoSocialActivity cmt : comments) { activityManager.deleteComment(act, cmt); } activityManager.deleteActivity(act); } userHandler.removeUser(user.getUserName(), false); }
/** Test {@link IdentityManager#getIdentitiesByProfileFilter(String, ProfileFilter, boolean)} */ public void testGetIdentitiesByProfileFilter() throws Exception { String providerId = OrganizationIdentityProvider.NAME; populateIdentities(5, true); ProfileFilter pf = new ProfileFilter(); ListAccess<Identity> idsListAccess = null; { // Test cases with name of profile. // Filter identity by first character. pf.setFirstCharacterOfName('F'); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(0, idsListAccess.getSize()); pf.setFirstCharacterOfName('L'); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // Filter identity by name. pf.setFirstCharacterOfName('\u0000'); pf.setName("FirstName"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("FirstName1"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(1, idsListAccess.getSize()); // pf.setName(""); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("*"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("n%me"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("n*me"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("%me"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("%name%"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("n%me"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("fir%n%me"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("noname"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(0, idsListAccess.getSize()); } { // Test cases with position of profile. pf.setName(""); pf.setPosition("dev"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setPosition("d%v"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setPosition("test"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(0, idsListAccess.getSize()); } { // Test cases with gender of profile. pf.setPosition(""); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); } { // Other test cases pf.setName("n**me%"); pf.setPosition("*%"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(5, idsListAccess.getSize()); // pf.setName("noname"); pf.setPosition("*%"); idsListAccess = identityManager.getIdentitiesByProfileFilter(providerId, pf, false); assertNotNull(idsListAccess); assertEquals(0, idsListAccess.getSize()); } // Tests with the case: add new identity and delete it after that to check { ProfileFilter profileFilter = new ProfileFilter(); ListAccess<Identity> identityListAccess = identityManager.getIdentitiesByProfileFilter("organization", profileFilter, false); assertEquals(5, identityListAccess.getSize()); // Identity testIdentity = populateIdentity("test", false); identityListAccess = identityManager.getIdentitiesByProfileFilter("organization", profileFilter, false); assertEquals(6, identityListAccess.getSize()); // identityManager.deleteIdentity(testIdentity); identityListAccess = identityManager.getIdentitiesByProfileFilter("organization", profileFilter, false); assertEquals(5, identityListAccess.getSize()); } // Test with excluded identity list { Identity excludeIdentity = identityManager.getOrCreateIdentity( OrganizationIdentityProvider.NAME, "username1", false); List<Identity> excludedIdentities = new ArrayList<Identity>(); excludedIdentities.add(excludeIdentity); ProfileFilter profileFilter = new ProfileFilter(); profileFilter.setExcludedIdentityList(excludedIdentities); ListAccess<Identity> identityListAccess = identityManager.getIdentitiesByProfileFilter( OrganizationIdentityProvider.NAME, profileFilter, false); assertEquals(4, identityListAccess.getSize()); Identity[] identityArray = identityListAccess.load(0, 3); assertEquals(3, identityArray.length); } }