Ejemplo n.º 1
0
    @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);
    }
Ejemplo n.º 2
0
    @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);
    }
Ejemplo n.º 3
0
  /** 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);
    }
  }