You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2023/02/06 10:03:50 UTC
[camel] branch main updated (74a33b26ff6 -> 898d9503560)
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
from 74a33b26ff6 CAMEL-18980: Fix snmp V1
new 8fded3794a4 Remove deprecated XmlRoutesDefinitionLoader
new 898d9503560 Ensure the resource is read only once, the stream closed and add missing calls
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
components/camel-openapi-java/pom.xml | 4 ++
.../openapi/jmx/JmxRestDefinitionsResolver.java | 9 ++--
.../org/apache/camel/ExtendedCamelContext.java | 14 ------
.../camel/spi/XMLRoutesDefinitionLoader.java | 50 -------------------
.../camel/impl/engine/AbstractCamelContext.java | 22 --------
.../camel/impl/engine/SimpleCamelContext.java | 17 -------
.../camel/impl/ExtendedCamelContextConfigurer.java | 6 ---
.../camel/impl/lw/LightweightCamelContext.java | 11 ----
.../impl/lw/LightweightRuntimeCamelContext.java | 11 ----
.../org/apache/camel/support/CachedResource.java | 55 ++++++++++----------
.../services/org/apache/camel/xmlroutes-loader | 2 -
.../camel/dsl/xml/io/XmlRoutesBuilderLoader.java | 57 ++++++++++-----------
.../dsl/xml/io/XmlRoutesDefinitionLoader.java | 58 ----------------------
.../jaxb/definition/CreateModelFromXmlTest.java | 6 +--
.../xml/jaxb/definition/LoadRestFromXmlTest.java | 9 ++--
.../xml/jaxb/definition/LoadRouteFromXmlTest.java | 9 ++--
.../LoadRouteFromXmlWithInterceptTest.java | 10 ++--
.../LoadRouteFromXmlWithNamespaceTest.java | 10 ++--
.../LoadRouteFromXmlWithOnExceptionTest.java | 10 ++--
.../definition/LoadRouteFromXmlWithPolicyTest.java | 10 ++--
.../definition/RouteTemplateLoadFromXmlTest.java | 15 ++----
.../jaxb/spring/CamelLoadRoutesFromXMLTest.java | 19 +++----
.../services/org/apache/camel/xmlroutes-loader | 2 -
.../xml/jaxb/JaxbXmlRoutesDefinitionLoader.java | 54 --------------------
24 files changed, 100 insertions(+), 370 deletions(-)
delete mode 100644 core/camel-api/src/main/java/org/apache/camel/spi/XMLRoutesDefinitionLoader.java
copy components/camel-resourceresolver-github/src/main/java/org/apache/camel/github/GistResource.java => core/camel-support/src/main/java/org/apache/camel/support/CachedResource.java (54%)
delete mode 100644 dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
delete mode 100644 dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesDefinitionLoader.java
delete mode 100644 dsl/camel-xml-jaxb-dsl/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
delete mode 100644 dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesDefinitionLoader.java
[camel] 02/02: Ensure the resource is read only once, the stream closed and add missing calls
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 898d95035604a0df4a76b7f69b379c3403867398
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Feb 3 13:38:40 2023 +0100
Ensure the resource is read only once, the stream closed and add missing calls
---
.../org/apache/camel/support/CachedResource.java | 65 ++++++++++++++++++++++
.../camel/dsl/xml/io/XmlRoutesBuilderLoader.java | 57 +++++++++----------
2 files changed, 91 insertions(+), 31 deletions(-)
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/CachedResource.java b/core/camel-support/src/main/java/org/apache/camel/support/CachedResource.java
new file mode 100644
index 00000000000..6104132a99f
--- /dev/null
+++ b/core/camel-support/src/main/java/org/apache/camel/support/CachedResource.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.support;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+
+import org.apache.camel.spi.Resource;
+
+/**
+ * A resource which will cache the content of the input stream on first read.
+ */
+public class CachedResource extends ResourceSupport {
+
+ private final Resource delegate;
+ private byte[] data;
+
+ public CachedResource(Resource delegate) {
+ super("cached:" + delegate.getScheme(), delegate.getLocation());
+ this.delegate = delegate;
+ }
+
+ @Override
+ public boolean exists() {
+ return delegate.exists();
+ }
+
+ @Override
+ public URI getURI() {
+ return delegate.getURI();
+ }
+
+ @Override
+ public URL getURL() throws MalformedURLException {
+ return delegate.getURL();
+ }
+
+ @Override
+ public InputStream getInputStream() throws IOException {
+ if (data == null) {
+ try (InputStream is = delegate.getInputStream()) {
+ data = is.readAllBytes();
+ }
+ }
+ return new ByteArrayInputStream(data);
+ }
+}
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 397844b78e3..a8ffe061bbf 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
@@ -16,6 +16,8 @@
*/
package org.apache.camel.dsl.xml.io;
+import java.util.List;
+
import org.apache.camel.CamelContextAware;
import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.builder.RouteBuilder;
@@ -28,6 +30,7 @@ import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.RoutesDefinition;
import org.apache.camel.spi.Resource;
import org.apache.camel.spi.annotations.RoutesLoader;
+import org.apache.camel.support.CachedResource;
import org.apache.camel.xml.in.ModelParser;
@ManagedResource(description = "Managed XML RoutesBuilderLoader")
@@ -35,51 +38,43 @@ import org.apache.camel.xml.in.ModelParser;
public class XmlRoutesBuilderLoader extends RouteBuilderLoaderSupport {
public static final String EXTENSION = "xml";
public static final String NAMESPACE = "http://camel.apache.org/schema/spring";
+ private static final List<String> NAMESPACES = List.of("", NAMESPACE);
public XmlRoutesBuilderLoader() {
super(EXTENSION);
}
@Override
- public RouteBuilder doLoadRouteBuilder(Resource resource) throws Exception {
+ public RouteBuilder doLoadRouteBuilder(Resource input) throws Exception {
return new RouteConfigurationBuilder() {
+ final Resource resource = new CachedResource(input);
+
@Override
public void configure() throws Exception {
// we use configure to load the routes (with namespace and without namespace)
- new ModelParser(resource, NAMESPACE)
- .parseRouteTemplatesDefinition()
- .ifPresent(this::setRouteTemplateCollection);
- new ModelParser(resource, NAMESPACE)
- .parseTemplatedRoutesDefinition()
- .ifPresent(this::setTemplatedRouteCollection);
- new ModelParser(resource, NAMESPACE)
- .parseRestsDefinition()
- .ifPresent(this::setRestCollection);
- new ModelParser(resource, NAMESPACE)
- .parseRoutesDefinition()
- .ifPresent(this::addRoutes);
- new ModelParser(resource)
- .parseRouteTemplatesDefinition()
- .ifPresent(this::setRouteTemplateCollection);
- new ModelParser(resource)
- .parseTemplatedRoutesDefinition()
- .ifPresent(this::setTemplatedRouteCollection);
- new ModelParser(resource)
- .parseRestsDefinition()
- .ifPresent(this::setRestCollection);
- new ModelParser(resource)
- .parseRoutesDefinition()
- .ifPresent(this::addRoutes);
+ for (String ns : NAMESPACES) {
+ new ModelParser(resource, ns)
+ .parseRouteTemplatesDefinition()
+ .ifPresent(this::setRouteTemplateCollection);
+ new ModelParser(resource, ns)
+ .parseTemplatedRoutesDefinition()
+ .ifPresent(this::setTemplatedRouteCollection);
+ new ModelParser(resource, ns)
+ .parseRestsDefinition()
+ .ifPresent(this::setRestCollection);
+ new ModelParser(resource, ns)
+ .parseRoutesDefinition()
+ .ifPresent(this::addRoutes);
+ }
}
@Override
public void configuration() throws Exception {
- new ModelParser(resource, NAMESPACE)
- .parseRouteConfigurationsDefinition()
- .ifPresent(this::addConfigurations);
- new ModelParser(resource)
- .parseRouteConfigurationsDefinition()
- .ifPresent(this::addConfigurations);
+ for (String ns : NAMESPACES) {
+ new ModelParser(resource, ns)
+ .parseRouteConfigurationsDefinition()
+ .ifPresent(this::addConfigurations);
+ }
}
private void addRoutes(RoutesDefinition routes) {
[camel] 01/02: Remove deprecated XmlRoutesDefinitionLoader
Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 8fded3794a460c62b75de796ade25a4f41e2d721
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Jan 31 14:23:10 2023 +0100
Remove deprecated XmlRoutesDefinitionLoader
---
components/camel-openapi-java/pom.xml | 4 ++
.../openapi/jmx/JmxRestDefinitionsResolver.java | 9 ++--
.../org/apache/camel/ExtendedCamelContext.java | 14 ------
.../camel/spi/XMLRoutesDefinitionLoader.java | 50 -------------------
.../camel/impl/engine/AbstractCamelContext.java | 22 --------
.../camel/impl/engine/SimpleCamelContext.java | 17 -------
.../camel/impl/ExtendedCamelContextConfigurer.java | 6 ---
.../camel/impl/lw/LightweightCamelContext.java | 11 ----
.../impl/lw/LightweightRuntimeCamelContext.java | 11 ----
.../services/org/apache/camel/xmlroutes-loader | 2 -
.../dsl/xml/io/XmlRoutesDefinitionLoader.java | 58 ----------------------
.../jaxb/definition/CreateModelFromXmlTest.java | 6 +--
.../xml/jaxb/definition/LoadRestFromXmlTest.java | 9 ++--
.../xml/jaxb/definition/LoadRouteFromXmlTest.java | 9 ++--
.../LoadRouteFromXmlWithInterceptTest.java | 10 ++--
.../LoadRouteFromXmlWithNamespaceTest.java | 10 ++--
.../LoadRouteFromXmlWithOnExceptionTest.java | 10 ++--
.../definition/LoadRouteFromXmlWithPolicyTest.java | 10 ++--
.../definition/RouteTemplateLoadFromXmlTest.java | 15 ++----
.../jaxb/spring/CamelLoadRoutesFromXMLTest.java | 19 +++----
.../services/org/apache/camel/xmlroutes-loader | 2 -
.../xml/jaxb/JaxbXmlRoutesDefinitionLoader.java | 54 --------------------
22 files changed, 45 insertions(+), 313 deletions(-)
diff --git a/components/camel-openapi-java/pom.xml b/components/camel-openapi-java/pom.xml
index 8e533d4f658..17b11ba7e2d 100644
--- a/components/camel-openapi-java/pom.xml
+++ b/components/camel-openapi-java/pom.xml
@@ -48,6 +48,10 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-core-engine</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-xml-io</artifactId>
+ </dependency>
<!-- json -->
<dependency>
diff --git a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/jmx/JmxRestDefinitionsResolver.java b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/jmx/JmxRestDefinitionsResolver.java
index 5eb4def5992..90f6cd56a60 100644
--- a/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/jmx/JmxRestDefinitionsResolver.java
+++ b/components/camel-openapi-java/src/main/java/org/apache/camel/openapi/jmx/JmxRestDefinitionsResolver.java
@@ -16,7 +16,6 @@
*/
package org.apache.camel.openapi.jmx;
-import java.io.InputStream;
import java.lang.management.ManagementFactory;
import java.util.ArrayList;
import java.util.List;
@@ -31,7 +30,9 @@ import org.apache.camel.model.rest.RestDefinition;
import org.apache.camel.model.rest.RestsDefinition;
import org.apache.camel.openapi.RestDefinitionsResolver;
import org.apache.camel.openapi.RestOpenApiSupport;
+import org.apache.camel.spi.Resource;
import org.apache.camel.spi.annotations.JdkService;
+import org.apache.camel.xml.in.ModelParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -66,10 +67,10 @@ public class JmxRestDefinitionsResolver implements RestDefinitionsResolver {
new String[] { "boolean" });
if (xml != null) {
LOG.debug("DumpRestAsXml:\n{}", xml);
- InputStream xmlis = camelContext.getTypeConverter().convertTo(InputStream.class, xml);
+
ExtendedCamelContext ecc = camelContext.adapt(ExtendedCamelContext.class);
- RestsDefinition rests
- = (RestsDefinition) ecc.getXMLRoutesDefinitionLoader().loadRestsDefinition(camelContext, xmlis);
+ Resource resource = ecc.getResourceLoader().resolveResource("mem:" + xml);
+ RestsDefinition rests = new ModelParser(resource).parseRestsDefinition().orElse(null);
if (rests != null) {
return rests.getRests();
}
diff --git a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
index 91022688999..62774876223 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
@@ -74,7 +74,6 @@ import org.apache.camel.spi.RoutesLoader;
import org.apache.camel.spi.StartupStepRecorder;
import org.apache.camel.spi.UnitOfWorkFactory;
import org.apache.camel.spi.UriFactoryResolver;
-import org.apache.camel.spi.XMLRoutesDefinitionLoader;
/**
* Extended {@link CamelContext} which contains the methods and APIs that are not primary intended for Camel end users
@@ -693,19 +692,6 @@ public interface ExtendedCamelContext extends CamelContext {
*/
void setEventNotificationApplicable(boolean eventNotificationApplicable);
- /**
- * Gets the {@link XMLRoutesDefinitionLoader} to be used.
- *
- * @deprecated use {@link #getRoutesLoader()}
- */
- @Deprecated
- XMLRoutesDefinitionLoader getXMLRoutesDefinitionLoader();
-
- /**
- * Sets a custom {@link XMLRoutesDefinitionLoader} to be used.
- */
- void setXMLRoutesDefinitionLoader(XMLRoutesDefinitionLoader xmlRoutesDefinitionLoader);
-
/**
* Gets the {@link RoutesLoader} to be used.
*/
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/XMLRoutesDefinitionLoader.java b/core/camel-api/src/main/java/org/apache/camel/spi/XMLRoutesDefinitionLoader.java
deleted file mode 100644
index 95f3db1f300..00000000000
--- a/core/camel-api/src/main/java/org/apache/camel/spi/XMLRoutesDefinitionLoader.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.spi;
-
-import java.io.InputStream;
-
-import org.apache.camel.CamelContext;
-
-/**
- * SPI for loading routes/rests from XML input streams and parsing this to model definition classes.
- *
- * @deprecated use {@link RoutesLoader}
- */
-@Deprecated
-public interface XMLRoutesDefinitionLoader {
-
- /**
- * Service factory key.
- */
- String FACTORY = "xmlroutes-loader";
-
- /**
- * Loads from XML into routes.
- */
- Object loadRoutesDefinition(CamelContext context, InputStream inputStream) throws Exception;
-
- /**
- * Loads from XML into route templates.
- */
- Object loadRouteTemplatesDefinition(CamelContext context, InputStream inputStream) throws Exception;
-
- /**
- * Loads from XML into rests.
- */
- Object loadRestsDefinition(CamelContext context, InputStream inputStream) throws Exception;
-}
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 031302fa49a..5a0d89c6d69 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -174,7 +174,6 @@ import org.apache.camel.spi.UriFactoryResolver;
import org.apache.camel.spi.UuidGenerator;
import org.apache.camel.spi.Validator;
import org.apache.camel.spi.ValidatorRegistry;
-import org.apache.camel.spi.XMLRoutesDefinitionLoader;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.support.EndpointHelper;
import org.apache.camel.support.EventHelper;
@@ -322,7 +321,6 @@ public abstract class AbstractCamelContext extends BaseService
private volatile CliConnectorFactory cliConnectorFactory;
private volatile BeanProxyFactory beanProxyFactory;
private volatile BeanProcessorFactory beanProcessorFactory;
- private volatile XMLRoutesDefinitionLoader xmlRoutesDefinitionLoader;
private volatile RoutesLoader routesLoader;
private volatile ResourceLoader resourceLoader;
private volatile ModelToXMLDumper modelToXMLDumper;
@@ -3946,7 +3944,6 @@ public abstract class AbstractCamelContext extends BaseService
getReactiveExecutor();
getBeanIntrospection();
getUriFactoryResolver();
- getXMLRoutesDefinitionLoader();
getModelToXMLDumper();
getNodeIdFactory();
getModelJAXBContextFactory();
@@ -5050,23 +5047,6 @@ public abstract class AbstractCamelContext extends BaseService
this.headersMapFactory = doAddService(headersMapFactory);
}
- @Override
- public XMLRoutesDefinitionLoader getXMLRoutesDefinitionLoader() {
- if (xmlRoutesDefinitionLoader == null) {
- synchronized (lock) {
- if (xmlRoutesDefinitionLoader == null) {
- setXMLRoutesDefinitionLoader(createXMLRoutesDefinitionLoader());
- }
- }
- }
- return xmlRoutesDefinitionLoader;
- }
-
- @Override
- public void setXMLRoutesDefinitionLoader(XMLRoutesDefinitionLoader xmlRoutesDefinitionLoader) {
- this.xmlRoutesDefinitionLoader = doAddService(xmlRoutesDefinitionLoader);
- }
-
@Override
public RoutesLoader getRoutesLoader() {
if (routesLoader == null) {
@@ -5418,8 +5398,6 @@ public abstract class AbstractCamelContext extends BaseService
protected abstract BeanIntrospection createBeanIntrospection();
- protected abstract XMLRoutesDefinitionLoader createXMLRoutesDefinitionLoader();
-
protected abstract RoutesLoader createRoutesLoader();
protected abstract ResourceLoader createResourceLoader();
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
index 16ddc3a347a..98f377baa24 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
@@ -88,7 +88,6 @@ import org.apache.camel.spi.UnitOfWorkFactory;
import org.apache.camel.spi.UriFactoryResolver;
import org.apache.camel.spi.UuidGenerator;
import org.apache.camel.spi.ValidatorRegistry;
-import org.apache.camel.spi.XMLRoutesDefinitionLoader;
import org.apache.camel.support.DefaultRegistry;
import org.apache.camel.support.DefaultUuidGenerator;
import org.apache.camel.support.NormalizedUri;
@@ -509,22 +508,6 @@ public class SimpleCamelContext extends AbstractCamelContext {
return new DefaultBeanIntrospection();
}
- @Override
- protected XMLRoutesDefinitionLoader createXMLRoutesDefinitionLoader() {
- Optional<XMLRoutesDefinitionLoader> result = ResolverHelper.resolveService(
- getCamelContextReference(),
- getBootstrapFactoryFinder(),
- XMLRoutesDefinitionLoader.FACTORY,
- XMLRoutesDefinitionLoader.class);
-
- if (result.isPresent()) {
- return result.get();
- } else {
- throw new IllegalArgumentException(
- "Cannot find XMLRoutesDefinitionLoader on classpath. Add either camel-xml-io-dsl or camel-xml-jaxb-dsl to classpath.");
- }
- }
-
@Override
protected RoutesLoader createRoutesLoader() {
Optional<RoutesLoader> result = ResolverHelper.resolveService(
diff --git a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
index 66046dfa7b7..c7ebcec3047 100644
--- a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
+++ b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
@@ -223,8 +223,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "UuidGenerator": target.setUuidGenerator(property(camelContext, org.apache.camel.spi.UuidGenerator.class, value)); return true;
case "vaultconfiguration":
case "VaultConfiguration": target.setVaultConfiguration(property(camelContext, org.apache.camel.vault.VaultConfiguration.class, value)); return true;
- case "xmlroutesdefinitionloader":
- case "XMLRoutesDefinitionLoader": target.setXMLRoutesDefinitionLoader(property(camelContext, org.apache.camel.spi.XMLRoutesDefinitionLoader.class, value)); return true;
default: return false;
}
}
@@ -434,8 +432,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "UuidGenerator": return org.apache.camel.spi.UuidGenerator.class;
case "vaultconfiguration":
case "VaultConfiguration": return org.apache.camel.vault.VaultConfiguration.class;
- case "xmlroutesdefinitionloader":
- case "XMLRoutesDefinitionLoader": return org.apache.camel.spi.XMLRoutesDefinitionLoader.class;
default: return null;
}
}
@@ -646,8 +642,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "UuidGenerator": return target.getUuidGenerator();
case "vaultconfiguration":
case "VaultConfiguration": return target.getVaultConfiguration();
- case "xmlroutesdefinitionloader":
- case "XMLRoutesDefinitionLoader": return target.getXMLRoutesDefinitionLoader();
default: return null;
}
}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
index 7fc6ace53ac..baaba5df180 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContext.java
@@ -151,7 +151,6 @@ import org.apache.camel.spi.UriFactoryResolver;
import org.apache.camel.spi.UuidGenerator;
import org.apache.camel.spi.Validator;
import org.apache.camel.spi.ValidatorRegistry;
-import org.apache.camel.spi.XMLRoutesDefinitionLoader;
import org.apache.camel.support.DefaultRegistry;
import org.apache.camel.support.jsse.SSLContextParameters;
import org.apache.camel.vault.VaultConfiguration;
@@ -1679,16 +1678,6 @@ public class LightweightCamelContext implements ExtendedCamelContext, CatalogCam
getExtendedCamelContext().setEventNotificationApplicable(eventNotificationApplicable);
}
- @Override
- public void setXMLRoutesDefinitionLoader(XMLRoutesDefinitionLoader xmlRoutesDefinitionLoader) {
- getExtendedCamelContext().setXMLRoutesDefinitionLoader(xmlRoutesDefinitionLoader);
- }
-
- @Override
- public XMLRoutesDefinitionLoader getXMLRoutesDefinitionLoader() {
- return getExtendedCamelContext().getXMLRoutesDefinitionLoader();
- }
-
@Override
public void setRoutesLoader(RoutesLoader routesLoader) {
getExtendedCamelContext().setRoutesLoader(routesLoader);
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java
index 122a6237168..6768fab397e 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightRuntimeCamelContext.java
@@ -147,7 +147,6 @@ import org.apache.camel.spi.UriFactoryResolver;
import org.apache.camel.spi.UuidGenerator;
import org.apache.camel.spi.Validator;
import org.apache.camel.spi.ValidatorRegistry;
-import org.apache.camel.spi.XMLRoutesDefinitionLoader;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.support.NormalizedUri;
import org.apache.camel.support.jsse.SSLContextParameters;
@@ -1968,16 +1967,6 @@ public class LightweightRuntimeCamelContext implements ExtendedCamelContext, Cat
throw new UnsupportedOperationException();
}
- @Override
- public XMLRoutesDefinitionLoader getXMLRoutesDefinitionLoader() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void setXMLRoutesDefinitionLoader(XMLRoutesDefinitionLoader xmlRoutesDefinitionLoader) {
- throw new UnsupportedOperationException();
- }
-
@Override
public void setRoutesLoader(RoutesLoader routesLoader) {
throw new UnsupportedOperationException();
diff --git a/dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader b/dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
deleted file mode 100644
index 0914600d799..00000000000
--- a/dsl/camel-xml-io-dsl/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.dsl.xml.io.XmlRoutesDefinitionLoader
diff --git a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesDefinitionLoader.java b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesDefinitionLoader.java
deleted file mode 100644
index b2b24d9a280..00000000000
--- a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesDefinitionLoader.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dsl.xml.io;
-
-import java.io.InputStream;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.XMLRoutesDefinitionLoader;
-import org.apache.camel.spi.annotations.JdkService;
-import org.apache.camel.xml.in.ModelParser;
-
-/**
- * {@link XMLRoutesDefinitionLoader} that uses {@link ModelParser} to load and parse the routes from XML which is fast
- * and light-weight compared to the default that uses JAXB.
- */
-@JdkService(XMLRoutesDefinitionLoader.FACTORY)
-@Deprecated
-public class XmlRoutesDefinitionLoader implements XMLRoutesDefinitionLoader {
-
- public static final String NAMESPACE = "http://camel.apache.org/schema/spring";
-
- @Override
- public Object loadRoutesDefinition(CamelContext context, InputStream inputStream) throws Exception {
- ModelParser parser = new ModelParser(inputStream, NAMESPACE);
- return parser.parseRoutesDefinition();
- }
-
- @Override
- public Object loadRouteTemplatesDefinition(CamelContext context, InputStream inputStream) throws Exception {
- ModelParser parser = new ModelParser(inputStream, NAMESPACE);
- return parser.parseRouteTemplatesDefinition();
- }
-
- @Override
- public Object loadRestsDefinition(CamelContext context, InputStream inputStream) throws Exception {
- ModelParser parser = new ModelParser(inputStream, NAMESPACE);
- return parser.parseRestsDefinition();
- }
-
- @Override
- public String toString() {
- return "camel-xml-io";
- }
-}
diff --git a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/CreateModelFromXmlTest.java b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/CreateModelFromXmlTest.java
index c5d49915f02..108f52f8744 100644
--- a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/CreateModelFromXmlTest.java
+++ b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/CreateModelFromXmlTest.java
@@ -29,6 +29,7 @@ import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.RoutesDefinition;
import org.apache.camel.model.language.ExpressionDefinition;
import org.apache.camel.spi.NamespaceAware;
+import org.apache.camel.xml.jaxb.JaxbHelper;
import org.junit.jupiter.api.Test;
import static org.apache.camel.model.ProcessorDefinitionHelper.filterTypeInOutputs;
@@ -95,11 +96,10 @@ public class CreateModelFromXmlTest extends ContextTestSupport {
if (fromString) {
String xml = context.getTypeConverter().convertTo(String.class, inputStream);
- InputStream isxml = context.getTypeConverter().convertTo(InputStream.class, xml);
- return (RoutesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRoutesDefinition(context, isxml);
+ inputStream = context.getTypeConverter().convertTo(InputStream.class, xml);
}
- return (RoutesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRoutesDefinition(context, inputStream);
+ return JaxbHelper.loadRoutesDefinition(context, inputStream);
}
private void assertNamespacesPresent(RoutesDefinition routesDefinition, Map<String, String> expectedNamespaces) {
diff --git a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRestFromXmlTest.java b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRestFromXmlTest.java
index bb5b2ad7159..02ae1304a52 100644
--- a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRestFromXmlTest.java
+++ b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRestFromXmlTest.java
@@ -16,16 +16,14 @@
*/
package org.apache.camel.dsl.xml.jaxb.definition;
-import java.io.InputStream;
-
import org.apache.camel.ContextTestSupport;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.rest.DummyRestConsumerFactory;
import org.apache.camel.component.rest.DummyRestProcessorFactory;
-import org.apache.camel.model.rest.RestsDefinition;
import org.apache.camel.spi.Registry;
+import org.apache.camel.spi.Resource;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -54,10 +52,9 @@ public class LoadRestFromXmlTest extends ContextTestSupport {
foo.assertIsSatisfied();
// load rest from XML and add them to the existing camel context
- InputStream is = getClass().getResourceAsStream("barRest.xml");
ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
- RestsDefinition rests = (RestsDefinition) ecc.getXMLRoutesDefinitionLoader().loadRestsDefinition(ecc, is);
- context.addRestDefinitions(rests.getRests(), true);
+ Resource resource = ecc.getResourceLoader().resolveResource("org/apache/camel/dsl/xml/jaxb/definition/barRest.xml");
+ ecc.getRoutesLoader().loadRoutes(resource);
assertNotNull(context.getRoute("route1"), "Loaded rest route should be there");
assertEquals(3, context.getRoutes().size());
diff --git a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlTest.java b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlTest.java
index 48879d4c294..458a69f43d7 100644
--- a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlTest.java
+++ b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlTest.java
@@ -16,13 +16,11 @@
*/
package org.apache.camel.dsl.xml.jaxb.definition;
-import java.io.InputStream;
-
import org.apache.camel.ContextTestSupport;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.model.RoutesDefinition;
+import org.apache.camel.spi.Resource;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -43,10 +41,9 @@ public class LoadRouteFromXmlTest extends ContextTestSupport {
// START SNIPPET: e1
// load route from XML and add them to the existing camel context
- InputStream is = getClass().getResourceAsStream("barRoute.xml");
ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
- RoutesDefinition routes = (RoutesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRoutesDefinition(ecc, is);
- context.addRouteDefinitions(routes.getRoutes());
+ Resource resource = ecc.getResourceLoader().resolveResource("org/apache/camel/dsl/xml/jaxb/definition/barRoute.xml");
+ ecc.getRoutesLoader().loadRoutes(resource);
// END SNIPPET: e1
assertNotNull(context.getRoute("bar"), "Loaded bar route should be there");
diff --git a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithInterceptTest.java b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithInterceptTest.java
index 8dd00692753..0b51c0c437d 100644
--- a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithInterceptTest.java
+++ b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithInterceptTest.java
@@ -16,11 +16,9 @@
*/
package org.apache.camel.dsl.xml.jaxb.definition;
-import java.io.InputStream;
-
import org.apache.camel.ContextTestSupport;
import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.model.RoutesDefinition;
+import org.apache.camel.spi.Resource;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -35,10 +33,10 @@ public class LoadRouteFromXmlWithInterceptTest extends ContextTestSupport {
@Test
public void testLoadRouteFromXmlWithIntercept() throws Exception {
- InputStream is = getClass().getResourceAsStream("barInterceptorRoute.xml");
ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
- RoutesDefinition routes = (RoutesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRoutesDefinition(ecc, is);
- context.addRouteDefinitions(routes.getRoutes());
+ Resource resource
+ = ecc.getResourceLoader().resolveResource("org/apache/camel/dsl/xml/jaxb/definition/barInterceptorRoute.xml");
+ ecc.getRoutesLoader().loadRoutes(resource);
context.start();
assertNotNull(context.getRoute("bar"), "Loaded bar route should be there");
diff --git a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithNamespaceTest.java b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithNamespaceTest.java
index 42cc4c171e9..6acbf19b5bc 100644
--- a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithNamespaceTest.java
+++ b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithNamespaceTest.java
@@ -16,13 +16,11 @@
*/
package org.apache.camel.dsl.xml.jaxb.definition;
-import java.io.InputStream;
-
import org.apache.camel.ContextTestSupport;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Route;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.model.RoutesDefinition;
+import org.apache.camel.spi.Resource;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -31,10 +29,10 @@ public class LoadRouteFromXmlWithNamespaceTest extends ContextTestSupport {
@Test
public void testLoadRouteWithNamespaceFromXml() throws Exception {
- InputStream is = getClass().getResourceAsStream("routeWithNamespace.xml");
ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
- RoutesDefinition routes = (RoutesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRoutesDefinition(ecc, is);
- context.addRouteDefinitions(routes.getRoutes());
+ Resource resource
+ = ecc.getResourceLoader().resolveResource("org/apache/camel/dsl/xml/jaxb/definition/routeWithNamespace.xml");
+ ecc.getRoutesLoader().loadRoutes(resource);
context.start();
Route routeWithNamespace = context.getRoute("routeWithNamespace");
diff --git a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithOnExceptionTest.java b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithOnExceptionTest.java
index 90d9f4adfcf..0a3ecfc8198 100644
--- a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithOnExceptionTest.java
+++ b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithOnExceptionTest.java
@@ -16,14 +16,12 @@
*/
package org.apache.camel.dsl.xml.jaxb.definition;
-import java.io.InputStream;
-
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
-import org.apache.camel.model.RoutesDefinition;
import org.apache.camel.spi.Registry;
+import org.apache.camel.spi.Resource;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -45,10 +43,10 @@ public class LoadRouteFromXmlWithOnExceptionTest extends ContextTestSupport {
@Test
public void testLoadRouteFromXmlWitOnException() throws Exception {
- InputStream is = getClass().getResourceAsStream("barOnExceptionRoute.xml");
ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
- RoutesDefinition routes = (RoutesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRoutesDefinition(ecc, is);
- context.addRouteDefinitions(routes.getRoutes());
+ Resource resource
+ = ecc.getResourceLoader().resolveResource("org/apache/camel/dsl/xml/jaxb/definition/barOnExceptionRoute.xml");
+ ecc.getRoutesLoader().loadRoutes(resource);
context.start();
assertNotNull(context.getRoute("bar"), "Loaded bar route should be there");
diff --git a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithPolicyTest.java b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithPolicyTest.java
index 3b6265959dc..ab738eaf9a8 100644
--- a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithPolicyTest.java
+++ b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/LoadRouteFromXmlWithPolicyTest.java
@@ -16,17 +16,15 @@
*/
package org.apache.camel.dsl.xml.jaxb.definition;
-import java.io.InputStream;
-
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.Route;
-import org.apache.camel.model.RoutesDefinition;
import org.apache.camel.spi.Policy;
import org.apache.camel.spi.Registry;
+import org.apache.camel.spi.Resource;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -48,10 +46,10 @@ public class LoadRouteFromXmlWithPolicyTest extends ContextTestSupport {
@Test
public void testLoadRouteFromXmlWitPolicy() throws Exception {
- InputStream is = getClass().getResourceAsStream("barPolicyRoute.xml");
ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
- RoutesDefinition routes = (RoutesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRoutesDefinition(ecc, is);
- context.addRouteDefinitions(routes.getRoutes());
+ Resource resource
+ = ecc.getResourceLoader().resolveResource("org/apache/camel/dsl/xml/jaxb/definition/barPolicyRoute.xml");
+ ecc.getRoutesLoader().loadRoutes(resource);
context.start();
assertNotNull(context.getRoute("foo"), "Loaded foo route should be there");
diff --git a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/RouteTemplateLoadFromXmlTest.java b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/RouteTemplateLoadFromXmlTest.java
index d29a737d108..40c3654993e 100644
--- a/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/RouteTemplateLoadFromXmlTest.java
+++ b/dsl/camel-xml-jaxb-dsl-test/definition/src/test/java/org/apache/camel/dsl/xml/jaxb/definition/RouteTemplateLoadFromXmlTest.java
@@ -16,14 +16,13 @@
*/
package org.apache.camel.dsl.xml.jaxb.definition;
-import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.model.RouteTemplateDefinition;
-import org.apache.camel.model.RouteTemplatesDefinition;
+import org.apache.camel.spi.Resource;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
@@ -34,11 +33,9 @@ public class RouteTemplateLoadFromXmlTest extends ContextTestSupport {
public void testDefineRouteTemplate() throws Exception {
assertEquals(0, context.getRouteTemplateDefinitions().size());
- InputStream is = getClass().getResourceAsStream("barTemplate.xml");
ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
- RouteTemplatesDefinition templates
- = (RouteTemplatesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRouteTemplatesDefinition(ecc, is);
- context.addRouteTemplateDefinitions(templates.getRouteTemplates());
+ Resource resource = ecc.getResourceLoader().resolveResource("org/apache/camel/dsl/xml/jaxb/definition/barTemplate.xml");
+ ecc.getRoutesLoader().loadRoutes(resource);
assertEquals(1, context.getRouteTemplateDefinitions().size());
@@ -51,11 +48,9 @@ public class RouteTemplateLoadFromXmlTest extends ContextTestSupport {
public void testCreateRouteFromRouteTemplate() throws Exception {
assertEquals(0, context.getRouteTemplateDefinitions().size());
- InputStream is = getClass().getResourceAsStream("barTemplate.xml");
ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
- RouteTemplatesDefinition templates
- = (RouteTemplatesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRouteTemplatesDefinition(ecc, is);
- context.addRouteTemplateDefinitions(templates.getRouteTemplates());
+ Resource resource = ecc.getResourceLoader().resolveResource("org/apache/camel/dsl/xml/jaxb/definition/barTemplate.xml");
+ ecc.getRoutesLoader().loadRoutes(resource);
assertEquals(1, context.getRouteTemplateDefinitions().size());
diff --git a/dsl/camel-xml-jaxb-dsl-test/spring/src/test/java/org/apache/camel/dsl/xml/jaxb/spring/CamelLoadRoutesFromXMLTest.java b/dsl/camel-xml-jaxb-dsl-test/spring/src/test/java/org/apache/camel/dsl/xml/jaxb/spring/CamelLoadRoutesFromXMLTest.java
index 10f7b56b9db..fc77f027510 100644
--- a/dsl/camel-xml-jaxb-dsl-test/spring/src/test/java/org/apache/camel/dsl/xml/jaxb/spring/CamelLoadRoutesFromXMLTest.java
+++ b/dsl/camel-xml-jaxb-dsl-test/spring/src/test/java/org/apache/camel/dsl/xml/jaxb/spring/CamelLoadRoutesFromXMLTest.java
@@ -16,18 +16,14 @@
*/
package org.apache.camel.dsl.xml.jaxb.spring;
-import java.io.InputStream;
-
import org.apache.camel.ContextTestSupport;
-import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.model.RoutesDefinition;
+import org.apache.camel.spi.Resource;
import org.apache.camel.spring.SpringCamelContext;
import org.junit.jupiter.api.Test;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.core.io.ClassPathResource;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
@@ -44,10 +40,8 @@ public class CamelLoadRoutesFromXMLTest extends ContextTestSupport {
assertTrue(camel.getStatus().isStarted());
// load routes from xml file
- InputStream is = new ClassPathResource("org/apache/camel/spring/myRoutes.xml").getInputStream();
- ExtendedCamelContext ecc = camel.adapt(ExtendedCamelContext.class);
- RoutesDefinition routes = (RoutesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRoutesDefinition(ecc, is);
- camel.addRouteDefinitions(routes.getRoutes());
+ Resource resource = camel.getResourceLoader().resolveResource("org/apache/camel/spring/myRoutes.xml");
+ camel.getRoutesLoader().loadRoutes(resource);
assertEquals(2, camel.getRoutes().size());
@@ -69,7 +63,7 @@ public class CamelLoadRoutesFromXMLTest extends ContextTestSupport {
MockEndpoint.assertIsSatisfied(foo, bar);
// remove the routes
- camel.removeRouteDefinitions(routes.getRoutes());
+ camel.removeAllRoutes();
// they should be removed
assertNull(camel.getRouteController().getRouteStatus("foo"));
@@ -82,9 +76,8 @@ public class CamelLoadRoutesFromXMLTest extends ContextTestSupport {
//camel.getRouteController().removeRoute("bar");
// load updated xml
- is = new ClassPathResource("org/apache/camel/spring/myUpdatedRoutes.xml").getInputStream();
- routes = (RoutesDefinition) ecc.getXMLRoutesDefinitionLoader().loadRoutesDefinition(ecc, is);
- camel.addRouteDefinitions(routes.getRoutes());
+ resource = camel.getResourceLoader().resolveResource("org/apache/camel/spring/myUpdatedRoutes.xml");
+ camel.getRoutesLoader().loadRoutes(resource);
assertEquals(2, camel.getRoutes().size());
diff --git a/dsl/camel-xml-jaxb-dsl/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader b/dsl/camel-xml-jaxb-dsl/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
deleted file mode 100644
index c443dbe100a..00000000000
--- a/dsl/camel-xml-jaxb-dsl/src/generated/resources/META-INF/services/org/apache/camel/xmlroutes-loader
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.dsl.xml.jaxb.JaxbXmlRoutesDefinitionLoader
diff --git a/dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesDefinitionLoader.java b/dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesDefinitionLoader.java
deleted file mode 100644
index c3a5adfbfd5..00000000000
--- a/dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesDefinitionLoader.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dsl.xml.jaxb;
-
-import java.io.InputStream;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.XMLRoutesDefinitionLoader;
-import org.apache.camel.spi.annotations.JdkService;
-import org.apache.camel.xml.jaxb.JaxbHelper;
-
-/**
- * JAXB based {@link XMLRoutesDefinitionLoader}. This is the default loader used historically by Camel. The camel-xml-io
- * parser is a light-weight alternative.
- */
-@JdkService(XMLRoutesDefinitionLoader.FACTORY)
-@Deprecated
-public class JaxbXmlRoutesDefinitionLoader implements XMLRoutesDefinitionLoader {
-
- @Override
- public Object loadRoutesDefinition(CamelContext context, InputStream inputStream) throws Exception {
- return JaxbHelper.loadRoutesDefinition(context, inputStream);
- }
-
- @Override
- public Object loadRouteTemplatesDefinition(CamelContext context, InputStream inputStream) throws Exception {
- return JaxbHelper.loadRouteTemplatesDefinition(context, inputStream);
- }
-
- @Override
- public Object loadRestsDefinition(CamelContext context, InputStream inputStream) throws Exception {
- return JaxbHelper.loadRestsDefinition(context, inputStream);
- }
-
- @Override
- public String toString() {
- return "camel-xml-jaxb";
- }
-
-}