/** * links a parameter name to its index in the method signature. */ protected void nameParam(MethodMetadata data, String name, int i) { Collection<String> names = data.indexToName().containsKey(i) ? data.indexToName().get(i) : new ArrayList<String>(); names.add(name); data.indexToName().put(i, names); } }
private boolean hasPathVariable(MethodMetadata methodMetadata, String pathVariable) { for (Collection<String> names : methodMetadata.indexToName().values()) { if (names.contains(pathVariable)) { return true; } } return false; }
protected ReactiveHttpRequest buildRequest(Object[] argv) { Map<String, ?> substitutionsMap = methodMetadata.indexToName().entrySet().stream() .flatMap(e -> e.getValue().stream() .map(v -> new AbstractMap.SimpleImmutableEntry<>(e.getKey(), v))) .collect(Collectors.toMap(Map.Entry::getValue, entry -> argv[entry.getKey()])); try { String path = pathExpander.apply(substitutionsMap); Map<String, Collection<String>> queries = queries(argv, substitutionsMap); Map<String, List<String>> headers = headers(argv, substitutionsMap); URI uri = new URI(target.url() + path + queryLine(queries)); return new ReactiveHttpRequest(methodMetadata.template().method(), uri, headers, body(argv)); } catch (URISyntaxException e) { throw new RuntimeException(e); } }
protected ReactiveHttpRequest buildRequest(Object[] argv) { Map<String, ?> substitutionsMap = methodMetadata.indexToName().entrySet().stream() .flatMap(e -> e.getValue().stream() .map(v -> new AbstractMap.SimpleImmutableEntry<>(e.getKey(), v))) .collect(Collectors.toMap(Map.Entry::getValue, entry -> argv[entry.getKey()])); HttpMethod method = HttpMethod.resolve(methodMetadata.template().method()); URI uri = defaultUriBuilderFactory.uriString(methodMetadata.template().url()) .queryParams(parameters(argv)).build(substitutionsMap); return new ReactiveHttpRequest(method, uri, headers(argv, substitutionsMap), body(argv)); }
for (Entry<Integer, Collection<String>> entry : metadata.indexToName().entrySet()) { int i = entry.getKey(); Object value = argv[entry.getKey()];
for (final Map.Entry<Integer, Collection<String>> entry : metadata.indexToName().entrySet()) { final int i = entry.getKey(); Object value = argv[entry.getKey()];