@Override public void execute(OperationRequest operation, OperationContext context, ParticipantId participant) throws InvalidRequestException { FetchProfilesRequest request = OperationUtil.getRequiredParameter(operation, ParamsProperty.FETCH_PROFILES_REQUEST); List<String> requestAddresses = request.getParticipantIds(); List<ParticipantProfile> profiles = Lists.newArrayListWithCapacity(requestAddresses.size()); for (String address : requestAddresses) { ParticipantProfile participantProfile = profilesFetcher.fetchProfile(address); profiles.add(participantProfile); } FetchProfilesResult result = new FetchProfilesResult(profiles); Map<ParamsProperty, Object> data = ImmutableMap.<ParamsProperty, Object> of(ParamsProperty.FETCH_PROFILES_RESULT, result); context.constructResponse(operation, data); } }
@Override protected void setUp() { MockitoAnnotations.initMocks(this); FetchProfilesRequest request = new FetchProfilesRequest(Lists.newArrayList(ADDRESS)); when(operation.getParameter(ParamsProperty.FETCH_PROFILES_REQUEST)).thenReturn(request); when(fakeProfilesFetcher.fetchProfile(ADDRESS)).thenReturn( new ParticipantProfile(ADDRESS, NAME, IMAGE_URL, PROFILE_URL)); service = new FetchProfilesService(fakeProfilesFetcher); }
@Override protected void setUp() { MockitoAnnotations.initMocks(this); FetchProfilesRequest request = new FetchProfilesRequest(Lists.newArrayList(ADDRESS)); when(operation.getParameter(ParamsProperty.FETCH_PROFILES_REQUEST)).thenReturn(request); when(fakeProfilesFetcher.fetchProfile(ADDRESS)).thenReturn( new ParticipantProfile(ADDRESS, NAME, IMAGE_URL, PROFILE_URL)); service = new FetchProfilesService(fakeProfilesFetcher); }
/** * Fetches multiple profiles using Data API. */ private FetchProfilesResult fetchProfilesFromService(ParticipantId user, List<String> addresses) { OperationQueue opQueue = new OperationQueue(); FetchProfilesRequest request = new FetchProfilesRequest(addresses); opQueue.fetchProfiles(request); OperationContextImpl context = new OperationContextImpl(waveletProvider, converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil); OperationRequest operationRequest = opQueue.getPendingOperations().get(0); String opId = operationRequest.getId(); OperationUtil.executeOperation(operationRequest, operationRegistry, context, user); JsonRpcResponse jsonRpcResponse = context.getResponses().get(opId); FetchProfilesResult profileResults = (FetchProfilesResult) jsonRpcResponse.getData().get(ParamsProperty.FETCH_PROFILES_RESULT); return profileResults; }