From 321c753c9350dcc2897cf0df15c1083415eb7cf3 Mon Sep 17 00:00:00 2001 From: Christian Tzolov Date: Tue, 30 Jun 2020 00:40:11 +0200 Subject: [PATCH] Remove twitter SpEL converter in favor of config-common --- common/twitter-common/pom.xml | 6 +- .../StringToSpelConversionFunction.java | 61 ------------------- .../TwitterConnectionConfiguration.java | 25 -------- 3 files changed, 4 insertions(+), 88 deletions(-) delete mode 100644 common/twitter-common/src/main/java/org/springframework/cloud/fn/common/twitter/StringToSpelConversionFunction.java diff --git a/common/twitter-common/pom.xml b/common/twitter-common/pom.xml index d9d2a5fd..8be67066 100644 --- a/common/twitter-common/pom.xml +++ b/common/twitter-common/pom.xml @@ -38,9 +38,11 @@ spring-integration-ip - org.springframework.boot - spring-boot-starter-integration + org.springframework.cloud.fn + config-common + ${spring-cloud-fn.version} + org.springframework.boot spring-boot-configuration-processor diff --git a/common/twitter-common/src/main/java/org/springframework/cloud/fn/common/twitter/StringToSpelConversionFunction.java b/common/twitter-common/src/main/java/org/springframework/cloud/fn/common/twitter/StringToSpelConversionFunction.java deleted file mode 100644 index 8ea52284..00000000 --- a/common/twitter-common/src/main/java/org/springframework/cloud/fn/common/twitter/StringToSpelConversionFunction.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2020-2020 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.cloud.fn.common.twitter; - -import java.util.function.Function; - -import org.springframework.expression.EvaluationContext; -import org.springframework.expression.Expression; -import org.springframework.expression.ParseException; -import org.springframework.expression.spel.standard.SpelExpression; -import org.springframework.expression.spel.standard.SpelExpressionParser; - -/** - * Converter from String to Spring Expression. - *

- * TODO: This could be a top level project. - */ -public class StringToSpelConversionFunction implements Function { - - private final SpelExpressionParser parser; - - private final EvaluationContext evaluationContext; - - public StringToSpelConversionFunction(EvaluationContext evaluationContext) { - this(new SpelExpressionParser(), evaluationContext); - } - - public StringToSpelConversionFunction(SpelExpressionParser parser, EvaluationContext evaluationContext) { - this.evaluationContext = evaluationContext; - this.parser = parser; - } - - @Override - public Expression apply(String source) { - try { - Expression expression = parser.parseExpression(source); - if (expression instanceof SpelExpression) { - ((SpelExpression) expression).setEvaluationContext(evaluationContext); - } - return expression; - } - catch (ParseException e) { - throw new IllegalArgumentException(String.format( - "Could not convert '%s' into a SpEL expression", source), e); - } - } -} diff --git a/common/twitter-common/src/main/java/org/springframework/cloud/fn/common/twitter/TwitterConnectionConfiguration.java b/common/twitter-common/src/main/java/org/springframework/cloud/fn/common/twitter/TwitterConnectionConfiguration.java index f3ea97fe..b5b65c78 100644 --- a/common/twitter-common/src/main/java/org/springframework/cloud/fn/common/twitter/TwitterConnectionConfiguration.java +++ b/common/twitter-common/src/main/java/org/springframework/cloud/fn/common/twitter/TwitterConnectionConfiguration.java @@ -31,16 +31,9 @@ import twitter4j.TwitterStream; import twitter4j.TwitterStreamFactory; import twitter4j.conf.ConfigurationBuilder; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.context.properties.ConfigurationPropertiesBinding; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Lazy; -import org.springframework.core.convert.converter.Converter; -import org.springframework.expression.EvaluationContext; -import org.springframework.expression.Expression; -import org.springframework.integration.context.IntegrationContextUtils; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.support.MessageBuilder; @@ -131,22 +124,4 @@ public class TwitterConnectionConfiguration { Function rawJsonExtractor, Function> json) { return list -> (properties.isRawJson()) ? rawJsonExtractor.andThen(json).apply(list) : json.apply(list); } - - @Bean - public Function stringToSpelFunction( - @Qualifier(IntegrationContextUtils.INTEGRATION_EVALUATION_CONTEXT_BEAN_NAME) - @Lazy EvaluationContext evaluationContext) { - return new StringToSpelConversionFunction(evaluationContext); - } - - @Bean - @ConfigurationPropertiesBinding - public Converter propertiesSpelConverter(Function stringToSpelFunction) { - return new Converter() { // NOTE Using lambda causes Java Generics issues. - @Override - public Expression convert(String source) { - return stringToSpelFunction.apply(source); - } - }; - } }