@Override protected Request createRequest() { return CompositeRequest.with(requests); }
protected Map<Location, Property> execute( List<ReadPropertyRequest> requests ) { // Create a composite request ... Request composite = CompositeRequest.with(requests); Graph.this.execute(composite); Map<Location, Property> results = new HashMap<Location, Property>(); for (ReadPropertyRequest request : requests) { Property property = request.getProperty(); Location location = request.getActualLocationOfNode(); results.put(location, property); } return results; } };
protected Map<Location, Map<Name, Property>> execute( List<ReadPropertyRequest> requests ) { // Create a composite request ... Request composite = CompositeRequest.with(requests); Graph.this.execute(composite); Map<Location, Map<Name, Property>> results = new HashMap<Location, Map<Name, Property>>(); for (ReadPropertyRequest request : requests) { Property property = request.getProperty(); // property was requested but doesn't exist if (property == null) continue; Location location = request.getActualLocationOfNode(); Map<Name, Property> properties = results.get(location); if (properties == null) { properties = new HashMap<Name, Property>(); results.put(location, properties); } properties.put(property.getName(), property); } return results; } };
Request result = CompositeRequest.with(requests); requests = new LinkedList<Request>(); return result;
public Map<Name, Property> on( Location at ) { final List<ReadPropertyRequest> requests = new LinkedList<ReadPropertyRequest>(); String workspace = getCurrentWorkspaceName(); for (Name propertyName : names) { requests.add(new ReadPropertyRequest(at, workspace, propertyName)); } // Create a composite request ... Request composite = CompositeRequest.with(requests); Graph.this.execute(composite); Map<Name, Property> results = new HashMap<Name, Property>(); for (ReadPropertyRequest request : requests) { Property property = request.getProperty(); results.put(property.getName(), property); } return results; }
@Test( expected = IllegalArgumentException.class ) public void shouldNotAllowCreatingCompositeRequestWithNullRequestArray() { CompositeRequest.with((Request[])null); }
@Test( expected = IllegalArgumentException.class ) public void shouldNotAllowCreatingCompositeRequestWithNullRequest() { CompositeRequest.with((Request)null); }
@Test( expected = IllegalArgumentException.class ) public void shouldNotAllowCreatingCompositeRequestWithNullRequestIterator() { CompositeRequest.with((Iterator<Request>)null); }
@Test public void shouldReturnRequestWhenCreatingCompositeFromIteratorOverSingleRequest() { requestList = Collections.singletonList(requests[0]); request = CompositeRequest.with(requestList.iterator()); assertThat(request, is(sameInstance(requestList.get(0)))); }
@Test public void shouldReturnRequestWhenCreatingCompositeFromSingleRequest() { request = CompositeRequest.with(requests[0]); assertThat(request, is(sameInstance(requests[0]))); }
@Test public void shouldCreateCompositeFromIteratorOverRequests() { request = CompositeRequest.with(requestList.iterator()); assertThat(request, is(instanceOf(CompositeRequest.class))); CompositeRequest composite = (CompositeRequest)request; assertThat(composite.size(), is(3)); assertThat(composite.size(), is(requestList.size())); assertThat(composite.getRequests(), hasItems(requests)); Iterator<Request> actual = composite.iterator(); Iterator<Request> expected = requestList.iterator(); while (actual.hasNext() && expected.hasNext()) { assertThat(actual.next(), is(sameInstance(expected.next()))); } assertThat(actual.hasNext(), is(expected.hasNext())); assertThat(composite.hasError(), is(false)); }
@Test public void shouldCreateCompositeFromMultipleRequests() { request = CompositeRequest.with(requests); assertThat(request, is(instanceOf(CompositeRequest.class))); CompositeRequest composite = (CompositeRequest)request; assertThat(composite.size(), is(3)); assertThat(composite.size(), is(requests.length)); assertThat(composite.getRequests(), hasItems(requests)); Iterator<Request> actual = composite.iterator(); Iterator<Request> expected = requestList.iterator(); while (actual.hasNext() && expected.hasNext()) { assertThat(actual.next(), is(sameInstance(expected.next()))); } assertThat(actual.hasNext(), is(expected.hasNext())); assertThat(composite.hasError(), is(false)); }
@Test public void shouldCancelAllNestedRequestsAndCompositeAfterCallingCancel() { Request composite = CompositeRequest.with(requests); assertThat(composite.isCancelled(), is(false)); for (Request request : requests) { assertThat(request.isCancelled(), is(false)); } composite.cancel(); assertThat(composite.isCancelled(), is(true)); for (Request request : requests) { assertThat(request.isCancelled(), is(true)); } }
@Test public void shouldCancelAllNestedRequestsAndCompositeAfterCallingCancelOnNestedRequest() { Request composite = CompositeRequest.with(requests); assertThat(composite.isCancelled(), is(false)); for (Request request : requests) { assertThat(request.isCancelled(), is(false)); } requests[0].cancel(); assertThat(composite.isCancelled(), is(true)); for (Request request : requests) { assertThat(request.isCancelled(), is(true)); } }
delegateRequest = CompositeRequest.with(delegateRequests); delegateConnection().execute(context, delegateRequest); } else {