コード例 #1
0
  /*
   * Gets a List of all User tuples for a specified name.
   */
  public List<RESTUserV1> getUsersByName(final String userName) {
    final List<RESTUserV1> output = new ArrayList<RESTUserV1>();

    try {
      final BaseRestCollectionV1<RESTUserV1, RESTUserCollectionV1> users;
      if (collectionsCache.containsKey(RESTUserV1.class)) {
        users = collectionsCache.get(RESTUserV1.class, RESTUserCollectionV1.class);
      } else {
        /* We need to expand the Users collection */
        final ExpandDataTrunk expand = new ExpandDataTrunk();
        expand.setBranches(
            CollectionUtilities.toArrayList(new ExpandDataTrunk(new ExpandDataDetails("users"))));

        final String expandString = mapper.writeValueAsString(expand);
        // final String expandEncodedString = URLEncoder.encode(expandString, "UTF-8");

        users = client.getJSONUsers(expandString);
        collectionsCache.add(RESTUserV1.class, users);
      }

      if (users != null) {
        for (RESTUserV1 user : users.getItems()) {
          if (user.getName().equals(userName)) {
            output.add(user);
          }
        }
      }

      return output;
    } catch (Exception e) {
      log.error(ExceptionUtilities.getStackTrace(e));
    }
    return null;
  }