You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/08/22 05:15:17 UTC
[camel] branch main updated: CAMEL-19771: camel-core-model - TemplatedRoutesDefinition should be resource
This is an automated email from the ASF dual-hosted git repository.
davsclaus 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 6931bdc845c CAMEL-19771: camel-core-model - TemplatedRoutesDefinition should be resource
6931bdc845c is described below
commit 6931bdc845c6d3e936ac9dd626fc15255a415b86
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 22 07:14:27 2023 +0200
CAMEL-19771: camel-core-model - TemplatedRoutesDefinition should be resource
---
.../camel/model/TemplatedRouteDefinition.java | 16 +++++++++-
.../camel/model/TemplatedRoutesDefinition.java | 37 +++++++++++++++++++---
.../model/cloud/ServiceCallConfiguration.java | 1 +
.../camel/dsl/xml/io/XmlRoutesBuilderLoader.java | 10 ++++++
4 files changed, 59 insertions(+), 5 deletions(-)
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRouteDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRouteDefinition.java
index a2ffa03b035..6d1b728e9cd 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRouteDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRouteDefinition.java
@@ -33,6 +33,8 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.RouteTemplateContext;
import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.Resource;
+import org.apache.camel.spi.ResourceAware;
/**
* Defines a templated route (a route built from a route template)
@@ -41,10 +43,12 @@ import org.apache.camel.spi.Metadata;
@XmlRootElement(name = "templatedRoute")
@XmlType(propOrder = { "parameters", "beans" })
@XmlAccessorType(XmlAccessType.FIELD)
-public class TemplatedRouteDefinition implements CamelContextAware {
+public class TemplatedRouteDefinition implements CamelContextAware, ResourceAware {
@XmlTransient
private CamelContext camelContext;
+ @XmlTransient
+ private Resource resource;
@XmlAttribute(required = true)
private String routeTemplateRef;
@@ -109,6 +113,16 @@ public class TemplatedRouteDefinition implements CamelContextAware {
this.camelContext = camelContext;
}
+ @Override
+ public Resource getResource() {
+ return resource;
+ }
+
+ @Override
+ public void setResource(Resource resource) {
+ this.resource = resource;
+ }
+
// Fluent API
// -------------------------------------------------------------------------
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRoutesDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRoutesDefinition.java
index fb46f697fbd..4e266e2d4cd 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRoutesDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/TemplatedRoutesDefinition.java
@@ -28,6 +28,8 @@ import jakarta.xml.bind.annotation.XmlTransient;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.Resource;
+import org.apache.camel.spi.ResourceAware;
/**
* A series of templated routes
@@ -36,10 +38,12 @@ import org.apache.camel.spi.Metadata;
@XmlRootElement(name = "templatedRoutes")
@XmlAccessorType(XmlAccessType.FIELD)
public class TemplatedRoutesDefinition extends OptionalIdentifiedDefinition<TemplatedRoutesDefinition>
- implements TemplatedRouteContainer, CamelContextAware {
+ implements TemplatedRouteContainer, CamelContextAware, ResourceAware {
@XmlTransient
private CamelContext camelContext;
+ @XmlTransient
+ private Resource resource;
@XmlElementRef
private List<TemplatedRouteDefinition> templatedRoutes = new ArrayList<>();
@@ -47,6 +51,16 @@ public class TemplatedRoutesDefinition extends OptionalIdentifiedDefinition<Temp
public TemplatedRoutesDefinition() {
}
+ @Override
+ public Resource getResource() {
+ return resource;
+ }
+
+ @Override
+ public void setResource(Resource resource) {
+ this.resource = resource;
+ }
+
@Override
public String toString() {
return "TemplatedRoutes: " + templatedRoutes;
@@ -97,9 +111,9 @@ public class TemplatedRoutesDefinition extends OptionalIdentifiedDefinition<Temp
* @param routeTemplateId the id of the route template
*/
public TemplatedRouteDefinition templatedRoute(String routeTemplateId) {
- TemplatedRouteDefinition templatedRoute = new TemplatedRouteDefinition();
- templatedRoute.routeTemplateRef(routeTemplateId);
- return templatedRoute(templatedRoute);
+ TemplatedRouteDefinition template = createTemplatedRouteDefinition(routeTemplateId);
+ getTemplatedRoutes().add(template);
+ return template;
}
/**
@@ -110,4 +124,19 @@ public class TemplatedRoutesDefinition extends OptionalIdentifiedDefinition<Temp
return template;
}
+ // Implementation methods
+ // -------------------------------------------------------------------------
+
+ protected TemplatedRouteDefinition createTemplatedRouteDefinition(String id) {
+ TemplatedRouteDefinition templatedRoute = new TemplatedRouteDefinition();
+ if (id != null) {
+ templatedRoute.setRouteTemplateRef(id);
+ }
+ if (resource != null) {
+ templatedRoute.setResource(resource);
+ }
+ CamelContextAware.trySetCamelContext(templatedRoute, camelContext);
+ return templatedRoute;
+ }
+
}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfiguration.java b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfiguration.java
index fa44e2aa88e..c2c18c5b622 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfiguration.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfiguration.java
@@ -41,6 +41,7 @@ import org.apache.camel.support.PluginHelper;
@XmlType(name = "serviceCallConfiguration")
@XmlAccessorType(XmlAccessType.FIELD)
@Configurer
+@Deprecated
public abstract class ServiceCallConfiguration extends IdentifiedType {
@XmlElement(name = "properties")
@Metadata(label = "advanced")
diff --git a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
index 8350f5de846..956d98512a0 100644
--- a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
+++ b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
@@ -181,41 +181,51 @@ public class XmlRoutesBuilderLoader extends RouteBuilderLoaderSupport {
// decides to do so)
app.getRests().forEach(r -> {
+ r.setResource(getResource());
List<RestDefinition> list = new ArrayList<>();
list.add(r);
RestsDefinition def = new RestsDefinition();
+ def.setResource(getResource());
def.setRests(list);
setRestCollection(def);
});
app.getRouteConfigurations().forEach(rc -> {
+ rc.setResource(getResource());
List<RouteConfigurationDefinition> list = new ArrayList<>();
list.add(rc);
RouteConfigurationsDefinition def = new RouteConfigurationsDefinition();
+ def.setResource(getResource());
def.setRouteConfigurations(list);
addConfigurations(def);
});
app.getRouteTemplates().forEach(rt -> {
+ rt.setResource(getResource());
List<RouteTemplateDefinition> list = new ArrayList<>();
list.add(rt);
RouteTemplatesDefinition def = new RouteTemplatesDefinition();
+ def.setResource(getResource());
def.setRouteTemplates(list);
setRouteTemplateCollection(def);
});
app.getTemplatedRoutes().forEach(tr -> {
+ tr.setResource(getResource());
List<TemplatedRouteDefinition> list = new ArrayList<>();
list.add(tr);
TemplatedRoutesDefinition def = new TemplatedRoutesDefinition();
+ def.setResource(getResource());
def.setTemplatedRoutes(list);
setTemplatedRouteCollection(def);
});
app.getRoutes().forEach(r -> {
+ r.setResource(getResource());
List<RouteDefinition> list = new ArrayList<>();
list.add(r);
RoutesDefinition def = new RoutesDefinition();
+ def.setResource(getResource());
def.setRoutes(list);
addRoutes(def);
});