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 <[email protected]> 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;
