You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2020/04/07 08:32:34 UTC
[camel-quarkus] branch master updated: BeanInfo::getImplClazz can
be null for primitives or arrays
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/master by this push:
new d9a1ba9 BeanInfo::getImplClazz can be null for primitives or arrays
d9a1ba9 is described below
commit d9a1ba939770e12ec372f0cd2dcf82f28c16d55a
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Apr 6 18:32:07 2020 +0200
BeanInfo::getImplClazz can be null for primitives or arrays
---
.../camel/quarkus/core/deployment/ContainerBeansBuildItem.java | 6 ++++--
.../java/org/apache/camel/quarkus/core/CamelRouteProducer.java | 9 +++++++++
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/ContainerBeansBuildItem.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/ContainerBeansBuildItem.java
index abef5d3..2e2549d 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/ContainerBeansBuildItem.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/ContainerBeansBuildItem.java
@@ -34,8 +34,10 @@ public final class ContainerBeansBuildItem extends SimpleBuildItem {
private final Set<DotName> classes;
public ContainerBeansBuildItem(Collection<BeanInfo> beans) {
- this.beans = beans.stream().map(SimpleCamelBeanInfo::new).collect(Collectors.toSet());
- this.classes = beans.stream().map(BeanInfo::getImplClazz).map(ClassInfo::name).collect(Collectors.toSet());
+ this.beans = beans.stream()
+ .filter(bi -> bi.getImplClazz() != null).map(SimpleCamelBeanInfo::new).collect(Collectors.toSet());
+ this.classes = beans.stream()
+ .map(BeanInfo::getImplClazz).filter(Objects::nonNull).map(ClassInfo::name).collect(Collectors.toSet());
}
public Set<CamelBeanInfo> getBeans() {
diff --git a/integration-tests/core-main/src/main/java/org/apache/camel/quarkus/core/CamelRouteProducer.java b/integration-tests/core-main/src/main/java/org/apache/camel/quarkus/core/CamelRouteProducer.java
index 6a00a77..fc31a02 100644
--- a/integration-tests/core-main/src/main/java/org/apache/camel/quarkus/core/CamelRouteProducer.java
+++ b/integration-tests/core-main/src/main/java/org/apache/camel/quarkus/core/CamelRouteProducer.java
@@ -24,6 +24,15 @@ import org.apache.camel.builder.RouteBuilder;
@ApplicationScoped
public class CamelRouteProducer {
+ /*
+ * The BeanInfo#getImplClazz() returns null in case of a produce of primitives ao arrays which
+ * cause ContainerBeansBuildItem to fail. This producer method is here only to validate we handle
+ * such case.
+ */
+ @Produces
+ public String[] primitiveType() {
+ return new String[] {};
+ }
@Produces
RoutesBuilder producedRoute() {