This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 8dfc47b00d234ddd9fe988d8099130dab783574a
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Thu Jun 30 13:08:35 2022 +0200

    (chores) camel-route-parser: remove duplicated expression-extracting code
---
 .../camel/parser/helper/CamelJavaParserHelper.java | 45 +++++++++-------------
 1 file changed, 19 insertions(+), 26 deletions(-)

diff --git 
a/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
 
b/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
index 30d4df5903b..a214cc93a60 100644
--- 
a/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
+++ 
b/catalog/camel-route-parser/src/main/java/org/apache/camel/parser/helper/CamelJavaParserHelper.java
@@ -375,19 +375,7 @@ public final class CamelJavaParserHelper {
                     annotation = 
field.getAnnotation("org.apache.camel.EndpointInject");
                 }
                 if (annotation != null) {
-                    Expression exp = (Expression) annotation.getInternal();
-                    if (exp instanceof SingleMemberAnnotation) {
-                        exp = ((SingleMemberAnnotation) exp).getValue();
-                    } else if (exp instanceof NormalAnnotation) {
-                        List values = ((NormalAnnotation) exp).values();
-                        for (Object value : values) {
-                            MemberValuePair pair = (MemberValuePair) value;
-                            if ("uri".equals(pair.getName().toString())) {
-                                exp = pair.getValue();
-                                break;
-                            }
-                        }
-                    }
+                    Expression exp = 
extractExpression(annotation.getInternal());
                     String uri = CamelJavaParserHelper.getLiteralValue(clazz, 
block, exp);
                     if (!Strings.isNullOrEmpty(uri)) {
                         int position = ((SimpleName) arg).getStartPosition();
@@ -415,6 +403,23 @@ public final class CamelJavaParserHelper {
         uris.add(new ParserResult(node, -1, -1, arg.toString(), false));
     }
 
+    private static Expression extractExpression(Object annotation) {
+        Expression exp = (Expression) annotation;
+        if (exp instanceof SingleMemberAnnotation) {
+            exp = ((SingleMemberAnnotation) exp).getValue();
+        } else if (exp instanceof NormalAnnotation) {
+            List values = ((NormalAnnotation) exp).values();
+            for (Object value : values) {
+                MemberValuePair pair = (MemberValuePair) value;
+                if ("uri".equals(pair.getName().toString())) {
+                    exp = pair.getValue();
+                    break;
+                }
+            }
+        }
+        return exp;
+    }
+
     public static List<ParserResult> 
parseCamelLanguageExpressions(MethodSource<JavaClassSource> method, String 
language) {
         List<ParserResult> answer = new ArrayList<>();
 
@@ -630,19 +635,7 @@ public final class CamelJavaParserHelper {
                         boolean valid = 
"org.apache.camel.EndpointInject".equals(ann.getQualifiedName())
                                 || 
"org.apache.camel.cdi.Uri".equals(ann.getQualifiedName());
                         if (valid) {
-                            Expression exp = (Expression) ann.getInternal();
-                            if (exp instanceof SingleMemberAnnotation) {
-                                exp = ((SingleMemberAnnotation) 
exp).getValue();
-                            } else if (exp instanceof NormalAnnotation) {
-                                List values = ((NormalAnnotation) 
exp).values();
-                                for (Object value : values) {
-                                    MemberValuePair pair = (MemberValuePair) 
value;
-                                    if 
("uri".equals(pair.getName().toString())) {
-                                        exp = pair.getValue();
-                                        break;
-                                    }
-                                }
-                            }
+                            Expression exp = 
extractExpression(ann.getInternal());
                             if (exp != null) {
                                 return getLiteralValue(clazz, block, exp);
                             }

Reply via email to