public static StringBuilder append(StringBuilder sb, UriInfo uriInfo, HttpHeaders httpHeaders) { sb.append("\n UriInfo:"); sb.append("\n Absolute path : ").append(uriInfo.getAbsolutePath()); sb.append("\n Base URI : ").append(uriInfo.getBaseUri()); sb.append("\n Mathced resources : ").append(uriInfo.getMatchedResources().toString()); sb.append("\n Matched URIs : ").append(uriInfo.getMatchedURIs().toString()); sb.append("\n Path : ").append(uriInfo.getPath()); sb.append("\n Path parameters:\n"); dumpMultivaluedMap(sb, uriInfo.getPathParameters()); sb.append(" Path segments : ").append(uriInfo.getPathSegments().toString()); sb.append("\n Query parameters:\n"); dumpMultivaluedMap(sb, uriInfo.getQueryParameters()); sb.append(" Request URI : ").append(uriInfo.getRequestUri()); sb.append("\n\n HttpHeaders:\n"); dumpMultivaluedMap(sb, httpHeaders.getRequestHeaders()); return sb; }
final List<PathSegment> l = uriInfo.getPathSegments(false); if (l.isEmpty()) { return;
final List<PathSegment> l = uriInfo.getPathSegments(false); if (l.isEmpty()) { return;
@Override public CompletionStage<Object> inject(HttpRequest request, HttpResponse response, boolean unwrapAsync) { ArrayList<String> values = new ArrayList<String>(); if (encode) { for (PathSegment segment : request.getUri().getPathSegments(false)) { List<String> list = segment.getMatrixParameters().get(paramName); if (list != null) values.addAll(list); } } else { for (PathSegment segment : request.getUri().getPathSegments()) { List<String> list = segment.getMatrixParameters().get(paramName); if (list != null) values.addAll(list); } } if (values.size() == 0) return CompletableFuture.completedFuture(extractValues(null)); else return CompletableFuture.completedFuture(extractValues(values)); }
if (segmentIndex + numSegments > request.getUri().getPathSegments().size()) for (int i = 0; i < numSegments; i++) decodedSegments[i] = request.getUri().getPathSegments().get(segmentIndex + i); encodedSegments[i] = request.getUri().getPathSegments(false).get(segmentIndex + i);
final List<PathSegment> l = uriInfo.getPathSegments(false); if (l.isEmpty()) { return;
@Path("category/{categoryIds:.+}/product/{productId}") public ReturnType myMethod(@Context UriInfo uriInfo) { for (PathSegment pathSegment: uriInfo.getPathSegments()) { //do here what you want with the uriInfo } }
@Override public List<PathSegment> getPathSegments(boolean decode) { return delegate.getPathSegments(decode); }
@Override @NotNull public List<PathSegment> getPathSegments() { return this.info.getPathSegments(); }
@Override @NotNull public List<PathSegment> getPathSegments(final boolean decode) { return this.info.getPathSegments(decode); }
/** * {@inheritDoc} */ @Override public void validateSafe(UriInfo info) { validateAgentSegment(info.getPathSegments()); }
@Override public List<PathSegment> getPathSegments() { return get().getPathSegments(); }
@Override public List<PathSegment> getPathSegments(final boolean decode) { return get().getPathSegments(decode); }
@GET public Response getSomething(@Context UriInfo info) { for (PathSegment segment : info.getPathSegments()) { MultivaluedMap matrixParameters = segment.getMatrixParameters(); ... } }
@Override public void validate(UriInfo info) { validateAgentSegment(info.getPathSegments()); }
public static Set<String> extractSegmentMatrixParameterAsSet(UriInfo info, String pathName, String parameterName) { List<PathSegment> pathSegments = info.getPathSegments(); for (PathSegment pathSegment : pathSegments) { if (pathSegment.getPath().equals(pathName)) { List<String> values = pathSegment.getMatrixParameters().get(parameterName); return toSet(values); } } return null; }
private UriInfo mockUri(String...strings) { UriInfo uriInfoMock = mock(UriInfo.class); List<PathSegment> pathSegments = new ArrayList<>(); for (String s : strings) { PathSegment segment = mock(PathSegment.class); when(segment.getPath()).thenReturn(s); pathSegments.add(segment); } when(uriInfoMock.getPathSegments()).thenReturn(pathSegments); return uriInfoMock; } }
protected UriInfo setUpUriInfo() { UriBuilder uriBuilder = mock(UriBuilder.class); when(uriBuilder.clone()).thenReturn(uriBuilder); UriInfo uriInfo = mock(UriInfo.class); when(uriInfo.getQueryParameters()).thenReturn(null); when(uriInfo.getPathSegments()).thenReturn(null); return uriInfo; }
protected UriInfo addMatrixParameterExpectations(UriInfo mockUriInfo, Map<String, String> parameters) { MultivaluedMap<String, String> matrixParams = new SimpleMultivaluedMap<>(); for (Map.Entry<String, String> entry : parameters.entrySet()) { matrixParams.putSingle(entry.getKey(), entry.getValue()); } PathSegment segment = mock(PathSegment.class); when(segment.getMatrixParameters()).thenReturn(matrixParams); when(mockUriInfo.getPathSegments()).thenReturn(Collections.singletonList(segment)); return mockUriInfo; }
@Override public Object resolve(org.everrest.core.Parameter parameter, ApplicationContext context) throws Exception { String param = matrixParam.value(); TypeProducer typeProducer = typeProducerFactory.createTypeProducer(parameter.getParameterClass(), parameter.getGenericType()); List<PathSegment> pathSegments = context.getUriInfo().getPathSegments(!parameter.isEncoded()); PathSegment pathSegment = Iterables.getLast(pathSegments, null); return typeProducer.createValue(param, pathSegment == null ? new MultivaluedHashMap<>() : pathSegment.getMatrixParameters(), parameter.getDefaultValue()); } }