Beispiel #1
0
  public Set<Entity> search(String entityType, String searchTerm) {

    Set<Entity> results = new HashSet<Entity>();
    EntityEnum entityEnum = EntityEnum.getEntityEnum(entityType);
    EntityIdentifier[] identifiers;
    Class identifierType;

    // if the entity type is a group, use the group service's findGroup method
    // to locate it
    if (entityEnum.isGroup()) {
      identifiers =
          GroupService.searchForGroups(searchTerm, GroupService.CONTAINS, entityEnum.getClazz());
      identifierType = IEntityGroup.class;
    }
    // otherwise use the getGroupMember method
    else {
      identifiers =
          GroupService.searchForEntities(searchTerm, GroupService.CONTAINS, entityEnum.getClazz());
      identifierType = entityEnum.getClazz();
    }

    for (EntityIdentifier entityIdentifier : identifiers) {
      if (entityIdentifier.getType().equals(identifierType)) {
        IGroupMember groupMember = GroupService.getGroupMember(entityIdentifier);
        Entity entity = getEntity(groupMember);
        results.add(entity);
      }
    }

    return results;
  }