CAMEL-9521: Move spring-dm out of camel-spring into a new camel-spring-dm module.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/20a85773 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/20a85773 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/20a85773 Branch: refs/heads/master Commit: 20a85773b751ebe726664b4be866423fb18463cc Parents: 6b2bcea Author: Claus Ibsen <[email protected]> Authored: Wed Apr 13 15:49:19 2016 +0200 Committer: Claus Ibsen <[email protected]> Committed: Thu Apr 14 09:11:46 2016 +0200 ---------------------------------------------------------------------- apache-camel/pom.xml | 4 + .../src/main/descriptors/common-bin.xml | 1 + components/camel-spring-dm/pom.xml | 196 ++++++++++++++++++ .../java/org/apache/camel/osgi/Activator.java | 45 ++++ .../apache/camel/osgi/CamelContextFactory.java | 66 ++++++ .../camel/osgi/CamelContextFactoryBean.java | 74 +++++++ .../camel/osgi/CamelNamespaceHandler.java | 45 ++++ .../camel/osgi/OsgiSpringCamelContext.java | 64 ++++++ .../camel/osgi/SpringCamelContextFactory.java | 36 ++++ .../org/apache/camel/osgi/package-info.java | 22 ++ .../src/main/resources/META-INF/LICENSE.TXT | 203 +++++++++++++++++++ .../src/main/resources/META-INF/NOTICE.txt | 11 + .../src/main/resources/META-INF/spring.handlers | 20 ++ .../src/main/resources/camel-osgi.xml | 37 ++++ .../resources/org/apache/camel/osgi/jaxb.index | 17 ++ components/camel-spring/pom.xml | 67 +----- .../java/org/apache/camel/osgi/Activator.java | 45 ---- .../apache/camel/osgi/CamelContextFactory.java | 66 ------ .../camel/osgi/CamelContextFactoryBean.java | 74 ------- .../camel/osgi/CamelNamespaceHandler.java | 45 ---- .../camel/osgi/OsgiSpringCamelContext.java | 64 ------ .../camel/osgi/SpringCamelContextFactory.java | 36 ---- .../org/apache/camel/osgi/package-info.java | 22 -- .../src/main/resources/META-INF/spring.handlers | 1 - .../src/main/resources/META-INF/spring.schemas | 57 ------ .../src/main/resources/camel-osgi.xsd | 38 ---- .../resources/org/apache/camel/osgi/jaxb.index | 17 -- components/pom.xml | 1 + examples/camel-example-osgi/README.md | 46 ----- examples/camel-example-osgi/pom.xml | 92 --------- .../camel/example/osgi/MyRouteBuilder.java | 46 ----- .../apache/camel/example/osgi/MyTransform.java | 56 ----- .../src/main/resources/META-INF/LICENSE.txt | 203 ------------------- .../src/main/resources/META-INF/NOTICE.txt | 11 - .../resources/META-INF/spring/camelContext.xml | 38 ---- .../src/main/resources/features.xml | 26 --- examples/camel-example-spring-dm/README.md | 46 +++++ examples/camel-example-spring-dm/pom.xml | 92 +++++++++ .../camel/example/osgi/MyRouteBuilder.java | 46 +++++ .../apache/camel/example/osgi/MyTransform.java | 56 +++++ .../src/main/resources/META-INF/LICENSE.txt | 203 +++++++++++++++++++ .../src/main/resources/META-INF/NOTICE.txt | 11 + .../resources/META-INF/spring/camelContext.xml | 38 ++++ .../src/main/resources/features.xml | 26 +++ examples/pom.xml | 2 +- parent/pom.xml | 6 + .../features/src/main/resources/features.xml | 12 +- 47 files changed, 1378 insertions(+), 1052 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/apache-camel/pom.xml ---------------------------------------------------------------------- diff --git a/apache-camel/pom.xml b/apache-camel/pom.xml index f293809..b59b0e2 100644 --- a/apache-camel/pom.xml +++ b/apache-camel/pom.xml @@ -792,6 +792,10 @@ </dependency> <dependency> <groupId>org.apache.camel</groupId> + <artifactId>camel-spring-dm</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> <artifactId>camel-spring-integration</artifactId> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/apache-camel/src/main/descriptors/common-bin.xml ---------------------------------------------------------------------- diff --git a/apache-camel/src/main/descriptors/common-bin.xml b/apache-camel/src/main/descriptors/common-bin.xml index 162fedc..6e39ae7 100644 --- a/apache-camel/src/main/descriptors/common-bin.xml +++ b/apache-camel/src/main/descriptors/common-bin.xml @@ -208,6 +208,7 @@ <include>org.apache.camel:camel-spring-batch</include> <include>org.apache.camel:camel-spring-boot</include> <include>org.apache.camel:camel-spring-boot-starter</include> + <include>org.apache.camel:camel-spring-dm</include> <include>org.apache.camel:camel-spring-integration</include> <include>org.apache.camel:camel-spring-javaconfig</include> <include>org.apache.camel:camel-spring-ldap</include> http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/pom.xml b/components/camel-spring-dm/pom.xml new file mode 100644 index 0000000..2cc2489 --- /dev/null +++ b/components/camel-spring-dm/pom.xml @@ -0,0 +1,196 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.camel</groupId> + <artifactId>components</artifactId> + <version>2.18-SNAPSHOT</version> + </parent> + + <artifactId>camel-spring-dm</artifactId> + <name>Camel :: Spring DM</name> + <description>Camel Spring DM support</description> + <packaging>jar</packaging> + + <properties> + <!-- spring-dm only supports spring 3.x so we need to import that range --> + <camel.osgi.import> + !org.apache.camel.spring.*, + !org.apache.camel.component, + !org.apache.camel.component.event, + !org.apache.camel.language.spel, + !org.apache.camel.core.osgi*, + !org.apache.camel.core.xml*, + !org.apache.camel.osgi.*, + org.apache.camel.*;${camel.osgi.import.strict.version}, + org.springframework.osgi.*;version="[1.2,2)", + org.springframework*;version="${spring-dm-version-range}", + org.osgi.service.event;resolution:=optional, + ${camel.osgi.import.defaults}, + * + </camel.osgi.import> + <camel.osgi.activator> + org.apache.camel.osgi.Activator + </camel.osgi.activator> + <!-- do not skip any tests by default --> + <platform.skip.tests/> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-spring</artifactId> + <scope>provided</scope> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-core-osgi</artifactId> + <scope>provided</scope> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.core</artifactId> + <scope>provided</scope> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.compendium</artifactId> + <scope>provided</scope> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.springframework.osgi</groupId> + <artifactId>spring-osgi-core</artifactId> + <optional>true</optional> + <exclusions> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>org.springframework.aop</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>org.springframework.beans</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>org.springframework.context</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>org.springframework.core</artifactId> + </exclusion> + </exclusions> + </dependency> + + </dependencies> + + <build> + <resources> + <resource> + <directory>target/schema</directory> + <includes> + <include>**/*</include> + </includes> + </resource> + <resource> + <directory>src/main/resources</directory> + <includes> + <include>**/*</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + + <plugins> + + <!-- Inline the contents of camel-spring, camel-core-osgi, and camel-core-xml into this bundle. --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.10</version> + <executions> + <execution> + <id>unpack</id> + <phase>prepare-package</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>org.apache.camel</groupId> + <artifactId>camel-spring</artifactId> + <version>${project.version}</version> + <includes>org/apache/camel/**</includes> + <outputDirectory>${project.build.directory}/classes</outputDirectory> + </artifactItem> + <!-- include the embedded spring schemas descriptor --> + <artifactItem> + <groupId>org.apache.camel</groupId> + <artifactId>camel-spring</artifactId> + <version>${project.version}</version> + <includes>META-INF/spring.schemas</includes> + <outputDirectory>${project.build.directory}/classes</outputDirectory> + </artifactItem> + <artifactItem> + <groupId>org.apache.camel</groupId> + <artifactId>camel-core-osgi</artifactId> + <version>${project.version}</version> + <includes>org/apache/camel/**</includes> + <outputDirectory>${project.build.directory}/classes</outputDirectory> + </artifactItem> + <artifactItem> + <groupId>org.apache.camel</groupId> + <artifactId>camel-core-xml</artifactId> + <version>${project.version}</version> + <includes>org/apache/camel/**</includes> + <outputDirectory>${project.build.directory}/classes</outputDirectory> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + + <!-- Push the execution order of the maven-bundle-plugin further to the end. That's why we add it here again. --> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <executions> + <execution> + <id>bundle-manifest</id> + <phase>prepare-package</phase> + </execution> + </executions> + </plugin> + </plugins> + + </build> + + +</project> http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/Activator.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/Activator.java b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/Activator.java new file mode 100644 index 0000000..c8b6aaa --- /dev/null +++ b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/Activator.java @@ -0,0 +1,45 @@ +/** + * 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.osgi; + +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; + +public class Activator implements BundleActivator { + + private static BundleContext context; + private static Bundle bundle; + + public static Bundle getBundle() { + return bundle; + } + + public static BundleContext getBundleContext() { + return context; + } + + public void start(BundleContext context) throws Exception { + Activator.context = context; + Activator.bundle = context.getBundle(); + } + + public void stop(BundleContext context) throws Exception { + Activator.context = null; + Activator.bundle = null; + } +} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelContextFactory.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelContextFactory.java b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelContextFactory.java new file mode 100644 index 0000000..7989bd9 --- /dev/null +++ b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelContextFactory.java @@ -0,0 +1,66 @@ +/** + * 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.osgi; + +import org.apache.camel.core.osgi.OsgiDefaultCamelContext; +import org.apache.camel.impl.DefaultCamelContext; +import org.apache.camel.spi.Registry; +import org.osgi.framework.BundleContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.osgi.context.BundleContextAware; + +/** + * This factory just create a DefaultContext in OSGi without + * any spring application context involved. + */ +public class CamelContextFactory implements BundleContextAware { + private static final Logger LOG = LoggerFactory.getLogger(CamelContextFactory.class); + private BundleContext bundleContext; + private Registry registry; + + public BundleContext getBundleContext() { + return bundleContext; + } + + public void setBundleContext(BundleContext bundleContext) { + LOG.debug("Using BundleContext: {}", bundleContext); + this.bundleContext = bundleContext; + } + + public Registry getRegistry() { + return registry; + } + + public void setRegistry(Registry registry) { + LOG.debug("Using Registry: {}", registry); + this.registry = registry; + } + + protected DefaultCamelContext newCamelContext() { + if (registry != null) { + return new OsgiDefaultCamelContext(bundleContext, registry); + } else { + return new OsgiDefaultCamelContext(bundleContext); + } + } + + public DefaultCamelContext createContext() { + return newCamelContext(); + } + +} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java new file mode 100644 index 0000000..068fc93 --- /dev/null +++ b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java @@ -0,0 +1,74 @@ +/** + * 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.osgi; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlTransient; + +import org.apache.camel.core.osgi.OsgiCamelContextPublisher; +import org.apache.camel.core.osgi.OsgiEventAdminNotifier; +import org.apache.camel.spring.SpringCamelContext; +import org.osgi.framework.BundleContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.osgi.context.BundleContextAware; + +@XmlRootElement(name = "camelContext") +@XmlAccessorType(XmlAccessType.FIELD) +public class CamelContextFactoryBean extends org.apache.camel.spring.CamelContextFactoryBean implements BundleContextAware { + private static final Logger LOG = LoggerFactory.getLogger(CamelContextFactoryBean.class); + + @XmlTransient + private BundleContext bundleContext; + + public BundleContext getBundleContext() { + return bundleContext; + } + + public void setBundleContext(BundleContext bundleContext) { + LOG.debug("Using BundleContext: {}", bundleContext); + this.bundleContext = bundleContext; + } + + protected SpringCamelContext createContext() { + SpringCamelContext ctx = newCamelContext(); + // only set the name if its explicit (Camel will auto assign name if none explicit set) + if (!isImplicitId()) { + ctx.setName(getId()); + } + return ctx; + } + + protected SpringCamelContext newCamelContext() { + return new OsgiSpringCamelContext(getApplicationContext(), getBundleContext()); + } + + @Override + public void afterPropertiesSet() throws Exception { + super.afterPropertiesSet(); + getContext().getManagementStrategy().addEventNotifier(new OsgiCamelContextPublisher(bundleContext)); + try { + getClass().getClassLoader().loadClass("org.osgi.service.event.EventAdmin"); + getContext().getManagementStrategy().addEventNotifier(new OsgiEventAdminNotifier(bundleContext)); + } catch (Throwable t) { + // Ignore, if the EventAdmin package is not available, just don't use it + LOG.debug("EventAdmin package is not available, just don't use it"); + } + } +} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelNamespaceHandler.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelNamespaceHandler.java b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelNamespaceHandler.java new file mode 100644 index 0000000..41fcf6c --- /dev/null +++ b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/CamelNamespaceHandler.java @@ -0,0 +1,45 @@ +/** + * 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.osgi; + +import java.util.HashSet; +import java.util.Set; + +public class CamelNamespaceHandler extends org.apache.camel.spring.handler.CamelNamespaceHandler { + + public void init() { + super.init(); + registerParser("camelContext", new CamelContextBeanDefinitionParser(CamelContextFactoryBean.class)); + } + + // It just add the package of the class for initiate the JAXB context + protected Set<Class<?>> getJaxbPackages() { + Set<Class<?>> classes = new HashSet<Class<?>>(); + classes.add(CamelContextFactoryBean.class); + classes.add(org.apache.camel.spring.CamelContextFactoryBean.class); + classes.add(org.apache.camel.ExchangePattern.class); + classes.add(org.apache.camel.model.RouteDefinition.class); + classes.add(org.apache.camel.model.config.StreamResequencerConfig.class); + classes.add(org.apache.camel.model.dataformat.DataFormatsDefinition.class); + classes.add(org.apache.camel.model.language.ExpressionDefinition.class); + classes.add(org.apache.camel.model.loadbalancer.RoundRobinLoadBalancerDefinition.class); + classes.add(org.apache.camel.model.rest.RestDefinition.class); + return classes; + } + + +} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java new file mode 100644 index 0000000..52449bf --- /dev/null +++ b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java @@ -0,0 +1,64 @@ +/** + * 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.osgi; + +import org.apache.camel.TypeConverter; +import org.apache.camel.core.osgi.OsgiCamelContextHelper; +import org.apache.camel.core.osgi.OsgiFactoryFinderResolver; +import org.apache.camel.core.osgi.OsgiTypeConverter; +import org.apache.camel.core.osgi.utils.BundleContextUtils; +import org.apache.camel.spi.FactoryFinder; +import org.apache.camel.spi.Registry; +import org.apache.camel.spring.SpringCamelContext; +import org.osgi.framework.BundleContext; +import org.springframework.context.ApplicationContext; + +public class OsgiSpringCamelContext extends SpringCamelContext { + + private final BundleContext bundleContext; + + public OsgiSpringCamelContext(ApplicationContext applicationContext, BundleContext bundleContext) { + super(applicationContext); + this.bundleContext = bundleContext; + OsgiCamelContextHelper.osgiUpdate(this, bundleContext); + } + + @Override + protected TypeConverter createTypeConverter() { + // CAMEL-3614: make sure we use a bundle context which imports org.apache.camel.impl.converter package + BundleContext ctx = BundleContextUtils.getBundleContext(getClass()); + if (ctx == null) { + ctx = bundleContext; + } + FactoryFinder finder = new OsgiFactoryFinderResolver(bundleContext).resolveDefaultFactoryFinder(getClassResolver()); + return new OsgiTypeConverter(ctx, this, getInjector(), finder); + } + + @Override + protected Registry createRegistry() { + return OsgiCamelContextHelper.wrapRegistry(this, super.createRegistry(), bundleContext); + } + + @Override + public void setName(String name) { + super.setName(name); + // in OSGi prefix the bundle id to the management name so it will be unique in the JVM + // and also nicely sorted based on bundle id + super.setManagementName(bundleContext.getBundle().getBundleId() + "-" + name); + } + +} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/SpringCamelContextFactory.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/SpringCamelContextFactory.java b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/SpringCamelContextFactory.java new file mode 100644 index 0000000..8896edf --- /dev/null +++ b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/SpringCamelContextFactory.java @@ -0,0 +1,36 @@ +/** + * 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.osgi; + +import org.apache.camel.impl.DefaultCamelContext; +import org.apache.camel.spring.SpringCamelContext; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; + +public class SpringCamelContextFactory extends CamelContextFactory implements ApplicationContextAware { + private ApplicationContext applicationContext; + + public void setApplicationContext(ApplicationContext context) { + this.applicationContext = context; + } + + @Override + protected DefaultCamelContext newCamelContext() { + return new SpringCamelContext(applicationContext); + } + +} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/package-info.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/package-info.java b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/package-info.java new file mode 100644 index 0000000..7a74aef --- /dev/null +++ b/components/camel-spring-dm/src/main/java/org/apache/camel/osgi/package-info.java @@ -0,0 +1,22 @@ +/** + * 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. + */ + +/** + * OSGi with Spring-DM (deprecated) + */ [email protected](namespace = "http://camel.apache.org/schema/osgi", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +package org.apache.camel.osgi; http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/resources/META-INF/LICENSE.TXT ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/resources/META-INF/LICENSE.TXT b/components/camel-spring-dm/src/main/resources/META-INF/LICENSE.TXT new file mode 100644 index 0000000..6b0b127 --- /dev/null +++ b/components/camel-spring-dm/src/main/resources/META-INF/LICENSE.TXT @@ -0,0 +1,203 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed 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. + http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/resources/META-INF/NOTICE.txt ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/resources/META-INF/NOTICE.txt b/components/camel-spring-dm/src/main/resources/META-INF/NOTICE.txt new file mode 100644 index 0000000..2e215bf --- /dev/null +++ b/components/camel-spring-dm/src/main/resources/META-INF/NOTICE.txt @@ -0,0 +1,11 @@ + ========================================================================= + == NOTICE file corresponding to the section 4 d of == + == the Apache License, Version 2.0, == + == in this case for the Apache Camel distribution. == + ========================================================================= + + This product includes software developed by + The Apache Software Foundation (http://www.apache.org/). + + Please read the different LICENSE files present in the licenses directory of + this distribution. http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/resources/META-INF/spring.handlers ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/resources/META-INF/spring.handlers b/components/camel-spring-dm/src/main/resources/META-INF/spring.handlers new file mode 100644 index 0000000..d534535 --- /dev/null +++ b/components/camel-spring-dm/src/main/resources/META-INF/spring.handlers @@ -0,0 +1,20 @@ +# +# 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. +# + +http\://camel.apache.org/schema/spring=org.apache.camel.spring.handler.CamelNamespaceHandler +http\://camel.apache.org/schema/spring/v${camel.schema.version}=org.apache.camel.spring.handler.CamelNamespaceHandler +http\://camel.apache.org/schema/osgi=org.apache.camel.osgi.CamelNamespaceHandler \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/resources/camel-osgi.xml ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/resources/camel-osgi.xml b/components/camel-spring-dm/src/main/resources/camel-osgi.xml new file mode 100644 index 0000000..7fa30ea --- /dev/null +++ b/components/camel-spring-dm/src/main/resources/camel-osgi.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!-- + 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. +--> +<xs:schema elementFormDefault="qualified" version="1.0" + targetNamespace="http://camel.apache.org/schema/osgi" + xmlns:tns="http://camel.apache.org/schema/osgi" + xmlns:camel="http://camel.apache.org/schema/spring" + xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:import namespace="http://camel.apache.org/schema/spring" + schemaLocation="http://camel.apache.org/schema/spring/camel-spring.xsd" /> + + <xs:element name="camelContext" type="tns:camelContextFactoryBean"/> + + <xs:complexType name="camelContextFactoryBean"> + <xs:complexContent> + <xs:extension base="camel:camelContextFactoryBean"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> +</xs:schema> + http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring-dm/src/main/resources/org/apache/camel/osgi/jaxb.index ---------------------------------------------------------------------- diff --git a/components/camel-spring-dm/src/main/resources/org/apache/camel/osgi/jaxb.index b/components/camel-spring-dm/src/main/resources/org/apache/camel/osgi/jaxb.index new file mode 100644 index 0000000..18674e4 --- /dev/null +++ b/components/camel-spring-dm/src/main/resources/org/apache/camel/osgi/jaxb.index @@ -0,0 +1,17 @@ +## ------------------------------------------------------------------------ +## 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. +## ------------------------------------------------------------------------ +CamelContextFactoryBean http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-spring/pom.xml b/components/camel-spring/pom.xml index 5b79d0e..1424ab6 100644 --- a/components/camel-spring/pom.xml +++ b/components/camel-spring/pom.xml @@ -30,25 +30,20 @@ <packaging>jar</packaging> <properties> - <!-- spring-dm only supports spring 3.x so we need to import that range --> <camel.osgi.import> !org.apache.camel.spring.*, - !org.apache.camel.osgi.*, !org.apache.camel.component, !org.apache.camel.component.event, !org.apache.camel.language.spel, - !org.apache.camel.core.osgi*, !org.apache.camel.core.xml*, org.apache.camel.*;${camel.osgi.import.strict.version}, - org.springframework.osgi.*;version="[1.2,2)", - org.springframework*;version="${spring-dm-version-range}", + org.springframework*;version="${spring-all-version-range}", org.osgi.service.event;resolution:=optional, ${camel.osgi.import.defaults}, * </camel.osgi.import> <camel.osgi.export> org.apache.camel.spring.*;${camel.osgi.version}, - org.apache.camel.osgi.*;${camel.osgi.version}, org.apache.camel.util.spring.*;${camel.osgi.version}, org.apache.camel.component.event;${camel.osgi.split.pkg};${camel.osgi.version}, org.apache.camel.language.spel;${camel.osgi.split.pkg};${camel.osgi.version} @@ -57,9 +52,6 @@ org.apache.camel.spi.ComponentResolver;component=spring-event, org.apache.camel.spi.LanguageResolver;language=spel </camel.osgi.export.service> - <camel.osgi.activator> - org.apache.camel.osgi.Activator - </camel.osgi.activator> <!-- do not skip any tests by default --> <platform.skip.tests/> </properties> @@ -98,47 +90,6 @@ <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> </dependency> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-core-osgi</artifactId> - <scope>provided</scope> - <optional>true</optional> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.core</artifactId> - <scope>provided</scope> - <optional>true</optional> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.compendium</artifactId> - <scope>provided</scope> - <optional>true</optional> - </dependency> - <dependency> - <groupId>org.springframework.osgi</groupId> - <artifactId>spring-osgi-core</artifactId> - <optional>true</optional> - <exclusions> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>org.springframework.aop</artifactId> - </exclusion> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>org.springframework.beans</artifactId> - </exclusion> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>org.springframework.context</artifactId> - </exclusion> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>org.springframework.core</artifactId> - </exclusion> - </exclusions> - </dependency> <!-- for testing --> <dependency> @@ -210,13 +161,6 @@ <scope>test</scope> </dependency> - <!-- for testing with osgi --> - <dependency> - <groupId>org.springframework.osgi</groupId> - <artifactId>spring-osgi-mock</artifactId> - <scope>test</scope> - </dependency> - </dependencies> <build> @@ -238,7 +182,7 @@ <plugins> - <!-- Inline the contents of camel-core-osgi and camel-core-xml into this bundle. --> + <!-- Inline the contents of camel-core-xml into this jar. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> @@ -259,13 +203,6 @@ <includes>org/apache/camel/**</includes> <outputDirectory>${project.build.directory}/classes</outputDirectory> </artifactItem> - <artifactItem> - <groupId>org.apache.camel</groupId> - <artifactId>camel-core-osgi</artifactId> - <version>${project.version}</version> - <includes>org/apache/camel/**</includes> - <outputDirectory>${project.build.directory}/classes</outputDirectory> - </artifactItem> </artifactItems> </configuration> </execution> http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/java/org/apache/camel/osgi/Activator.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/Activator.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/Activator.java deleted file mode 100644 index c8b6aaa..0000000 --- a/components/camel-spring/src/main/java/org/apache/camel/osgi/Activator.java +++ /dev/null @@ -1,45 +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.osgi; - -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; - -public class Activator implements BundleActivator { - - private static BundleContext context; - private static Bundle bundle; - - public static Bundle getBundle() { - return bundle; - } - - public static BundleContext getBundleContext() { - return context; - } - - public void start(BundleContext context) throws Exception { - Activator.context = context; - Activator.bundle = context.getBundle(); - } - - public void stop(BundleContext context) throws Exception { - Activator.context = null; - Activator.bundle = null; - } -} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactory.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactory.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactory.java deleted file mode 100644 index 7989bd9..0000000 --- a/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactory.java +++ /dev/null @@ -1,66 +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.osgi; - -import org.apache.camel.core.osgi.OsgiDefaultCamelContext; -import org.apache.camel.impl.DefaultCamelContext; -import org.apache.camel.spi.Registry; -import org.osgi.framework.BundleContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.osgi.context.BundleContextAware; - -/** - * This factory just create a DefaultContext in OSGi without - * any spring application context involved. - */ -public class CamelContextFactory implements BundleContextAware { - private static final Logger LOG = LoggerFactory.getLogger(CamelContextFactory.class); - private BundleContext bundleContext; - private Registry registry; - - public BundleContext getBundleContext() { - return bundleContext; - } - - public void setBundleContext(BundleContext bundleContext) { - LOG.debug("Using BundleContext: {}", bundleContext); - this.bundleContext = bundleContext; - } - - public Registry getRegistry() { - return registry; - } - - public void setRegistry(Registry registry) { - LOG.debug("Using Registry: {}", registry); - this.registry = registry; - } - - protected DefaultCamelContext newCamelContext() { - if (registry != null) { - return new OsgiDefaultCamelContext(bundleContext, registry); - } else { - return new OsgiDefaultCamelContext(bundleContext); - } - } - - public DefaultCamelContext createContext() { - return newCamelContext(); - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java deleted file mode 100644 index 068fc93..0000000 --- a/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelContextFactoryBean.java +++ /dev/null @@ -1,74 +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.osgi; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; - -import org.apache.camel.core.osgi.OsgiCamelContextPublisher; -import org.apache.camel.core.osgi.OsgiEventAdminNotifier; -import org.apache.camel.spring.SpringCamelContext; -import org.osgi.framework.BundleContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.osgi.context.BundleContextAware; - -@XmlRootElement(name = "camelContext") -@XmlAccessorType(XmlAccessType.FIELD) -public class CamelContextFactoryBean extends org.apache.camel.spring.CamelContextFactoryBean implements BundleContextAware { - private static final Logger LOG = LoggerFactory.getLogger(CamelContextFactoryBean.class); - - @XmlTransient - private BundleContext bundleContext; - - public BundleContext getBundleContext() { - return bundleContext; - } - - public void setBundleContext(BundleContext bundleContext) { - LOG.debug("Using BundleContext: {}", bundleContext); - this.bundleContext = bundleContext; - } - - protected SpringCamelContext createContext() { - SpringCamelContext ctx = newCamelContext(); - // only set the name if its explicit (Camel will auto assign name if none explicit set) - if (!isImplicitId()) { - ctx.setName(getId()); - } - return ctx; - } - - protected SpringCamelContext newCamelContext() { - return new OsgiSpringCamelContext(getApplicationContext(), getBundleContext()); - } - - @Override - public void afterPropertiesSet() throws Exception { - super.afterPropertiesSet(); - getContext().getManagementStrategy().addEventNotifier(new OsgiCamelContextPublisher(bundleContext)); - try { - getClass().getClassLoader().loadClass("org.osgi.service.event.EventAdmin"); - getContext().getManagementStrategy().addEventNotifier(new OsgiEventAdminNotifier(bundleContext)); - } catch (Throwable t) { - // Ignore, if the EventAdmin package is not available, just don't use it - LOG.debug("EventAdmin package is not available, just don't use it"); - } - } -} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelNamespaceHandler.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelNamespaceHandler.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelNamespaceHandler.java deleted file mode 100644 index 41fcf6c..0000000 --- a/components/camel-spring/src/main/java/org/apache/camel/osgi/CamelNamespaceHandler.java +++ /dev/null @@ -1,45 +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.osgi; - -import java.util.HashSet; -import java.util.Set; - -public class CamelNamespaceHandler extends org.apache.camel.spring.handler.CamelNamespaceHandler { - - public void init() { - super.init(); - registerParser("camelContext", new CamelContextBeanDefinitionParser(CamelContextFactoryBean.class)); - } - - // It just add the package of the class for initiate the JAXB context - protected Set<Class<?>> getJaxbPackages() { - Set<Class<?>> classes = new HashSet<Class<?>>(); - classes.add(CamelContextFactoryBean.class); - classes.add(org.apache.camel.spring.CamelContextFactoryBean.class); - classes.add(org.apache.camel.ExchangePattern.class); - classes.add(org.apache.camel.model.RouteDefinition.class); - classes.add(org.apache.camel.model.config.StreamResequencerConfig.class); - classes.add(org.apache.camel.model.dataformat.DataFormatsDefinition.class); - classes.add(org.apache.camel.model.language.ExpressionDefinition.class); - classes.add(org.apache.camel.model.loadbalancer.RoundRobinLoadBalancerDefinition.class); - classes.add(org.apache.camel.model.rest.RestDefinition.class); - return classes; - } - - -} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java deleted file mode 100644 index 52449bf..0000000 --- a/components/camel-spring/src/main/java/org/apache/camel/osgi/OsgiSpringCamelContext.java +++ /dev/null @@ -1,64 +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.osgi; - -import org.apache.camel.TypeConverter; -import org.apache.camel.core.osgi.OsgiCamelContextHelper; -import org.apache.camel.core.osgi.OsgiFactoryFinderResolver; -import org.apache.camel.core.osgi.OsgiTypeConverter; -import org.apache.camel.core.osgi.utils.BundleContextUtils; -import org.apache.camel.spi.FactoryFinder; -import org.apache.camel.spi.Registry; -import org.apache.camel.spring.SpringCamelContext; -import org.osgi.framework.BundleContext; -import org.springframework.context.ApplicationContext; - -public class OsgiSpringCamelContext extends SpringCamelContext { - - private final BundleContext bundleContext; - - public OsgiSpringCamelContext(ApplicationContext applicationContext, BundleContext bundleContext) { - super(applicationContext); - this.bundleContext = bundleContext; - OsgiCamelContextHelper.osgiUpdate(this, bundleContext); - } - - @Override - protected TypeConverter createTypeConverter() { - // CAMEL-3614: make sure we use a bundle context which imports org.apache.camel.impl.converter package - BundleContext ctx = BundleContextUtils.getBundleContext(getClass()); - if (ctx == null) { - ctx = bundleContext; - } - FactoryFinder finder = new OsgiFactoryFinderResolver(bundleContext).resolveDefaultFactoryFinder(getClassResolver()); - return new OsgiTypeConverter(ctx, this, getInjector(), finder); - } - - @Override - protected Registry createRegistry() { - return OsgiCamelContextHelper.wrapRegistry(this, super.createRegistry(), bundleContext); - } - - @Override - public void setName(String name) { - super.setName(name); - // in OSGi prefix the bundle id to the management name so it will be unique in the JVM - // and also nicely sorted based on bundle id - super.setManagementName(bundleContext.getBundle().getBundleId() + "-" + name); - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/java/org/apache/camel/osgi/SpringCamelContextFactory.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/SpringCamelContextFactory.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/SpringCamelContextFactory.java deleted file mode 100644 index 8896edf..0000000 --- a/components/camel-spring/src/main/java/org/apache/camel/osgi/SpringCamelContextFactory.java +++ /dev/null @@ -1,36 +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.osgi; - -import org.apache.camel.impl.DefaultCamelContext; -import org.apache.camel.spring.SpringCamelContext; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; - -public class SpringCamelContextFactory extends CamelContextFactory implements ApplicationContextAware { - private ApplicationContext applicationContext; - - public void setApplicationContext(ApplicationContext context) { - this.applicationContext = context; - } - - @Override - protected DefaultCamelContext newCamelContext() { - return new SpringCamelContext(applicationContext); - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/java/org/apache/camel/osgi/package-info.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/osgi/package-info.java b/components/camel-spring/src/main/java/org/apache/camel/osgi/package-info.java deleted file mode 100644 index 7a74aef..0000000 --- a/components/camel-spring/src/main/java/org/apache/camel/osgi/package-info.java +++ /dev/null @@ -1,22 +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. - */ - -/** - * OSGi with Spring-DM (deprecated) - */ [email protected](namespace = "http://camel.apache.org/schema/osgi", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) -package org.apache.camel.osgi; http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/resources/META-INF/spring.handlers ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/resources/META-INF/spring.handlers b/components/camel-spring/src/main/resources/META-INF/spring.handlers index 36c60d3..285f296 100644 --- a/components/camel-spring/src/main/resources/META-INF/spring.handlers +++ b/components/camel-spring/src/main/resources/META-INF/spring.handlers @@ -17,4 +17,3 @@ http\://camel.apache.org/schema/spring=org.apache.camel.spring.handler.CamelNamespaceHandler http\://camel.apache.org/schema/spring/v${camel.schema.version}=org.apache.camel.spring.handler.CamelNamespaceHandler -http\://camel.apache.org/schema/osgi=org.apache.camel.osgi.CamelNamespaceHandler http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/resources/META-INF/spring.schemas ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/resources/META-INF/spring.schemas b/components/camel-spring/src/main/resources/META-INF/spring.schemas index 5836693..94aa16a 100644 --- a/components/camel-spring/src/main/resources/META-INF/spring.schemas +++ b/components/camel-spring/src/main/resources/META-INF/spring.schemas @@ -93,60 +93,3 @@ http\://camel.apache.org/schema/spring/camel-spring-2.16.2.xsd=camel-spring.xsd http\://camel.apache.org/schema/spring/camel-spring-2.16.3.xsd=camel-spring.xsd http\://camel.apache.org/schema/spring/camel-spring-2.17.0.xsd=camel-spring.xsd http\://camel.apache.org/schema/spring/camel-spring-${project.version}.xsd=camel-spring.xsd - -http\://camel.apache.org/schema/osgi/camel-osgi.xsd=camel-osgi.xsd - -http\://camel.apache.org/schema/osgi/camel-osgi-2.0-M1.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.0-M2.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.0-M3.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.0.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.1.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.2.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.3.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.4.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.5.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.6.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.7.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.7.1.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.7.2.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.7.3.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.7.4.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.7.5.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.8.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.8.1.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.8.2.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.8.3.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.8.4.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.8.5.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.8.6.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.9.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.9.1.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.9.2.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.9.3.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.9.4.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.9.5.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.9.6.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.9.7.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.9.8.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.10.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.10.1.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.10.2.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.10.3.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.10.4.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.10.5.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.10.6.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.10.7.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.11.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.11.1.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.11.2.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.11.3.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.11.4.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.12.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.12.1.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.12.2.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.12.3.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.12.4.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.13.0.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.13.1.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-2.13.2.xsd=camel-osgi.xsd -http\://camel.apache.org/schema/osgi/camel-osgi-${project.version}.xsd=camel-osgi.xsd http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/resources/camel-osgi.xsd ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/resources/camel-osgi.xsd b/components/camel-spring/src/main/resources/camel-osgi.xsd deleted file mode 100644 index bb44dd9..0000000 --- a/components/camel-spring/src/main/resources/camel-osgi.xsd +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> - -<!-- - 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. ---> -<xs:schema elementFormDefault="qualified" version="1.0" - targetNamespace="http://camel.apache.org/schema/osgi" - xmlns:tns="http://camel.apache.org/schema/osgi" - xmlns:camel="http://camel.apache.org/schema/spring" - xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:import namespace="http://camel.apache.org/schema/spring" - schemaLocation="http://camel.apache.org/schema/spring/camel-spring.xsd" /> - - <xs:element name="camelContext" type="tns:camelContextFactoryBean"/> - - <xs:complexType name="camelContextFactoryBean"> - <xs:complexContent> - <xs:extension base="camel:camelContextFactoryBean"> - <xs:sequence/> - </xs:extension> - </xs:complexContent> - </xs:complexType> -</xs:schema> - http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/camel-spring/src/main/resources/org/apache/camel/osgi/jaxb.index ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/resources/org/apache/camel/osgi/jaxb.index b/components/camel-spring/src/main/resources/org/apache/camel/osgi/jaxb.index deleted file mode 100644 index 18674e4..0000000 --- a/components/camel-spring/src/main/resources/org/apache/camel/osgi/jaxb.index +++ /dev/null @@ -1,17 +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. -## ------------------------------------------------------------------------ -CamelContextFactoryBean http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/components/pom.xml ---------------------------------------------------------------------- diff --git a/components/pom.xml b/components/pom.xml index fe209a6..a46a488 100644 --- a/components/pom.xml +++ b/components/pom.xml @@ -44,6 +44,7 @@ <module>camel-core-xml</module> <module>camel-blueprint</module> <module>camel-spring</module> + <module>camel-spring-dm</module> <module>camel-bam</module> <module>camel-groovy</module> <module>camel-scala</module> http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/examples/camel-example-osgi/README.md ---------------------------------------------------------------------- diff --git a/examples/camel-example-osgi/README.md b/examples/camel-example-osgi/README.md deleted file mode 100644 index 84481ac..0000000 --- a/examples/camel-example-osgi/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# OSGi Example - -### Introduction - -This example shows how use OSGi with Camel. It can be run using Maven. - -### Build -You will need to compile this example first: - - mvn install - -### Run from cmd line outside OSGi container -To run the example using Maven type - - mvn camel:run - -To stop the example hit <kbd>ctrl</kbd>+<kbd>c</kbd> - -### Run inside OSGi container -You will need to compile and install this example first: - - mvn install - -If using Apache Karaf / Apache ServiceMix you can install this example -from the shell using this example's "features.xml" for easy provisioning. - - features:addUrl mvn:org.apache.camel/camel-example-osgi/${version}/xml/features - features:install camel-example-osgi - -The example outputs to the log, which you can see using - - log:display - -... or you can tail the log with - - log:tail - -And use <kbd>ctrl</kbd>+<kbd>c</kbd> to break the tail. - -### Forum, Help, etc - -If you hit an problems please let us know on the Camel Forums - <http://camel.apache.org/discussion-forums.html> - -Please help us make Apache Camel better - we appreciate any feedback you may -have. Enjoy! http://git-wip-us.apache.org/repos/asf/camel/blob/20a85773/examples/camel-example-osgi/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-osgi/pom.xml b/examples/camel-example-osgi/pom.xml deleted file mode 100644 index c2453df..0000000 --- a/examples/camel-example-osgi/pom.xml +++ /dev/null @@ -1,92 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - 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. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.camel</groupId> - <artifactId>examples</artifactId> - <version>2.18-SNAPSHOT</version> - </parent> - - <artifactId>camel-example-osgi</artifactId> - <packaging>jar</packaging> - <name>Camel :: Example :: OSGi</name> - <description>A simple OSGi example which creates a bundle that can be dropped into any OSGi container</description> - - <properties> - <camel.osgi.export.pkg>org.apache.camel.example.osgi.*</camel.osgi.export.pkg> - </properties> - - <dependencies> - - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-core</artifactId> - </dependency> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-spring</artifactId> - </dependency> - - <!-- used for mvn camel:run --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-simple</artifactId> - </dependency> - - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <executions> - <execution> - <id>attach-artifacts</id> - <phase>package</phase> - <goals> - <goal>attach-artifact</goal> - </goals> - <configuration> - <artifacts> - <artifact> - <file>target/classes/features.xml</file> - <type>xml</type> - <classifier>features</classifier> - </artifact> - </artifacts> - </configuration> - </execution> - </executions> - </plugin> - - <!-- Allows the routes to be run via 'mvn camel:run' --> - <plugin> - <groupId>org.apache.camel</groupId> - <artifactId>camel-maven-plugin</artifactId> - <version>${project.version}</version> - </plugin> - </plugins> - - </build> - -</project>
