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()