@SuppressWarnings("unchecked") private Map<String, ?> determineUriVariables(Message<?> requestMessage) { Map<String, ?> expressions; EvaluationContext evaluationContextToUse = this.evaluationContext; if (this.uriVariablesExpression != null) { Object expressionsObject = this.uriVariablesExpression.getValue(this.evaluationContext, requestMessage); Assert.state(expressionsObject instanceof Map, "The 'uriVariablesExpression' evaluation must result in a 'Map'."); expressions = (Map<String, ?>) expressionsObject; if (!this.trustedSpel) { evaluationContextToUse = this.simpleEvaluationContext; } } else { expressions = this.uriVariableExpressions; } return ExpressionEvalMap.from(expressions) .usingEvaluationContext(evaluationContextToUse) .withRoot(requestMessage) .build(); }
@Override public ExpressionEvalMap build() { if (ExpressionEvalMapBuilder.this.evaluationCallback != null) { return new ExpressionEvalMap(ExpressionEvalMapBuilder.this.expressions, ExpressionEvalMapBuilder.this.evaluationCallback); } else { return new ExpressionEvalMap(ExpressionEvalMapBuilder.this.expressions, new ComponentsEvaluationCallback(ExpressionEvalMapBuilder.this.context, ExpressionEvalMapBuilder.this.root, ExpressionEvalMapBuilder.this.returnType)); } }
@Override public Set<Map.Entry<String, Object>> entrySet() { return this.original.entrySet() .stream() .map(e -> new SimpleImmutableEntry<>(e.getKey(), get(e.getKey()))) .collect(Collectors.toSet()); }
private Map<String, Object> evaluateHeaders() { return ExpressionEvalMap.from(this.headerExpressions) .usingEvaluationContext(getEvaluationContext()) .build(); }
@Override public ExpressionEvalMap build() { if (ExpressionEvalMapBuilder.this.evaluationCallback != null) { return new ExpressionEvalMap(ExpressionEvalMapBuilder.this.expressions, ExpressionEvalMapBuilder.this.evaluationCallback); } else { return new ExpressionEvalMap(ExpressionEvalMapBuilder.this.expressions, new ComponentsEvaluationCallback(ExpressionEvalMapBuilder.this.context, ExpressionEvalMapBuilder.this.root, ExpressionEvalMapBuilder.this.returnType)); } }
@Override public Set<Map.Entry<String, Object>> entrySet() { return this.original.entrySet() .stream() .map(e -> new SimpleImmutableEntry<>(e.getKey(), get(e.getKey()))) .collect(Collectors.toSet()); }
private Map<String, Object> evaluateHeaders(Method method, StandardEvaluationContext context) { Map<String, Expression> headerExpressionMap = this.metadataSource.getExpressionsForHeaders(method); if (headerExpressionMap != null) { return ExpressionEvalMap.from(headerExpressionMap) .usingEvaluationContext(context) .build(); } return null; }
private URI prepareUri(Message<?> requestMessage) throws URISyntaxException { if (this.destinationProvider != null) { return this.destinationProvider.getDestination(); } Map<String, Object> uriVariables = ExpressionEvalMap.from(this.uriVariableExpressions) .usingEvaluationContext(this.evaluationContext) .withRoot(requestMessage) .build(); UriComponents uriComponents = UriComponentsBuilder.fromUriString(this.uri).buildAndExpand(uriVariables); return this.encodeUri ? uriComponents.toUri() : new URI(uriComponents.toUriString()); }
expressions.put("foo", "bar"); Map<String, ?> expressionsMap = ExpressionEvalMap.from(expressions).usingSimpleCallback().build();
@SuppressWarnings("unchecked") private Map<String, ?> determineUriVariables(Message<?> requestMessage) { Map<String, ?> expressions; EvaluationContext evaluationContextToUse = this.evaluationContext; if (this.uriVariablesExpression != null) { Object expressionsObject = this.uriVariablesExpression.getValue(this.evaluationContext, requestMessage); Assert.state(expressionsObject instanceof Map, "The 'uriVariablesExpression' evaluation must result in a 'Map'."); expressions = (Map<String, ?>) expressionsObject; if (!this.trustedSpel) { evaluationContextToUse = this.simpleEvaluationContext; } } else { expressions = this.uriVariableExpressions; } return ExpressionEvalMap.from(expressions) .usingEvaluationContext(evaluationContextToUse) .withRoot(requestMessage) .build(); }
public void setQuery(String query) { Assert.hasText(query, "'query' must not be empty"); this.sessionMessageCallback = (session, requestMessage) -> session.execute(query, ExpressionEvalMap.from(this.parameterExpressions) .usingEvaluationContext(this.evaluationContext) .withRoot(requestMessage) .build()); this.mode = Type.STATEMENT; }
private Map<String, Object> evaluateHeaders(Method method, StandardEvaluationContext context) { Map<String, Expression> headerExpressionMap = this.metadataSource.getExpressionsForHeaders(method); if (headerExpressionMap != null) { return ExpressionEvalMap.from(headerExpressionMap) .usingEvaluationContext(context) .build(); } return null; }
public void setQuery(String query) { Assert.hasText(query, "'query' must not be empty"); this.sessionMessageCallback = (session, requestMessage) -> session.execute(query, ExpressionEvalMap.from(this.parameterExpressions) .usingEvaluationContext(this.evaluationContext) .withRoot(requestMessage) .build()); this.mode = Type.STATEMENT; }