You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2022/05/10 16:30:25 UTC
[camel-quarkus] 01/02: Fix #3703 to use valueWithDefault during processing @Producer and @EndpointInject
This is an automated email from the ASF dual-hosted git repository.
jamesnetherton pushed a commit to branch 2.7.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit fdf18e40ed5934fd652616aea77cb772a02e8e66
Author: Zheng Feng <zh...@gmail.com>
AuthorDate: Tue May 10 17:24:52 2022 +0800
Fix #3703 to use valueWithDefault during processing @Producer and @EndpointInject
---
.../core/deployment/InjectionPointsProcessor.java | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/InjectionPointsProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/InjectionPointsProcessor.java
index 04ed0c33a7..e8ced1788a 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/InjectionPointsProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/InjectionPointsProcessor.java
@@ -62,6 +62,7 @@ import org.jboss.jandex.AnnotationTarget.Kind;
import org.jboss.jandex.ClassInfo;
import org.jboss.jandex.DotName;
import org.jboss.jandex.FieldInfo;
+import org.jboss.jandex.IndexView;
import org.jboss.jandex.MethodInfo;
import org.jboss.jandex.Type;
import org.jboss.logging.Logger;
@@ -230,7 +231,7 @@ public class InjectionPointsProcessor {
switch (target.kind()) {
case FIELD: {
final FieldInfo field = target.asField();
- endpointInjectBeans(recorder, syntheticBeans, annot, field.type().name());
+ endpointInjectBeans(recorder, syntheticBeans, index.getIndex(), annot, field.type().name());
break;
}
case METHOD: {
@@ -250,8 +251,8 @@ public class InjectionPointsProcessor {
switch (target.kind()) {
case FIELD: {
final FieldInfo field = target.asField();
- produceBeans(recorder, capabilities, syntheticBeans, proxyDefinitions, beanCapabilityAvailable, annot,
- field.type().name(), field.name(), field.declaringClass().name());
+ produceBeans(recorder, capabilities, syntheticBeans, proxyDefinitions, beanCapabilityAvailable,
+ index.getIndex(), annot, field.type().name(), field.name(), field.declaringClass().name());
break;
}
case METHOD: {
@@ -269,6 +270,7 @@ public class InjectionPointsProcessor {
BuildProducer<SyntheticBeanBuildItem> syntheticBeans,
BuildProducer<NativeImageProxyDefinitionBuildItem> proxyDefinitions,
AtomicReference<Boolean> beanCapabilityAvailable,
+ IndexView index,
AnnotationInstance annot, final DotName fieldType, String annotationTarget, DotName declaringClass) {
try {
Class<?> clazz = Class.forName(fieldType.toString(), false,
@@ -279,7 +281,7 @@ public class InjectionPointsProcessor {
.configure(fieldType)
.setRuntimeInit().scope(Singleton.class)
.supplier(
- recorder.createProducerTemplate(annot.value().asString()))
+ recorder.createProducerTemplate(annot.valueWithDefault(index).asString()))
.addQualifier(annot)
.done());
/*
@@ -292,7 +294,7 @@ public class InjectionPointsProcessor {
.configure(fieldType)
.setRuntimeInit().scope(Singleton.class)
.supplier(
- recorder.createFluentProducerTemplate(annot.value().asString()))
+ recorder.createFluentProducerTemplate(annot.valueWithDefault(index).asString()))
.addQualifier(annot)
.done());
/*
@@ -320,7 +322,7 @@ public class InjectionPointsProcessor {
.configure(fieldType)
.setRuntimeInit().scope(Singleton.class)
.supplier(
- recorder.produceProxy(clazz, annot.value().asString()))
+ recorder.produceProxy(clazz, annot.valueWithDefault(index).asString()))
.addQualifier(annot)
.done());
}
@@ -330,7 +332,7 @@ public class InjectionPointsProcessor {
}
private void endpointInjectBeans(CamelRecorder recorder, BuildProducer<SyntheticBeanBuildItem> syntheticBeans,
- AnnotationInstance annot, final DotName fieldType) {
+ IndexView index, AnnotationInstance annot, final DotName fieldType) {
try {
Class<?> clazz = Class.forName(fieldType.toString());
if (Endpoint.class.isAssignableFrom(clazz)) {
@@ -339,7 +341,7 @@ public class InjectionPointsProcessor {
.configure(fieldType)
.setRuntimeInit().scope(Singleton.class)
.supplier(
- recorder.createEndpoint(annot.value().asString(),
+ recorder.createEndpoint(annot.valueWithDefault(index).asString(),
(Class<? extends Endpoint>) clazz))
.addQualifier(annot)
.done());
@@ -349,7 +351,7 @@ public class InjectionPointsProcessor {
.configure(fieldType)
.setRuntimeInit().scope(Singleton.class)
.supplier(
- recorder.createProducerTemplate(annot.value().asString()))
+ recorder.createProducerTemplate(annot.valueWithDefault(index).asString()))
.addQualifier(annot)
.done());
/*
@@ -362,7 +364,7 @@ public class InjectionPointsProcessor {
.configure(fieldType)
.setRuntimeInit().scope(Singleton.class)
.supplier(
- recorder.createFluentProducerTemplate(annot.value().asString()))
+ recorder.createFluentProducerTemplate(annot.valueWithDefault(index).asString()))
.addQualifier(annot)
.done());
/*