public int getMaximumDepth() { return request.maximumDepth(); }
/** * {@inheritDoc} * * @see java.lang.Object#toString() */ @Override public String toString() { String workspaceName = this.workspaceName != null ? "'" + this.workspaceName + "'" : "default"; return "read " + printable(at()) + " (in " + workspaceName + " workspace) to depth " + maximumDepth(); }
/** * {@inheritDoc} * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals( Object obj ) { if (obj == this) return true; if (this.getClass().isInstance(obj)) { ReadBranchRequest that = (ReadBranchRequest)obj; if (!this.at().isSame(that.at())) return false; if (this.maximumDepth() != that.maximumDepth()) return false; if (!this.inWorkspace().equals(that.inWorkspace())) return false; return true; } return false; }
/** * {@inheritDoc} * <p> * This implementation creates a single {@link FederatedRequest} and a {@link ReadBranchRequest} for each {@link ProxyNode} * and one {@link ReadNodeRequest} for each {@link PlaceholderNode}. * </p> * * @see org.modeshape.graph.request.processor.RequestProcessor#process(org.modeshape.graph.request.ReadBranchRequest) */ @Override public void process( ReadBranchRequest request ) { // Figure out where this request is projected ... ProjectedNode projectedNode = project(request.at(), request.inWorkspace(), request, false); // Create the federated request ... FederatedRequest federatedRequest = new FederatedRequest(request); if (projectedNode != null) { FederatedWorkspace workspace = getWorkspace(request, request.inWorkspace()); // And process the branch, creating ReadNodeRequests for each placeholder, and ReadBranchRequests for each proxy // node... if (request.maximumDepth() > 0) { processBranch(federatedRequest, projectedNode, workspace, request.maximumDepth()); } } // Submit the requests for processing ... submit(federatedRequest); }
@Test public void shouldCreateValidRequestWithValidLocationAndMaximumDepth() { request = new ReadBranchRequest(validPathLocation1, workspace1, 10); assertThat(request.at(), is(sameInstance(validPathLocation1))); assertThat(request.hasError(), is(false)); assertThat(request.getError(), is(nullValue())); assertThat(request.maximumDepth(), is(10)); }
@Test public void shouldCreateValidRequestWithValidLocation() { request = new ReadBranchRequest(validPathLocation1, workspace1); assertThat(request.at(), is(sameInstance(validPathLocation1))); assertThat(request.inWorkspace(), is(sameInstance(workspace1))); assertThat(request.hasError(), is(false)); assertThat(request.getError(), is(nullValue())); assertThat(request.maximumDepth(), is(ReadBranchRequest.DEFAULT_MAXIMUM_DEPTH)); }
int maxDepthPerRead = Math.min(request.maximumDepth(), absoluteMaximumDepthForBranchReads());