Package com.linkedin.restli.examples.groups.api

Examples of com.linkedin.restli.examples.groups.api.GroupMembership


  }

  @Test(dataProvider = TestConstants.RESTLI_PROTOCOL_1_2_PREFIX + "requestMembershipsBuilderDataProviderEntity")
  public void testAssociationEntityUpdate(RootBuilderWrapper<CompoundKey, GroupMembership> builders, ProtocolVersion version, String expectedUri) throws IOException, RestException
  {
    GroupMembership membership = new GroupMembership();
    membership.setLastName("Anderson");
    PatchRequest<GroupMembership> patch = PatchGenerator.diffEmpty(membership);
    GroupMembershipsBuilders.Key key = new GroupMembershipsBuilders.Key().setGroupId(7).setMemberId(1);

    Request<EmptyRecord>  request = builders.partialUpdate().id(key).input(patch).build();
    checkRequestBuilder(request, ResourceMethod.PARTIAL_UPDATE, EmptyResponseDecoder.class, expectedUri, patch, version);
View Full Code Here


    throws RemoteInvocationException
  {
    // Setup - batch create two group memberships
    CompoundKey key1 = buildCompoundKey(1, 1);
    CompoundKey key2 = buildCompoundKey(2, 1);
    GroupMembership groupMembership1 =
        buildGroupMembership(null, "alfred@test.linkedin.com", "Alfred", "Hitchcock");
    GroupMembership groupMembership2 =
        buildGroupMembership(null, "bruce@test.linkedin.com", "Bruce", "Willis");
    Map<CompoundKey, UpdateStatus> results = REST_CLIENT.sendRequest(membershipBuilders.batchUpdate()
                                                      .input(key1, groupMembership1)
                                                      .input(key2, groupMembership2)
                                                      .build()).getResponse().getEntity().getResults();
    Assert.assertEquals(results.get(key1).getStatus().intValue(), 204);
    Assert.assertEquals(results.get(key2).getStatus().intValue(), 204);

    // BatchGet memberships
    final RestliRequestOptions requestOptions = membershipBuilders.getRequestOptions();
    Request<BatchKVResponse<CompoundKey, EntityResponse<GroupMembership>>> request = new GroupMembershipsRequestBuilders(requestOptions).batchGet()
                                  .ids(key1, key2)
                                  .fields(GroupMembership.fields().contactEmail())
                                  .build();
    Map<CompoundKey, EntityResponse<GroupMembership>> groupMemberships =
        REST_CLIENT.sendRequest(request).getResponse().getEntity().getResults();
    Assert.assertTrue(groupMemberships.containsKey(key1));
    Assert.assertEquals(groupMemberships.get(key1).getEntity().getContactEmail(), "alfred@test.linkedin.com");
    Assert.assertTrue(groupMemberships.containsKey(key2));
    Assert.assertEquals(groupMemberships.get(key2).getEntity().getContactEmail(), "bruce@test.linkedin.com");

    // Batch partial update
    GroupMembership patchedGroupMembership1 = buildGroupMembership(null, "ALFRED@test.linkedin.com", "ALFRED", "Hitchcock");
    GroupMembership patchedGroupMembership2 = buildGroupMembership(null, "BRUCE@test.linkedin.com", "BRUCE", "Willis");

    Map<CompoundKey, PatchRequest<GroupMembership>> patchInputs = new HashMap<CompoundKey, PatchRequest<GroupMembership>>();
    patchInputs.put(key1, PatchGenerator.diff(groupMembership1, patchedGroupMembership1));
    patchInputs.put(key2, PatchGenerator.diff(groupMembership2, patchedGroupMembership2));
View Full Code Here

  public void testAssociationCreateGetDelete(ProtocolVersion version, RootBuilderWrapper<CompoundKey, GroupMembership> membershipBuilders)
    throws RemoteInvocationException
  {
    // Setup - create group memberships
    CompoundKey key1 = buildCompoundKey(1, 1);
    GroupMembership groupMembership1 =
        buildGroupMembership(null, "alfred@test.linkedin.com", "Alfred", "Hitchcock");

    Response<EmptyRecord> response = REST_CLIENT.sendRequest(membershipBuilders.update().id(key1)
                                                      .input(groupMembership1)
                                                      .build()).getResponse();
    Assert.assertEquals(response.getStatus(), 204);

    // Get membership
    Request<GroupMembership> getRequest = membershipBuilders.get()
                                  .id(key1)
                                  .fields(GroupMembership.fields().contactEmail())
                                  .build();
    GroupMembership groupMembership = REST_CLIENT.sendRequest(getRequest).getResponse().getEntity();
    Assert.assertEquals(groupMembership.getContactEmail(), "alfred@test.linkedin.com");

    // Delete the newly created group membership
    Response<EmptyRecord> deleteResponse = REST_CLIENT.sendRequest(membershipBuilders.delete().id(key1).build()).getResponse();
    Assert.assertEquals(deleteResponse.getStatus(), 204);
View Full Code Here

  {
    Integer id = _sequence.incrementAndGet();
    group.setId(id);
    _data.put(id, group);

    GroupMembership m = group.getOwner();
    m.setGroupID(id);
    _membershipMgr.save(m);

    return group;
  }
View Full Code Here

      if (query.getCount() > 0 && query.getStart() + query.getCount() < counter)
      {
        break;
      }

      GroupMembership value = entry.getValue();

      boolean match =
          (query.getGroupID() == GroupMembershipSearchQuery.WILDCARD || query.getGroupID() == value.getGroupID());
      if (query.getFirstName() != null)
      {
        match = match && query.getFirstName().equals(value.getFirstName());
      }
      if (query.getLastName() != null)
      {
        match = match && query.getLastName().equals(value.getLastName());
      }
      if (query.getMembershipLevel() != null)
      {
        match = match && query.getMembershipLevel().equals(value.getMembershipLevel());
      }

      if (match)
      {
        result.add(value);
View Full Code Here

 
  // This is a hack for the sample resource. So as not to write a separate persistence for this resource,
  // convert from and to GroupMembership.
  private static GroupMembership toGroupMembership(ComplexKeyGroupMembership complexKeyMembership)
  {
    GroupMembership groupMembership = new GroupMembership(complexKeyMembership.data());
    GroupMembershipKey complexKey = complexKeyMembership.getId();
    CompoundKey compoundKey =
        new CompoundKey().append(GROUP_ID, complexKey.getGroupID())
                         .append(MEMBER_ID, complexKey.getMemberID());
    groupMembership.setId(URIParamUtils.encodeKeyForBody(compoundKey,
                                                         true,
                                                         AllProtocolVersions.BASELINE_PROTOCOL_VERSION));
    groupMembership.setMemberID(complexKey.getMemberID());
    groupMembership.setGroupID(complexKey.getGroupID());
    return groupMembership;
  }
View Full Code Here

    Map<CompoundKey, GroupMembership> result = new HashMap<CompoundKey, GroupMembership>(ids.size());
    Map<CompoundKey, RestLiServiceException> errors = new HashMap<CompoundKey, RestLiServiceException>();
    Iterator<CompoundKey> iterator = ids.iterator();
    while (iterator.hasNext()) {
      CompoundKey key = iterator.next();
      GroupMembership membership = _app.getMembershipMgr().get(key);
      if (membership != null)
      {
        result.put(key, membership);
      }
      else
View Full Code Here

  {
    Map<CompoundKey, UpdateResponse> results = new HashMap<CompoundKey, UpdateResponse>();
    for (Map.Entry<CompoundKey, GroupMembership> entry : entities.getData().entrySet())
    {
      CompoundKey id = entry.getKey();
      GroupMembership membership = entry.getValue();

      membership.setId(URIParamUtils.encodeKeyForBody(id, true, AllProtocolVersions.BASELINE_PROTOCOL_VERSION));
      membership.setGroupID(((Integer)id.getPart(GROUP_ID)));
      membership.setMemberID(((Integer)id.getPart(MEMBER_ID)));
      _app.getMembershipMgr().save(membership);
      results.put(id, new UpdateResponse(S_204_NO_CONTENT));
    }
    return new BatchUpdateResult<CompoundKey, GroupMembership>(results);
  }
View Full Code Here

    for (Map.Entry<CompoundKey, PatchRequest<GroupMembership>> entry: patches.getData().entrySet())
    {
      CompoundKey key = entry.getKey();
      PatchRequest<GroupMembership> patch = entry.getValue();

      GroupMembership groupMembership = _app.getMembershipMgr().get(key);

      if (groupMembership == null)
      {
        results.put(key, new UpdateResponse(HttpStatus.S_404_NOT_FOUND));
      }
View Full Code Here

     * @see AssociationResource#update
     */
  @Override
  public UpdateResponse update(CompoundKey id, PatchRequest<GroupMembership> patch)
  {
    GroupMembership membership = _app.getMembershipMgr().get(id);
    try
    {
      PatchApplier.applyPatch(membership, patch);
    }
    catch (DataProcessingException e)
    {
      return new UpdateResponse(S_400_BAD_REQUEST);
    }

    validate(membership);

    // we set groupID, memberID based on the URI
    membership.setId(URIParamUtils.encodeKeyForBody(id, true, AllProtocolVersions.BASELINE_PROTOCOL_VERSION));
    membership.setGroupID(getContext().getPathKeys().getAsInt(GROUP_ID));
    membership.setMemberID(getContext().getPathKeys().getAsInt(MEMBER_ID));

    _app.getMembershipMgr().save(membership);

    return new UpdateResponse(S_204_NO_CONTENT);
  }
View Full Code Here

TOP

Related Classes of com.linkedin.restli.examples.groups.api.GroupMembership

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.