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

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


The following commit(s) were added to refs/heads/main by this push:
     new fa9878bdcbcb fix(components): bean class name hardening
fa9878bdcbcb is described below

commit fa9878bdcbcb3b0b7124e2a275a9b4ac1daf55a7
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Wed Dec 10 10:50:43 2025 +0100

    fix(components): bean class name hardening
    
    Additionally fixing minor compilation warnings
---
 .../org/apache/camel/component/bean/AbstractBeanProcessor.java   | 3 ---
 .../src/main/java/org/apache/camel/component/bean/BeanInfo.java  | 3 ++-
 .../org/apache/camel/component/bean/CamelInvocationHandler.java  | 3 +--
 .../main/java/org/apache/camel/component/bean/MethodInfo.java    | 2 +-
 .../java/org/apache/camel/component/bean/MethodInfoCache.java    | 1 -
 .../main/java/org/apache/camel/language/bean/BeanExpression.java | 1 +
 .../test/java/org/apache/camel/component/bean/BeanInfoTest.java  | 9 +++++++++
 7 files changed, 14 insertions(+), 8 deletions(-)

diff --git 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/AbstractBeanProcessor.java
 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/AbstractBeanProcessor.java
index 5c95e2d22829..429276340ca5 100644
--- 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/AbstractBeanProcessor.java
+++ 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/AbstractBeanProcessor.java
@@ -22,7 +22,6 @@ import java.util.concurrent.locks.ReentrantLock;
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.BeanScope;
 import org.apache.camel.Exchange;
-import org.apache.camel.Message;
 import org.apache.camel.NoSuchBeanException;
 import org.apache.camel.Processor;
 import org.apache.camel.support.AsyncProcessorSupport;
@@ -91,8 +90,6 @@ public abstract class AbstractBeanProcessor extends 
AsyncProcessorSupport {
 
     private static boolean useMethodInvocation(
             Exchange exchange, AsyncCallback callback, String 
explicitMethodName, BeanInfo beanInfo, Object beanInstance) {
-        final Message in = exchange.getIn();
-
         // set explicit method name to invoke as a exchange property, which is 
how BeanInfo can detect it
         if (explicitMethodName != null) {
             exchange.setProperty(BeanConstants.BEAN_METHOD_NAME, 
explicitMethodName);
diff --git 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/BeanInfo.java
 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/BeanInfo.java
index 8127b34aee89..94e860e4753e 100644
--- 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/BeanInfo.java
+++ 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/BeanInfo.java
@@ -677,7 +677,8 @@ public class BeanInfo {
             throws AmbiguousMethodCallException {
         // we have hardcoded parameters so need to match that with the given 
operations
         int count = 0;
-        for (String o : ObjectHelper.createIterable(parameters)) {
+        for (@SuppressWarnings("unused")
+        String o : ObjectHelper.createIterable(parameters)) {
             count++;
         }
 
diff --git 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
index 6ff9a34a9faa..fed07671efba 100644
--- 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
+++ 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.bean;
 
-import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 
 import org.apache.camel.Endpoint;
@@ -26,7 +25,7 @@ import org.apache.camel.Producer;
 /**
  * An {@link java.lang.reflect.InvocationHandler} which invokes a message 
exchange on a camel {@link Endpoint}
  */
-public class CamelInvocationHandler extends AbstractCamelInvocationHandler 
implements InvocationHandler {
+public class CamelInvocationHandler extends AbstractCamelInvocationHandler {
     private final MethodInfoCache methodInfoCache;
     private final boolean binding;
 
diff --git 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
index 52a1f19a766a..c69ccd4db163 100644
--- 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
+++ 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
@@ -483,7 +483,7 @@ public class MethodInfo {
     }
 
     public boolean isReturnTypeVoid() {
-        return method.getReturnType().getName().equals("void");
+        return method.getReturnType() == void.class;
     }
 
     public boolean isStaticMethod() {
diff --git 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfoCache.java
 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfoCache.java
index 3d52bebae7d0..3fbb9c3c60f0 100644
--- 
a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfoCache.java
+++ 
b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfoCache.java
@@ -63,7 +63,6 @@ public class MethodInfoCache {
         return new BeanInfo(camelContext, declaringClass);
     }
 
-    @SuppressWarnings("unchecked")
     protected static <K, V> Map<K, V> createLruCache(int size) {
         // use a soft cache
         return LRUCacheFactory.newLRUSoftCache(size);
diff --git 
a/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanExpression.java
 
b/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanExpression.java
index d73b1cafdf6c..7ca9ad35c97c 100644
--- 
a/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanExpression.java
+++ 
b/components/camel-bean/src/main/java/org/apache/camel/language/bean/BeanExpression.java
@@ -352,6 +352,7 @@ public class BeanExpression implements Expression, 
Predicate {
 
         try {
             // do not close BeanExpressionProcessor as beanHolder should not 
be closed
+            @SuppressWarnings("resource")
             BeanExpressionProcessor processor = new 
BeanExpressionProcessor(beanHolder); // NOSONAR
 
             if (methodName != null) {
diff --git 
a/components/camel-bean/src/test/java/org/apache/camel/component/bean/BeanInfoTest.java
 
b/components/camel-bean/src/test/java/org/apache/camel/component/bean/BeanInfoTest.java
index ef5808fbb81e..66e0a8e50f94 100644
--- 
a/components/camel-bean/src/test/java/org/apache/camel/component/bean/BeanInfoTest.java
+++ 
b/components/camel-bean/src/test/java/org/apache/camel/component/bean/BeanInfoTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.bean;
 
+import java.lang.reflect.Method;
+import java.util.ArrayList;
 import java.util.Collections;
 
 import net.bytebuddy.ByteBuddy;
@@ -108,6 +110,13 @@ public class BeanInfoTest {
         assertTrue(info.hasAnyMethodHandlerAnnotation());
     }
 
+    @Test
+    public void testVoidMethod() throws NoSuchMethodException, 
SecurityException {
+        Method method = MyClass.class.getMethod("myMethod");
+        MethodInfo info = new MethodInfo(context, MyClass.class, method, new 
ArrayList<>(), new ArrayList<>(), false, false);
+        assertTrue(info.isReturnTypeVoid());
+    }
+
     private Object buildProxyObject() {
         try {
             return new ByteBuddy()

Reply via email to