You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/01/28 08:44:05 UTC
[camel] 01/03: CAMEL-18957: added support for the Produce annotation
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 c8b98d65a50a8b0a77dda9e1667051820918db3e
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Fri Jan 27 17:01:37 2023 +0100
CAMEL-18957: added support for the Produce annotation
---
.../camel/test/infra/core/DefaultAnnotationProcessor.java | 11 +++++++++++
.../camel/test/infra/core/DefaultCamelContextExtension.java | 2 ++
2 files changed, 13 insertions(+)
diff --git a/test-infra/camel-test-infra-core/src/test/java/org/apache/camel/test/infra/core/DefaultAnnotationProcessor.java b/test-infra/camel-test-infra-core/src/test/java/org/apache/camel/test/infra/core/DefaultAnnotationProcessor.java
index 4a1fbdd744b..8f425ad88b2 100644
--- a/test-infra/camel-test-infra-core/src/test/java/org/apache/camel/test/infra/core/DefaultAnnotationProcessor.java
+++ b/test-infra/camel-test-infra-core/src/test/java/org/apache/camel/test/infra/core/DefaultAnnotationProcessor.java
@@ -29,6 +29,8 @@ import org.apache.camel.BindToRegistry;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.EndpointInject;
+import org.apache.camel.Produce;
+import org.apache.camel.ProducerTemplate;
import org.apache.camel.component.mock.MockEndpoint;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.slf4j.Logger;
@@ -158,6 +160,15 @@ public class DefaultAnnotationProcessor implements AnnotationProcessor {
assert endpoint != null;
field.set(instance, endpoint);
}
+
+ return;
+ }
+
+ if (annotation instanceof Produce p) {
+ final ProducerTemplate producerTemplate = context.createProducerTemplate();
+
+ producerTemplate.setDefaultEndpointUri(p.value());
+ field.set(instance, producerTemplate);
}
} catch (IllegalAccessException e) {
throw new RuntimeException(illegalAccessMessage(annotation.getClass(), instance, fieldName), e);
diff --git a/test-infra/camel-test-infra-core/src/test/java/org/apache/camel/test/infra/core/DefaultCamelContextExtension.java b/test-infra/camel-test-infra-core/src/test/java/org/apache/camel/test/infra/core/DefaultCamelContextExtension.java
index 4a007474347..d4dc983aaa6 100644
--- a/test-infra/camel-test-infra-core/src/test/java/org/apache/camel/test/infra/core/DefaultCamelContextExtension.java
+++ b/test-infra/camel-test-infra-core/src/test/java/org/apache/camel/test/infra/core/DefaultCamelContextExtension.java
@@ -21,6 +21,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.ConsumerTemplate;
import org.apache.camel.EndpointInject;
import org.apache.camel.NoSuchEndpointException;
+import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.impl.DefaultCamelContext;
@@ -92,6 +93,7 @@ public class DefaultCamelContextExtension implements CamelContextExtension {
LOG.info("********************************************************************************");
LOG.info("Testing: {} ({})", extensionContext.getDisplayName(), o.getClass().getName());
+ fixtureProcessor.evalField(extensionContext, Produce.class, o, context);
fixtureProcessor.evalField(extensionContext, EndpointInject.class, o, context);
fixtureProcessor.evalField(extensionContext, BindToRegistry.class, o, context);