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 2020/03/04 08:58:08 UTC
[camel] 23/32: Move DefaultModelJAXBContextFactory to camel-xml-jaxb
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 73502c025c1001de48610d930452d5302106aa66
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Mar 3 21:42:22 2020 +0100
Move DefaultModelJAXBContextFactory to camel-xml-jaxb
---
components/camel-blueprint/pom.xml | 4 ++++
.../org/apache/camel/blueprint/BlueprintModelJAXBContextFactory.java | 2 +-
.../java/org/apache/camel/spring/SpringModelJAXBContextFactory.java | 2 +-
.../java/org/apache/camel/spring/CamelContextFactoryBeanTest.java | 2 +-
.../src/main/java/org/apache/camel/spi/ModelJAXBContextFactory.java | 5 +++++
.../src/main/java/org/apache/camel/impl/DefaultCamelContext.java | 5 ++++-
.../src/test/java/org/apache/camel/model/XmlTestSupport.java | 2 +-
.../META-INF/services/org/apache/camel/model-jaxbcontext-factory | 2 ++
.../org/apache/camel/xml/jaxb}/DefaultModelJAXBContextFactory.java | 4 +++-
.../java/org/apache/camel/itest/jaxb/SpringLoadRouteFromXmlTest.java | 2 +-
10 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/components/camel-blueprint/pom.xml b/components/camel-blueprint/pom.xml
index f351356..173f06c 100644
--- a/components/camel-blueprint/pom.xml
+++ b/components/camel-blueprint/pom.xml
@@ -56,6 +56,10 @@
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>camel-xml-jaxb</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-bean</artifactId>
</dependency>
<dependency>
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintModelJAXBContextFactory.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintModelJAXBContextFactory.java
index 07259b5..dd296bf 100644
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintModelJAXBContextFactory.java
+++ b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintModelJAXBContextFactory.java
@@ -20,7 +20,7 @@ import java.util.LinkedHashSet;
import java.util.Set;
import org.apache.camel.core.xml.AbstractCamelContextFactoryBean;
-import org.apache.camel.impl.DefaultModelJAXBContextFactory;
+import org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory;
import org.apache.camel.util.blueprint.SSLContextParametersFactoryBean;
public class BlueprintModelJAXBContextFactory extends DefaultModelJAXBContextFactory {
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/SpringModelJAXBContextFactory.java b/components/camel-spring/src/main/java/org/apache/camel/spring/SpringModelJAXBContextFactory.java
index 76a8066..3b39cc1 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/SpringModelJAXBContextFactory.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/SpringModelJAXBContextFactory.java
@@ -16,7 +16,7 @@
*/
package org.apache.camel.spring;
-import org.apache.camel.impl.DefaultModelJAXBContextFactory;
+import org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory;
public class SpringModelJAXBContextFactory extends DefaultModelJAXBContextFactory {
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java
index 6392dba..56b9898 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/CamelContextFactoryBeanTest.java
@@ -20,7 +20,7 @@ import java.net.URL;
import java.util.LinkedList;
import java.util.List;
-import org.apache.camel.impl.DefaultModelJAXBContextFactory;
+import org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory;
import org.apache.camel.impl.engine.DefaultUuidGenerator;
import org.apache.camel.spi.ModelJAXBContextFactory;
import org.apache.camel.spi.UuidGenerator;
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/ModelJAXBContextFactory.java b/core/camel-api/src/main/java/org/apache/camel/spi/ModelJAXBContextFactory.java
index 88578c6..7098c51 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ModelJAXBContextFactory.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ModelJAXBContextFactory.java
@@ -25,6 +25,11 @@ import javax.xml.bind.JAXBException;
public interface ModelJAXBContextFactory {
/**
+ * Service factory key.
+ */
+ String FACTORY = "model-jaxbcontext-factory";
+
+ /**
* Creates a new {@link javax.xml.bind.JAXBContext} used for loading the Camel model
*
* @return a new JAXBContext
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index ede62b8..5edb552 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -218,7 +218,10 @@ public class DefaultCamelContext extends AbstractModelCamelContext {
@Override
protected ModelJAXBContextFactory createModelJAXBContextFactory() {
- return new DefaultModelJAXBContextFactory();
+ return new BaseServiceResolver<>(ModelJAXBContextFactory.FACTORY, ModelJAXBContextFactory.class)
+ .resolve(this)
+ .orElseThrow(() -> new IllegalArgumentException("Cannot find ModelJAXBContextFactory on classpath. "
+ + "Add camel-xml-jaxb to classpath."));
}
@Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/model/XmlTestSupport.java b/core/camel-core/src/test/java/org/apache/camel/model/XmlTestSupport.java
index ee9ee34..a143125 100644
--- a/core/camel-core/src/test/java/org/apache/camel/model/XmlTestSupport.java
+++ b/core/camel-core/src/test/java/org/apache/camel/model/XmlTestSupport.java
@@ -23,7 +23,7 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import org.apache.camel.TestSupport;
-import org.apache.camel.impl.DefaultModelJAXBContextFactory;
+import org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory;
import org.apache.camel.model.rest.RestContainer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/model-jaxbcontext-factory b/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/model-jaxbcontext-factory
new file mode 100644
index 0000000..2b9714b
--- /dev/null
+++ b/core/camel-xml-jaxb/src/generated/resources/META-INF/services/org/apache/camel/model-jaxbcontext-factory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModelJAXBContextFactory.java b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/DefaultModelJAXBContextFactory.java
similarity index 92%
rename from core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModelJAXBContextFactory.java
rename to core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/DefaultModelJAXBContextFactory.java
index cdd53cb..1ec86ef 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModelJAXBContextFactory.java
+++ b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/DefaultModelJAXBContextFactory.java
@@ -14,18 +14,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.impl;
+package org.apache.camel.xml.jaxb;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import org.apache.camel.model.Constants;
import org.apache.camel.spi.ModelJAXBContextFactory;
+import org.apache.camel.spi.annotations.JdkService;
/**
* Default implementation of
* {@link org.apache.camel.spi.ModelJAXBContextFactory}.
*/
+@JdkService(ModelJAXBContextFactory.FACTORY)
public class DefaultModelJAXBContextFactory implements ModelJAXBContextFactory {
private volatile JAXBContext context;
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/jaxb/SpringLoadRouteFromXmlTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/jaxb/SpringLoadRouteFromXmlTest.java
index f97da93..e6a2f73 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/jaxb/SpringLoadRouteFromXmlTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/jaxb/SpringLoadRouteFromXmlTest.java
@@ -20,7 +20,7 @@ import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.DefaultModelJAXBContextFactory;
+import org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory;
import org.apache.camel.model.RoutesDefinition;
import org.apache.camel.test.spring.CamelSpringTestSupport;
import org.junit.Test;