FELIX-1107, FELIX-1109, FELIX-1110: refactor the deployer into its own module, add a blueprint deployer and extract the features deployer in its own module
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@770120 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/karaf/assembly/pom.xml b/karaf/assembly/pom.xml
index 936d36a..20c26c3 100644
--- a/karaf/assembly/pom.xml
+++ b/karaf/assembly/pom.xml
@@ -43,12 +43,20 @@
<artifactId>org.apache.servicemix.kernel.client</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.filemonitor</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.filemonitor</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.spring</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.spring</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.blueprint</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.features</artifactId>
</dependency>
<dependency>
<groupId>org.apache.servicemix.kernel.gshell</groupId>
diff --git a/karaf/assembly/src/main/descriptors/unix-bin.xml b/karaf/assembly/src/main/descriptors/unix-bin.xml
index 3dd8246..f8490a7 100644
--- a/karaf/assembly/src/main/descriptors/unix-bin.xml
+++ b/karaf/assembly/src/main/descriptors/unix-bin.xml
@@ -218,8 +218,6 @@
<useProjectArtifact>false</useProjectArtifact>
<outputFileNameMapping>org/apache/servicemix/kernel/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
<includes>
- <include>org.apache.servicemix.kernel:org.apache.servicemix.kernel.filemonitor</include>
- <include>org.apache.servicemix.kernel:org.apache.servicemix.kernel.spring</include>
<include>org.apache.servicemix.kernel:org.apache.servicemix.kernel.management</include>
</includes>
</dependencySet>
@@ -227,6 +225,18 @@
<outputDirectory>/system</outputDirectory>
<unpack>false</unpack>
<useProjectArtifact>false</useProjectArtifact>
+ <outputFileNameMapping>org/apache/servicemix/kernel/deployer/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
+ <includes>
+ <include>org.apache.servicemix.kernel.deployer:org.apache.servicemix.kernel.deployer.filemonitor</include>
+ <include>org.apache.servicemix.kernel.deployer:org.apache.servicemix.kernel.deployer.spring</include>
+ <include>org.apache.servicemix.kernel.deployer:org.apache.servicemix.kernel.deployer.blueprint</include>
+ <include>org.apache.servicemix.kernel.deployer:org.apache.servicemix.kernel.deployer.features</include>
+ </includes>
+ </dependencySet>
+ <dependencySet>
+ <outputDirectory>/system</outputDirectory>
+ <unpack>false</unpack>
+ <useProjectArtifact>false</useProjectArtifact>
<outputFileNameMapping>org/apache/servicemix/kernel/gshell/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
<includes>
<include>org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.core</include>
diff --git a/karaf/assembly/src/main/descriptors/windows-bin.xml b/karaf/assembly/src/main/descriptors/windows-bin.xml
index 0901795..9509f54 100644
--- a/karaf/assembly/src/main/descriptors/windows-bin.xml
+++ b/karaf/assembly/src/main/descriptors/windows-bin.xml
@@ -210,8 +210,6 @@
<useProjectArtifact>false</useProjectArtifact>
<outputFileNameMapping>org/apache/servicemix/kernel/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
<includes>
- <include>org.apache.servicemix.kernel:org.apache.servicemix.kernel.filemonitor</include>
- <include>org.apache.servicemix.kernel:org.apache.servicemix.kernel.spring</include>
<include>org.apache.servicemix.kernel:org.apache.servicemix.kernel.management</include>
</includes>
</dependencySet>
@@ -219,6 +217,18 @@
<outputDirectory>/system</outputDirectory>
<unpack>false</unpack>
<useProjectArtifact>false</useProjectArtifact>
+ <outputFileNameMapping>org/apache/servicemix/kernel/deployer/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
+ <includes>
+ <include>org.apache.servicemix.kernel.deployer:org.apache.servicemix.kernel.deployer.filemonitor</include>
+ <include>org.apache.servicemix.kernel.deployer:org.apache.servicemix.kernel.deployer.spring</include>
+ <include>org.apache.servicemix.kernel.deployer:org.apache.servicemix.kernel.deployer.blueprint</include>
+ <include>org.apache.servicemix.kernel.deployer:org.apache.servicemix.kernel.deployer.features</include>
+ </includes>
+ </dependencySet>
+ <dependencySet>
+ <outputDirectory>/system</outputDirectory>
+ <unpack>false</unpack>
+ <useProjectArtifact>false</useProjectArtifact>
<outputFileNameMapping>org/apache/servicemix/kernel/gshell/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
<includes>
<include>org.apache.servicemix.kernel.gshell:org.apache.servicemix.kernel.gshell.core</include>
diff --git a/karaf/assembly/src/main/filtered-resources/etc/startup.properties b/karaf/assembly/src/main/filtered-resources/etc/startup.properties
index 06519d6..fe1b9b8 100644
--- a/karaf/assembly/src/main/filtered-resources/etc/startup.properties
+++ b/karaf/assembly/src/main/filtered-resources/etc/startup.properties
@@ -34,7 +34,7 @@
org/apache/felix/org.apache.felix.configadmin/${felix.configadmin.version}/org.apache.felix.configadmin-${felix.configadmin.version}.jar=10
org/apache/geronimo/specs/geronimo-annotation_1.0_spec/${geronimo.annotation.version}/geronimo-annotation_1.0_spec-${geronimo.annotation.version}.jar=10
org/apache/felix/org.apache.felix.prefs/${felix.prefs.version}/org.apache.felix.prefs-${felix.prefs.version}.jar=10
-org/apache/servicemix/kernel/org.apache.servicemix.kernel.filemonitor/${pom.version}/org.apache.servicemix.kernel.filemonitor-${pom.version}.jar=15
+org/apache/servicemix/kernel/deployer/org.apache.servicemix.kernel.deployer.filemonitor/${pom.version}/org.apache.servicemix.kernel.deployer.filemonitor-${pom.version}.jar=15
#
# The rest of the services..
@@ -54,7 +54,9 @@
org/springframework/osgi/spring-osgi-core/${spring.osgi.version}/spring-osgi-core-${spring.osgi.version}.jar=30
org/springframework/osgi/spring-osgi-extender/${spring.osgi.version}/spring-osgi-extender-${spring.osgi.version}.jar=30
org/springframework/osgi/spring-osgi-io/${spring.osgi.version}/spring-osgi-io-${spring.osgi.version}.jar=30
-org/apache/servicemix/kernel/org.apache.servicemix.kernel.spring/${pom.version}/org.apache.servicemix.kernel.spring-${pom.version}.jar=30
+org/apache/servicemix/kernel/deployer/org.apache.servicemix.kernel.deployer.spring/${pom.version}/org.apache.servicemix.kernel.deployer.spring-${pom.version}.jar=30
+org/apache/servicemix/kernel/deployer/org.apache.servicemix.kernel.deployer.blueprint/${pom.version}/org.apache.servicemix.kernel.deployer.blueprint-${pom.version}.jar=30
+org/apache/servicemix/kernel/deployer/org.apache.servicemix.kernel.deployer.features/${pom.version}/org.apache.servicemix.kernel.deployer.features-${pom.version}.jar=30
org/apache/servicemix/kernel/org.apache.servicemix.kernel.management/${pom.version}/org.apache.servicemix.kernel.management-${pom.version}.jar=30
org/apache/servicemix/kernel/gshell/org.apache.servicemix.kernel.gshell.admin/${pom.version}/org.apache.servicemix.kernel.gshell.admin-${pom.version}.jar=30
org/apache/servicemix/kernel/gshell/org.apache.servicemix.kernel.gshell.osgi/${pom.version}/org.apache.servicemix.kernel.gshell.osgi-${pom.version}.jar=30
diff --git a/karaf/spring/pom.xml b/karaf/deployer/blueprint/pom.xml
similarity index 79%
copy from karaf/spring/pom.xml
copy to karaf/deployer/blueprint/pom.xml
index 6eb7b2b..2b0bcf5 100644
--- a/karaf/spring/pom.xml
+++ b/karaf/deployer/blueprint/pom.xml
@@ -22,18 +22,18 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>kernel</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>deployer</artifactId>
<version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.spring</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.blueprint</artifactId>
<packaging>bundle</packaging>
<version>1.2.0-SNAPSHOT</version>
- <name>Apache ServiceMix Kernel :: Spring Deployer</name>
+ <name>Apache ServiceMix Kernel :: Blueprint Deployer</name>
- <description>This deployer transforms a plain spring xml file to a deployable bundle</description>
+ <description>This deployer transforms a plain blueprint xml file to a deployable bundle</description>
<dependencies>
<dependency>
@@ -46,8 +46,8 @@
<artifactId>spring-osgi-core</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.filemonitor</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.filemonitor</artifactId>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
@@ -63,7 +63,7 @@
<configuration>
<instructions>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
- <Private-Package>org.apache.servicemix.kernel.spring</Private-Package>
+ <Private-Package>org.apache.servicemix.kernel.deployer.blueprint</Private-Package>
<Spring-Context>*;publish-context:=false;create-asynchronously:=false</Spring-Context>
</instructions>
</configuration>
diff --git a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringDeploymentListener.java b/karaf/deployer/blueprint/src/main/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintDeploymentListener.java
similarity index 80%
copy from karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringDeploymentListener.java
copy to karaf/deployer/blueprint/src/main/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintDeploymentListener.java
index ce0c1e0..13ef072 100644
--- a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringDeploymentListener.java
+++ b/karaf/deployer/blueprint/src/main/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintDeploymentListener.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.spring;
+package org.apache.servicemix.kernel.deployer.blueprint;
import java.io.File;
import java.io.FileOutputStream;
@@ -27,16 +27,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.servicemix.kernel.filemonitor.DeploymentListener;
+import org.apache.servicemix.kernel.deployer.filemonitor.DeploymentListener;
/**
* A deployment listener that listens for spring xml applications
* and creates bundles for these.
*/
-public class SpringDeploymentListener implements DeploymentListener {
+public class BlueprintDeploymentListener implements DeploymentListener {
- private static final Log LOGGER = LogFactory.getLog(SpringDeploymentListener.class);
+ private static final Log LOGGER = LogFactory.getLog(BlueprintDeploymentListener.class);
private DocumentBuilderFactory dbf;
@@ -46,7 +46,7 @@
Document doc = parse(artifact);
String name = doc.getDocumentElement().getLocalName();
String uri = doc.getDocumentElement().getNamespaceURI();
- if ("beans".equals(name) && "http://www.springframework.org/schema/beans".equals(uri)) {
+ if ("blueprint".equals(name) && "http://www.osgi.org/xmlns/blueprint/v1.0.0".equals(uri)) {
return true;
}
}
@@ -60,11 +60,11 @@
try {
File destFile = new File(tmpDir, artifact.getName() + ".jar");
FileOutputStream os = new FileOutputStream(destFile);
- SpringTransformer.transform(artifact.toURL(), os);
+ BlueprintTransformer.transform(artifact.toURL(), os);
os.close();
return destFile;
} catch (Exception e) {
- LOGGER.error("Unable to build spring application bundle", e);
+ LOGGER.error("Unable to build blueprint application bundle", e);
return null;
}
}
diff --git a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringTransformer.java b/karaf/deployer/blueprint/src/main/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintTransformer.java
similarity index 94%
copy from karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringTransformer.java
copy to karaf/deployer/blueprint/src/main/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintTransformer.java
index 982fbc9..f466527 100644
--- a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringTransformer.java
+++ b/karaf/deployer/blueprint/src/main/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintTransformer.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.spring;
+package org.apache.servicemix.kernel.deployer.blueprint;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
@@ -51,7 +51,7 @@
import org.osgi.framework.Constants;
-public class SpringTransformer {
+public class BlueprintTransformer {
static Transformer transformer;
static DocumentBuilderFactory dbf;
@@ -74,7 +74,6 @@
m.getMainAttributes().putValue(Constants.BUNDLE_MANIFESTVERSION, "2");
m.getMainAttributes().putValue(Constants.BUNDLE_SYMBOLICNAME, str[0]);
m.getMainAttributes().putValue(Constants.BUNDLE_VERSION, str[1]);
- m.getMainAttributes().putValue("Spring-Context", "*;publish-context:=false;create-asynchronously:=true");
String importPkgs = getImportPackages(analyze(new DOMSource(doc)));
if (importPkgs != null && importPkgs.length() > 0) {
m.getMainAttributes().putValue(Constants.IMPORT_PACKAGE, importPkgs);
@@ -103,12 +102,12 @@
out.putNextEntry(e);
m.write(out);
out.closeEntry();
- e = new ZipEntry("META-INF/");
+ e = new ZipEntry("OSGI-INF/");
out.putNextEntry(e);
- e = new ZipEntry("META-INF/spring/");
+ e = new ZipEntry("OSGI-INF/blueprint/");
out.putNextEntry(e);
out.closeEntry();
- e = new ZipEntry("META-INF/spring/" + name);
+ e = new ZipEntry("OSGI-INF/blueprint/" + name);
out.putNextEntry(e);
// Copy the new DOM
if (tf == null) {
@@ -185,7 +184,7 @@
if (tf == null) {
tf = TransformerFactory.newInstance();
}
- Source s = new StreamSource(SpringTransformer.class.getResourceAsStream("extract.xsl"));
+ Source s = new StreamSource(BlueprintTransformer.class.getResourceAsStream("extract.xsl"));
transformer = tf.newTransformer(s);
}
diff --git a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringURLHandler.java b/karaf/deployer/blueprint/src/main/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintURLHandler.java
similarity index 83%
copy from karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringURLHandler.java
copy to karaf/deployer/blueprint/src/main/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintURLHandler.java
index e9fedaf..a03ecae 100644
--- a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringURLHandler.java
+++ b/karaf/deployer/blueprint/src/main/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintURLHandler.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.spring;
+package org.apache.servicemix.kernel.deployer.blueprint;
import java.io.File;
import java.io.FileInputStream;
@@ -34,13 +34,13 @@
* A URL handler that will transform a JBI artifact to an OSGi bundle
* on the fly. Needs to be registered in the OSGi registry.
*/
-public class SpringURLHandler extends AbstractURLStreamHandlerService {
+public class BlueprintURLHandler extends AbstractURLStreamHandlerService {
- private static Log logger = LogFactory.getLog(SpringURLHandler.class);
+ private static Log logger = LogFactory.getLog(BlueprintURLHandler.class);
- private static String SYNTAX = "spring: spring-xml-uri";
+ private static String SYNTAX = "blueprint: bp-xml-uri";
- private URL springXmlURL;
+ private URL blueprintXmlURL;
/**
* Open the connection for the given URL.
@@ -54,14 +54,14 @@
if (url.getPath() == null || url.getPath().trim().length() == 0) {
throw new MalformedURLException ("Path can not be null or empty. Syntax: " + SYNTAX );
}
- springXmlURL = new URL(url.getPath());
+ blueprintXmlURL = new URL(url.getPath());
- logger.debug("Spring xml URL is: [" + springXmlURL + "]");
+ logger.debug("Spring xml URL is: [" + blueprintXmlURL + "]");
return new Connection(url);
}
- public URL getSpringXmlURL() {
- return springXmlURL;
+ public URL getBlueprintXmlURL() {
+ return blueprintXmlURL;
}
public class Connection extends URLConnection {
@@ -79,7 +79,7 @@
try {
final File f = File.createTempFile("smx", "xml");
FileOutputStream os = new FileOutputStream(f);
- SpringTransformer.transform(springXmlURL, os);
+ BlueprintTransformer.transform(blueprintXmlURL, os);
os.close();
return new FileInputStream(f) {
public void close() throws IOException {
diff --git a/karaf/spring/src/main/resources/META-INF/spring/spring-deployer.xml b/karaf/deployer/blueprint/src/main/resources/META-INF/spring/blueprint-deployer.xml
similarity index 74%
copy from karaf/spring/src/main/resources/META-INF/spring/spring-deployer.xml
copy to karaf/deployer/blueprint/src/main/resources/META-INF/spring/blueprint-deployer.xml
index 779c2af..bb3e430 100644
--- a/karaf/spring/src/main/resources/META-INF/spring/spring-deployer.xml
+++ b/karaf/deployer/blueprint/src/main/resources/META-INF/spring/blueprint-deployer.xml
@@ -29,21 +29,21 @@
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd">
- <bean id="springDeploymentListener" class="org.apache.servicemix.kernel.spring.SpringDeploymentListener">
+ <bean id="blueprintDeploymentListener" class="org.apache.servicemix.kernel.deployer.blueprint.BlueprintDeploymentListener">
</bean>
- <osgi:service ref="springDeploymentListener">
+ <osgi:service ref="blueprintDeploymentListener">
<osgi:interfaces>
- <value>org.apache.servicemix.kernel.filemonitor.DeploymentListener</value>
+ <value>org.apache.servicemix.kernel.deployer.filemonitor.DeploymentListener</value>
</osgi:interfaces>
</osgi:service>
- <bean id="springHandler" class="org.apache.servicemix.kernel.spring.SpringURLHandler" />
+ <bean id="blueprintHandler" class="org.apache.servicemix.kernel.deployer.blueprint.BlueprintURLHandler" />
- <osgi:service ref="springHandler" interface="org.osgi.service.url.URLStreamHandlerService">
+ <osgi:service ref="blueprintHandler" interface="org.osgi.service.url.URLStreamHandlerService">
<osgi:service-properties>
- <entry key="url.handler.protocol" value="spring"/>
+ <entry key="url.handler.protocol" value="blueprint"/>
</osgi:service-properties>
</osgi:service>
diff --git a/karaf/deployer/blueprint/src/main/resources/org/apache/servicemix/kernel/deployer/blueprint/extract.xsl b/karaf/deployer/blueprint/src/main/resources/org/apache/servicemix/kernel/deployer/blueprint/extract.xsl
new file mode 100644
index 0000000..2c8c291
--- /dev/null
+++ b/karaf/deployer/blueprint/src/main/resources/org/apache/servicemix/kernel/deployer/blueprint/extract.xsl
@@ -0,0 +1,49 @@
+<?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.
+
+-->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0">
+
+ <xsl:output method="text" />
+
+ <xsl:template match="/">
+
+ <!-- Match all attributes that holds a class or a comma delimited
+ list of classes and print them -->
+
+ <xsl:for-each select="
+ //bp:*/@class
+ | //bp:*/@type
+ | //bp:*/@value-type
+ | //bp:*/@key-type
+ | //bp:*/bp:interfaces/bp:value/text()
+ ">
+ <xsl:value-of select="." />
+ <xsl:text>
+ </xsl:text>
+ </xsl:for-each>
+
+ <!-- This seems some magic to get extra imports? -->
+
+ </xsl:template>
+
+
+</xsl:stylesheet>
+
diff --git a/karaf/spring/src/test/java/org/apache/servicemix/kernel/spring/SpringDeploymentListenerTest.java b/karaf/deployer/blueprint/src/test/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintDeploymentListenerTest.java
similarity index 81%
copy from karaf/spring/src/test/java/org/apache/servicemix/kernel/spring/SpringDeploymentListenerTest.java
copy to karaf/deployer/blueprint/src/test/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintDeploymentListenerTest.java
index 38a37bb..6ab2c33 100644
--- a/karaf/spring/src/test/java/org/apache/servicemix/kernel/spring/SpringDeploymentListenerTest.java
+++ b/karaf/deployer/blueprint/src/test/java/org/apache/servicemix/kernel/deployer/blueprint/BlueprintDeploymentListenerTest.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.spring;
+package org.apache.servicemix.kernel.deployer.blueprint;
import java.io.File;
import java.io.FileInputStream;
@@ -30,24 +30,24 @@
import junit.framework.TestCase;
-public class SpringDeploymentListenerTest extends TestCase {
+public class BlueprintDeploymentListenerTest extends TestCase {
public void testPackagesExtraction() throws Exception {
- SpringDeploymentListener l = new SpringDeploymentListener();
- File f = new File(getClass().getClassLoader().getResource("META-INF/spring/spring-deployer.xml").toURI());
- Set<String> pkgs = SpringTransformer.analyze(new DOMSource(SpringTransformer.parse(f.toURL())));
+ BlueprintDeploymentListener l = new BlueprintDeploymentListener();
+ File f = new File(getClass().getClassLoader().getResource("test.xml").toURI());
+ Set<String> pkgs = BlueprintTransformer.analyze(new DOMSource(BlueprintTransformer.parse(f.toURL())));
assertNotNull(pkgs);
assertEquals(2, pkgs.size());
Iterator<String> it = pkgs.iterator();
- assertEquals("org.apache.servicemix.kernel.spring", it.next());
- assertEquals("org.osgi.service.url", it.next());
+ assertEquals("java.lang", it.next());
+ assertEquals("org.apache.geronimo.blueprint.sample", it.next());
}
public void testCustomManifest() throws Exception {
File f = File.createTempFile("smx", ".jar");
try {
OutputStream os = new FileOutputStream(f);
- SpringTransformer.transform(getClass().getClassLoader().getResource("test.xml"), os);
+ BlueprintTransformer.transform(getClass().getClassLoader().getResource("test.xml"), os);
os.close();
InputStream is = new FileInputStream(f);
JarInputStream jar = new JarInputStream(is);
@@ -74,7 +74,7 @@
}
private void assertVersion(String s, String... expectedParts) {
- String[] parts = SpringTransformer.extractNameVersionType(s);
+ String[] parts = BlueprintTransformer.extractNameVersionType(s);
assertEquals(expectedParts.length, parts.length);
for (int i = 0; i < expectedParts.length; i++) {
assertEquals(expectedParts[i], parts[i]);
diff --git a/karaf/deployer/blueprint/src/test/resources/test.xml b/karaf/deployer/blueprint/src/test/resources/test.xml
new file mode 100644
index 0000000..3411d48
--- /dev/null
+++ b/karaf/deployer/blueprint/src/test/resources/test.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+ xmlns:cm="http://www.osgi.org/xmlns/blueprint-cm/v1.0.0"
+ default-availability="optional">
+
+ <type-converters>
+ <bean id="converter1" class="org.apache.geronimo.blueprint.sample.DateTypeConverter">
+ <property name="format" value="yyyy.MM.dd"/>
+ </bean>
+ <bean id="converter2" class="org.apache.geronimo.blueprint.sample.CurrencyTypeConverter"/>
+
+ <cm:property-placeholder id="property-placeholder" persistent-id="blueprint-sample">
+ <cm:default-properties>
+ <cm:property name="key.b" value="-1"/>
+ </cm:default-properties>
+ </cm:property-placeholder>
+ </type-converters>
+
+ <bean id="foo" class="org.apache.geronimo.blueprint.sample.Foo" init-method="init" destroy-method="destroy">
+ <property name="a" value="5" />
+ <property name="b" value="${key.b}" />
+ <property name="bar" ref="bar" />
+ <property name="currency">
+ <value>PLN</value>
+ </property>
+ <property name="date">
+ <value>2009.04.17</value>
+ </property>
+ </bean>
+
+ <bean id="bar" class="org.apache.geronimo.blueprint.sample.Bar">
+ <property name="value"><value>Hello FooBar</value></property>
+ <property name="context" ref="bundleContext"/>
+ <property name="list">
+ <list>
+ <value>a list element</value>
+ <value type = "java.lang.Integer">5</value>
+ </list>
+ </property>
+ </bean>
+
+ <service ref="foo" auto-export="all-classes">
+ <service-properties>
+ <entry key="key" value="value"/>
+ </service-properties>
+ <registration-listener ref="fooRegistrationListener"
+ registration-method="serviceRegistered"
+ unregistration-method="serviceUnregistered"/>
+ </service>
+
+ <bean id="fooRegistrationListener" class="org.apache.geronimo.blueprint.sample.FooRegistrationListener"/>
+
+ <reference id="ref" interface="org.apache.geronimo.blueprint.sample.Foo">
+ </reference>
+
+ <reference id="ref2" interface="org.apache.geronimo.blueprint.sample.InterfaceA" timeout="100">
+ <listener bind-method="bind" unbind-method="unbind" ref="bindingListener" />
+ </reference>
+
+ <bean id="bindingListener" class="org.apache.geronimo.blueprint.sample.BindingListener"/>
+
+ <ref-list id="ref-list" interface="org.apache.geronimo.blueprint.sample.InterfaceA">
+ <listener bind-method="bind" unbind-method="unbind" ref="listBindingListener" />
+ </ref-list>
+
+ <bean id="listBindingListener" class="org.apache.geronimo.blueprint.sample.BindingListener"/>
+
+</blueprint>
+
diff --git a/karaf/spring/pom.xml b/karaf/deployer/features/pom.xml
similarity index 75%
copy from karaf/spring/pom.xml
copy to karaf/deployer/features/pom.xml
index 6eb7b2b..738126e 100644
--- a/karaf/spring/pom.xml
+++ b/karaf/deployer/features/pom.xml
@@ -22,18 +22,18 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>kernel</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>deployer</artifactId>
<version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.spring</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.features</artifactId>
<packaging>bundle</packaging>
<version>1.2.0-SNAPSHOT</version>
- <name>Apache ServiceMix Kernel :: Spring Deployer</name>
+ <name>Apache ServiceMix Kernel :: Features Deployer</name>
- <description>This deployer transforms a plain spring xml file to a deployable bundle</description>
+ <description>This deployer can deploy features descriptor on the fly</description>
<dependencies>
<dependency>
@@ -46,8 +46,12 @@
<artifactId>spring-osgi-core</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.filemonitor</artifactId>
+ <groupId>org.apache.servicemix.kernel.gshell</groupId>
+ <artifactId>org.apache.servicemix.kernel.gshell.features</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.filemonitor</artifactId>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
@@ -63,7 +67,7 @@
<configuration>
<instructions>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
- <Private-Package>org.apache.servicemix.kernel.spring</Private-Package>
+ <Private-Package>org.apache.servicemix.kernel.deployer.blueprint</Private-Package>
<Spring-Context>*;publish-context:=false;create-asynchronously:=false</Spring-Context>
</instructions>
</configuration>
diff --git a/karaf/gshell/gshell-features/src/main/java/org/apache/servicemix/kernel/gshell/features/internal/FeatureDeploymentListener.java b/karaf/deployer/features/src/main/java/org/apache/servicemix/kernel/deployer/features/FeatureDeploymentListener.java
similarity index 87%
rename from karaf/gshell/gshell-features/src/main/java/org/apache/servicemix/kernel/gshell/features/internal/FeatureDeploymentListener.java
rename to karaf/deployer/features/src/main/java/org/apache/servicemix/kernel/deployer/features/FeatureDeploymentListener.java
index e4a036b..b26d548 100644
--- a/karaf/gshell/gshell-features/src/main/java/org/apache/servicemix/kernel/gshell/features/internal/FeatureDeploymentListener.java
+++ b/karaf/deployer/features/src/main/java/org/apache/servicemix/kernel/deployer/features/FeatureDeploymentListener.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.gshell.features.internal;
+package org.apache.servicemix.kernel.deployer.features;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
@@ -40,8 +40,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.servicemix.kernel.filemonitor.DeploymentListener;
import org.apache.servicemix.kernel.gshell.features.Feature;
+import org.apache.servicemix.kernel.gshell.features.FeaturesService;
+import org.apache.servicemix.kernel.gshell.features.Repository;
+import org.apache.servicemix.kernel.deployer.filemonitor.DeploymentListener;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleEvent;
@@ -62,14 +64,14 @@
private static final Log LOGGER = LogFactory.getLog(FeatureDeploymentListener.class);
private DocumentBuilderFactory dbf;
- private FeaturesServiceImpl featuresService;
+ private FeaturesService featuresService;
private BundleContext bundleContext;
- public void setFeaturesService(FeaturesServiceImpl featuresService) {
+ public void setFeaturesService(FeaturesService featuresService) {
this.featuresService = featuresService;
}
- public FeaturesServiceImpl getFeaturesService() {
+ public FeaturesService getFeaturesService() {
return featuresService;
}
@@ -164,21 +166,29 @@
Enumeration featuresUrlEnumeration = bundle.findEntries("/META-INF/" + FEATURE_PATH + "/", "*.xml", false);
while (featuresUrlEnumeration != null && featuresUrlEnumeration.hasMoreElements()) {
URL url = (URL) featuresUrlEnumeration.nextElement();
- RepositoryImpl repo = featuresService.internalAddRepository(url.toURI());
- for (Feature f : repo.getFeatures()) {
- featuresService.installFeature(f.getName(), f.getVersion());
+ featuresService.addRepository(url.toURI());
+ for (Repository repo : featuresService.listRepositories()) {
+ if (repo.getURI().equals(url.toURI())) {
+ for (Feature f : repo.getFeatures()) {
+ featuresService.installFeature(f.getName(), f.getVersion());
+ }
+ }
}
- featuresService.internalRemoveRepository(url.toURI());
+ featuresService.removeRepository(url.toURI());
}
} else if (bundleEvent.getType() == BundleEvent.UNINSTALLED) {
Enumeration featuresUrlEnumeration = bundle.findEntries("/META-INF/" + FEATURE_PATH + "/", "*.xml", false);
while (featuresUrlEnumeration != null && featuresUrlEnumeration.hasMoreElements()) {
URL url = (URL) featuresUrlEnumeration.nextElement();
- RepositoryImpl repo = featuresService.internalAddRepository(url.toURI());
- for (Feature f : repo.getFeatures()) {
- featuresService.uninstallFeature(f.getName(), f.getVersion());
+ featuresService.addRepository(url.toURI());
+ for (Repository repo : featuresService.listRepositories()) {
+ if (repo.getURI().equals(url.toURI())) {
+ for (Feature f : repo.getFeatures()) {
+ featuresService.uninstallFeature(f.getName(), f.getVersion());
+ }
+ }
}
- featuresService.internalRemoveRepository(url.toURI());
+ featuresService.removeRepository(url.toURI());
}
}
} catch (Exception e) {
diff --git a/karaf/deployer/features/src/main/resources/META-INF/spring/features-deployer.xml b/karaf/deployer/features/src/main/resources/META-INF/spring/features-deployer.xml
new file mode 100644
index 0000000..54b1913
--- /dev/null
+++ b/karaf/deployer/features/src/main/resources/META-INF/spring/features-deployer.xml
@@ -0,0 +1,49 @@
+<?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.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ctx="http://www.springframework.org/schema/context"
+ xmlns:osgi="http://www.springframework.org/schema/osgi"
+ xmlns:osgix="http://www.springframework.org/schema/osgi-compendium"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:gshell="http://servicemix.apache.org/schema/servicemix-gshell"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi.xsd
+ http://www.springframework.org/schema/osgi-compendium
+ http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd
+ http://servicemix.apache.org/schema/servicemix-gshell
+ http://servicemix.apache.org/schema/servicemix-gshell/servicemix-gshell.xsd">
+
+ <osgi:reference id="featuresService" interface="org.apache.servicemix.kernel.gshell.features.FeaturesService" cardinality="1..1"/>
+
+ <bean id="featureDeploymentListener" class="org.apache.servicemix.kernel.deployer.features.FeatureDeploymentListener">
+ <property name="featuresService" ref="featuresService" />
+ </bean>
+
+ <osgi:service ref="featureDeploymentListener" interface="org.apache.servicemix.kernel.deployer.filemonitor.DeploymentListener" />
+
+</beans>
\ No newline at end of file
diff --git a/karaf/filemonitor/pom.xml b/karaf/deployer/filemonitor/pom.xml
similarity index 91%
rename from karaf/filemonitor/pom.xml
rename to karaf/deployer/filemonitor/pom.xml
index 58468bf..7817bc2 100644
--- a/karaf/filemonitor/pom.xml
+++ b/karaf/deployer/filemonitor/pom.xml
@@ -22,13 +22,13 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>kernel</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>deployer</artifactId>
<version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.filemonitor</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.filemonitor</artifactId>
<packaging>bundle</packaging>
<version>1.2.0-SNAPSHOT</version>
<name>Apache ServiceMix Kernel :: File Monitor</name>
@@ -75,7 +75,7 @@
<instructions>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
<Export-Package>${pom.artifactId}</Export-Package>
- <Bundle-Activator>org.apache.servicemix.kernel.filemonitor.FileMonitorActivator
+ <Bundle-Activator>org.apache.servicemix.kernel.deployer.filemonitor.FileMonitorActivator
</Bundle-Activator>
</instructions>
</configuration>
diff --git a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/DeploymentListener.java b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/DeploymentListener.java
similarity index 94%
rename from karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/DeploymentListener.java
rename to karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/DeploymentListener.java
index 6423561..18486c9 100644
--- a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/DeploymentListener.java
+++ b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/DeploymentListener.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.filemonitor;
+package org.apache.servicemix.kernel.deployer.filemonitor;
import java.io.File;
diff --git a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitor.java b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/FileMonitor.java
similarity index 99%
rename from karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitor.java
rename to karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/FileMonitor.java
index c0bf235..2a08990 100644
--- a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitor.java
+++ b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/FileMonitor.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.filemonitor;
+package org.apache.servicemix.kernel.deployer.filemonitor;
import java.io.Closeable;
import java.io.File;
diff --git a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitorActivator.java b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/FileMonitorActivator.java
similarity index 97%
rename from karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitorActivator.java
rename to karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/FileMonitorActivator.java
index 82dea71..a700523 100644
--- a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/FileMonitorActivator.java
+++ b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/FileMonitorActivator.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.filemonitor;
+package org.apache.servicemix.kernel.deployer.filemonitor;
import java.util.Collection;
import java.util.Dictionary;
@@ -94,7 +94,7 @@
// ManagedServiceFactory interface
// -------------------------------------------------------------------------
public String getName() {
- return "org.apache.servicemix.kernel.filemonitor.FileMonitor";
+ return "org.apache.servicemix.kernel.deployer.filemonitor.FileMonitor";
}
public void updated(String pid, Dictionary properties) throws ConfigurationException {
diff --git a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/JarUtil.java b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/JarUtil.java
similarity index 98%
rename from karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/JarUtil.java
rename to karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/JarUtil.java
index 98b6036..dff9e5c 100644
--- a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/JarUtil.java
+++ b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/JarUtil.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.filemonitor;
+package org.apache.servicemix.kernel.deployer.filemonitor;
import java.io.BufferedOutputStream;
import java.io.File;
diff --git a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/Scanner.java b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/Scanner.java
similarity index 99%
rename from karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/Scanner.java
rename to karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/Scanner.java
index 8b25226..239a1a8 100644
--- a/karaf/filemonitor/src/main/java/org/apache/servicemix/kernel/filemonitor/Scanner.java
+++ b/karaf/deployer/filemonitor/src/main/java/org/apache/servicemix/kernel/deployer/filemonitor/Scanner.java
@@ -12,7 +12,7 @@
//See the License for the specific language governing permissions and
//limitations under the License.
//========================================================================
-package org.apache.servicemix.kernel.filemonitor;
+package org.apache.servicemix.kernel.deployer.filemonitor;
import java.io.File;
import java.io.FilenameFilter;
diff --git a/karaf/filemonitor/src/test/data/camel-example-spring/META-INF/LICENSE.txt b/karaf/deployer/filemonitor/src/test/data/camel-example-spring/META-INF/LICENSE.txt
similarity index 100%
rename from karaf/filemonitor/src/test/data/camel-example-spring/META-INF/LICENSE.txt
rename to karaf/deployer/filemonitor/src/test/data/camel-example-spring/META-INF/LICENSE.txt
diff --git a/karaf/filemonitor/src/test/data/camel-example-spring/META-INF/MANIFEST.MF b/karaf/deployer/filemonitor/src/test/data/camel-example-spring/META-INF/MANIFEST.MF
similarity index 100%
rename from karaf/filemonitor/src/test/data/camel-example-spring/META-INF/MANIFEST.MF
rename to karaf/deployer/filemonitor/src/test/data/camel-example-spring/META-INF/MANIFEST.MF
diff --git a/karaf/filemonitor/src/test/data/camel-example-spring/META-INF/NOTICE.txt b/karaf/deployer/filemonitor/src/test/data/camel-example-spring/META-INF/NOTICE.txt
similarity index 100%
rename from karaf/filemonitor/src/test/data/camel-example-spring/META-INF/NOTICE.txt
rename to karaf/deployer/filemonitor/src/test/data/camel-example-spring/META-INF/NOTICE.txt
diff --git a/karaf/filemonitor/src/test/data/camel-example-spring/META-INF/spring/camel-context.xml b/karaf/deployer/filemonitor/src/test/data/camel-example-spring/META-INF/spring/camel-context.xml
similarity index 100%
rename from karaf/filemonitor/src/test/data/camel-example-spring/META-INF/spring/camel-context.xml
rename to karaf/deployer/filemonitor/src/test/data/camel-example-spring/META-INF/spring/camel-context.xml
diff --git a/karaf/filemonitor/src/test/data/camel-example-spring/org/apache/camel/example/spring/MyRouteBuilder$SomeBean.class b/karaf/deployer/filemonitor/src/test/data/camel-example-spring/org/apache/camel/example/spring/MyRouteBuilder$SomeBean.class
similarity index 100%
rename from karaf/filemonitor/src/test/data/camel-example-spring/org/apache/camel/example/spring/MyRouteBuilder$SomeBean.class
rename to karaf/deployer/filemonitor/src/test/data/camel-example-spring/org/apache/camel/example/spring/MyRouteBuilder$SomeBean.class
Binary files differ
diff --git a/karaf/filemonitor/src/test/data/camel-example-spring/org/apache/camel/example/spring/MyRouteBuilder.class b/karaf/deployer/filemonitor/src/test/data/camel-example-spring/org/apache/camel/example/spring/MyRouteBuilder.class
similarity index 100%
rename from karaf/filemonitor/src/test/data/camel-example-spring/org/apache/camel/example/spring/MyRouteBuilder.class
rename to karaf/deployer/filemonitor/src/test/data/camel-example-spring/org/apache/camel/example/spring/MyRouteBuilder.class
Binary files differ
diff --git a/karaf/filemonitor/src/test/data/foo/META-INF/MANIFEST.MF b/karaf/deployer/filemonitor/src/test/data/foo/META-INF/MANIFEST.MF
similarity index 100%
rename from karaf/filemonitor/src/test/data/foo/META-INF/MANIFEST.MF
rename to karaf/deployer/filemonitor/src/test/data/foo/META-INF/MANIFEST.MF
diff --git a/karaf/filemonitor/src/test/data/foo/foo.txt b/karaf/deployer/filemonitor/src/test/data/foo/foo.txt
similarity index 100%
rename from karaf/filemonitor/src/test/data/foo/foo.txt
rename to karaf/deployer/filemonitor/src/test/data/foo/foo.txt
diff --git a/karaf/filemonitor/src/test/java/org/apache/servicemix/kernel/filemonitor/BundlePackerTest.java b/karaf/deployer/filemonitor/src/test/java/org/apache/servicemix/kernel/deployer/filemonitor/BundlePackerTest.java
similarity index 95%
rename from karaf/filemonitor/src/test/java/org/apache/servicemix/kernel/filemonitor/BundlePackerTest.java
rename to karaf/deployer/filemonitor/src/test/java/org/apache/servicemix/kernel/deployer/filemonitor/BundlePackerTest.java
index 78a9159..83109ed 100644
--- a/karaf/filemonitor/src/test/java/org/apache/servicemix/kernel/filemonitor/BundlePackerTest.java
+++ b/karaf/deployer/filemonitor/src/test/java/org/apache/servicemix/kernel/deployer/filemonitor/BundlePackerTest.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.filemonitor;
+package org.apache.servicemix.kernel.deployer.filemonitor;
import java.io.File;
diff --git a/karaf/filemonitor/src/test/java/org/apache/servicemix/kernel/filemonitor/FileMonitorTest.java b/karaf/deployer/filemonitor/src/test/java/org/apache/servicemix/kernel/deployer/filemonitor/FileMonitorTest.java
similarity index 96%
rename from karaf/filemonitor/src/test/java/org/apache/servicemix/kernel/filemonitor/FileMonitorTest.java
rename to karaf/deployer/filemonitor/src/test/java/org/apache/servicemix/kernel/deployer/filemonitor/FileMonitorTest.java
index 5a99c96..998ca84 100644
--- a/karaf/filemonitor/src/test/java/org/apache/servicemix/kernel/filemonitor/FileMonitorTest.java
+++ b/karaf/deployer/filemonitor/src/test/java/org/apache/servicemix/kernel/deployer/filemonitor/FileMonitorTest.java
@@ -15,9 +15,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.filemonitor;
+package org.apache.servicemix.kernel.deployer.filemonitor;
import junit.framework.TestCase;
+import org.apache.servicemix.kernel.deployer.filemonitor.FileMonitor;
/**
* FileMonitor Tester.
diff --git a/karaf/deployer/pom.xml b/karaf/deployer/pom.xml
new file mode 100644
index 0000000..7e2810f
--- /dev/null
+++ b/karaf/deployer/pom.xml
@@ -0,0 +1,43 @@
+<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">
+
+ <!--
+
+ 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.
+ -->
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.servicemix.kernel</groupId>
+ <artifactId>kernel</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>deployer</artifactId>
+ <packaging>pom</packaging>
+ <version>1.2.0-SNAPSHOT</version>
+ <name>Apache ServiceMix Kernel :: Deployer</name>
+
+ <modules>
+ <module>filemonitor</module>
+ <module>spring</module>
+ <module>blueprint</module>
+ <module>features</module>
+ </modules>
+
+</project>
\ No newline at end of file
diff --git a/karaf/spring/pom.xml b/karaf/deployer/spring/pom.xml
similarity index 90%
rename from karaf/spring/pom.xml
rename to karaf/deployer/spring/pom.xml
index 6eb7b2b..31778a9 100644
--- a/karaf/spring/pom.xml
+++ b/karaf/deployer/spring/pom.xml
@@ -27,8 +27,8 @@
<version>1.2.0-SNAPSHOT</version>
</parent>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.spring</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.spring</artifactId>
<packaging>bundle</packaging>
<version>1.2.0-SNAPSHOT</version>
<name>Apache ServiceMix Kernel :: Spring Deployer</name>
@@ -46,8 +46,8 @@
<artifactId>spring-osgi-core</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.filemonitor</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.filemonitor</artifactId>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
diff --git a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringDeploymentListener.java b/karaf/deployer/spring/src/main/java/org/apache/servicemix/kernel/deployer/spring/SpringDeploymentListener.java
similarity index 95%
rename from karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringDeploymentListener.java
rename to karaf/deployer/spring/src/main/java/org/apache/servicemix/kernel/deployer/spring/SpringDeploymentListener.java
index ce0c1e0..11c394f 100644
--- a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringDeploymentListener.java
+++ b/karaf/deployer/spring/src/main/java/org/apache/servicemix/kernel/deployer/spring/SpringDeploymentListener.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.spring;
+package org.apache.servicemix.kernel.deployer.spring;
import java.io.File;
import java.io.FileOutputStream;
@@ -27,7 +27,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.servicemix.kernel.filemonitor.DeploymentListener;
+import org.apache.servicemix.kernel.deployer.filemonitor.DeploymentListener;
/**
* A deployment listener that listens for spring xml applications
@@ -35,7 +35,6 @@
*/
public class SpringDeploymentListener implements DeploymentListener {
-
private static final Log LOGGER = LogFactory.getLog(SpringDeploymentListener.class);
private DocumentBuilderFactory dbf;
diff --git a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringTransformer.java b/karaf/deployer/spring/src/main/java/org/apache/servicemix/kernel/deployer/spring/SpringTransformer.java
similarity index 98%
rename from karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringTransformer.java
rename to karaf/deployer/spring/src/main/java/org/apache/servicemix/kernel/deployer/spring/SpringTransformer.java
index 982fbc9..91d8b2a 100644
--- a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringTransformer.java
+++ b/karaf/deployer/spring/src/main/java/org/apache/servicemix/kernel/deployer/spring/SpringTransformer.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.spring;
+package org.apache.servicemix.kernel.deployer.spring;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
diff --git a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringURLHandler.java b/karaf/deployer/spring/src/main/java/org/apache/servicemix/kernel/deployer/spring/SpringURLHandler.java
similarity index 97%
rename from karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringURLHandler.java
rename to karaf/deployer/spring/src/main/java/org/apache/servicemix/kernel/deployer/spring/SpringURLHandler.java
index e9fedaf..fce7913 100644
--- a/karaf/spring/src/main/java/org/apache/servicemix/kernel/spring/SpringURLHandler.java
+++ b/karaf/deployer/spring/src/main/java/org/apache/servicemix/kernel/deployer/spring/SpringURLHandler.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.spring;
+package org.apache.servicemix.kernel.deployer.spring;
import java.io.File;
import java.io.FileInputStream;
diff --git a/karaf/spring/src/main/resources/META-INF/spring/spring-deployer.xml b/karaf/deployer/spring/src/main/resources/META-INF/spring/spring-deployer.xml
similarity index 91%
rename from karaf/spring/src/main/resources/META-INF/spring/spring-deployer.xml
rename to karaf/deployer/spring/src/main/resources/META-INF/spring/spring-deployer.xml
index 779c2af..af2921a 100644
--- a/karaf/spring/src/main/resources/META-INF/spring/spring-deployer.xml
+++ b/karaf/deployer/spring/src/main/resources/META-INF/spring/spring-deployer.xml
@@ -29,17 +29,17 @@
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd">
- <bean id="springDeploymentListener" class="org.apache.servicemix.kernel.spring.SpringDeploymentListener">
+ <bean id="springDeploymentListener" class="org.apache.servicemix.kernel.deployer.spring.SpringDeploymentListener">
</bean>
<osgi:service ref="springDeploymentListener">
<osgi:interfaces>
- <value>org.apache.servicemix.kernel.filemonitor.DeploymentListener</value>
+ <value>org.apache.servicemix.kernel.deployer.filemonitor.DeploymentListener</value>
</osgi:interfaces>
</osgi:service>
- <bean id="springHandler" class="org.apache.servicemix.kernel.spring.SpringURLHandler" />
+ <bean id="springHandler" class="org.apache.servicemix.kernel.deployer.spring.SpringURLHandler" />
<osgi:service ref="springHandler" interface="org.osgi.service.url.URLStreamHandlerService">
<osgi:service-properties>
diff --git a/karaf/spring/src/main/resources/org/apache/servicemix/kernel/spring/extract.xsl b/karaf/deployer/spring/src/main/resources/org/apache/servicemix/kernel/deployer/spring/extract.xsl
similarity index 100%
rename from karaf/spring/src/main/resources/org/apache/servicemix/kernel/spring/extract.xsl
rename to karaf/deployer/spring/src/main/resources/org/apache/servicemix/kernel/deployer/spring/extract.xsl
diff --git a/karaf/spring/src/test/java/org/apache/servicemix/kernel/spring/SpringDeploymentListenerTest.java b/karaf/deployer/spring/src/test/java/org/apache/servicemix/kernel/deployer/spring/SpringDeploymentListenerTest.java
similarity index 91%
rename from karaf/spring/src/test/java/org/apache/servicemix/kernel/spring/SpringDeploymentListenerTest.java
rename to karaf/deployer/spring/src/test/java/org/apache/servicemix/kernel/deployer/spring/SpringDeploymentListenerTest.java
index 38a37bb..9a70dd0 100644
--- a/karaf/spring/src/test/java/org/apache/servicemix/kernel/spring/SpringDeploymentListenerTest.java
+++ b/karaf/deployer/spring/src/test/java/org/apache/servicemix/kernel/deployer/spring/SpringDeploymentListenerTest.java
@@ -15,7 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.servicemix.kernel.spring;
+package org.apache.servicemix.kernel.deployer.spring;
import java.io.File;
import java.io.FileInputStream;
@@ -29,6 +29,8 @@
import javax.xml.transform.dom.DOMSource;
import junit.framework.TestCase;
+import org.apache.servicemix.kernel.deployer.spring.SpringDeploymentListener;
+import org.apache.servicemix.kernel.deployer.spring.SpringTransformer;
public class SpringDeploymentListenerTest extends TestCase {
@@ -39,7 +41,7 @@
assertNotNull(pkgs);
assertEquals(2, pkgs.size());
Iterator<String> it = pkgs.iterator();
- assertEquals("org.apache.servicemix.kernel.spring", it.next());
+ assertEquals("org.apache.servicemix.kernel.deployer.spring", it.next());
assertEquals("org.osgi.service.url", it.next());
}
diff --git a/karaf/spring/src/test/resources/test.xml b/karaf/deployer/spring/src/test/resources/test.xml
similarity index 91%
rename from karaf/spring/src/test/resources/test.xml
rename to karaf/deployer/spring/src/test/resources/test.xml
index 7976cbb..31dca21 100644
--- a/karaf/spring/src/test/resources/test.xml
+++ b/karaf/deployer/spring/src/test/resources/test.xml
@@ -34,17 +34,17 @@
Header=value
</manifest>
- <bean id="springDeploymentListener" class="org.apache.servicemix.kernel.spring.SpringDeploymentListener">
+ <bean id="springDeploymentListener" class="org.apache.servicemix.kernel.deployer.spring.SpringDeploymentListener">
</bean>
<osgi:service ref="springDeploymentListener">
<osgi:interfaces>
- <value>org.apache.servicemix.kernel.filemonitor.DeploymentListener</value>
+ <value>org.apache.servicemix.kernel.deployer.filemonitor.DeploymentListener</value>
</osgi:interfaces>
</osgi:service>
- <bean id="springHandler" class="org.apache.servicemix.kernel.spring.SpringURLHandler" />
+ <bean id="springHandler" class="org.apache.servicemix.kernel.deployer.spring.SpringURLHandler" />
<osgi:service ref="springHandler" interface="org.osgi.service.url.URLStreamHandlerService">
<osgi:service-properties>
diff --git a/karaf/gshell/gshell-admin/src/main/filtered-resources/org/apache/servicemix/kernel/gshell/admin/etc/startup.properties b/karaf/gshell/gshell-admin/src/main/filtered-resources/org/apache/servicemix/kernel/gshell/admin/etc/startup.properties
index f9689b1..fe1b9b8 100644
--- a/karaf/gshell/gshell-admin/src/main/filtered-resources/org/apache/servicemix/kernel/gshell/admin/etc/startup.properties
+++ b/karaf/gshell/gshell-admin/src/main/filtered-resources/org/apache/servicemix/kernel/gshell/admin/etc/startup.properties
@@ -25,6 +25,8 @@
#
org/ops4j/pax/url/pax-url-mvn/${pax.url.version}/pax-url-mvn-${pax.url.version}.jar=5
org/ops4j/pax/url/pax-url-wrap/${pax.url.version}/pax-url-wrap-${pax.url.version}.jar=5
+org/ops4j/pax/logging/pax-logging-api/${pax.logging.version}/pax-logging-api-${pax.logging.version}.jar=8
+org/ops4j/pax/logging/pax-logging-service/${pax.logging.version}/pax-logging-service-${pax.logging.version}.jar=8
org/apache/geronimo/specs/geronimo-servlet_2.5_spec/${geronimo.servlet.version}/geronimo-servlet_2.5_spec-${geronimo.servlet.version}.jar=10
org/apache/servicemix/specs/org.apache.servicemix.specs.jaxp-api-1.4/${servicemix.specs.version}/org.apache.servicemix.specs.jaxp-api-1.4-${servicemix.specs.version}.jar=10
org/apache/servicemix/bundles/org.apache.servicemix.bundles.jaxp-ri/${jaxp.ri.version}/org.apache.servicemix.bundles.jaxp-ri-${jaxp.ri.version}.jar=10
@@ -32,9 +34,7 @@
org/apache/felix/org.apache.felix.configadmin/${felix.configadmin.version}/org.apache.felix.configadmin-${felix.configadmin.version}.jar=10
org/apache/geronimo/specs/geronimo-annotation_1.0_spec/${geronimo.annotation.version}/geronimo-annotation_1.0_spec-${geronimo.annotation.version}.jar=10
org/apache/felix/org.apache.felix.prefs/${felix.prefs.version}/org.apache.felix.prefs-${felix.prefs.version}.jar=10
-org/apache/servicemix/kernel/org.apache.servicemix.kernel.filemonitor/${pom.version}/org.apache.servicemix.kernel.filemonitor-${pom.version}.jar=15
-org/ops4j/pax/logging/pax-logging-api/${pax.logging.version}/pax-logging-api-${pax.logging.version}.jar=20
-org/ops4j/pax/logging/pax-logging-service/${pax.logging.version}/pax-logging-service-${pax.logging.version}.jar=20
+org/apache/servicemix/kernel/deployer/org.apache.servicemix.kernel.deployer.filemonitor/${pom.version}/org.apache.servicemix.kernel.deployer.filemonitor-${pom.version}.jar=15
#
# The rest of the services..
@@ -42,7 +42,6 @@
org/apache/servicemix/bundles/org.apache.servicemix.bundles.jline/${jline.version}/org.apache.servicemix.bundles.jline-${jline.version}.jar=30
org/apache/servicemix/bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance.version}/org.apache.servicemix.bundles.aopalliance-${aopalliance.version}.jar=30
org/apache/servicemix/bundles/org.apache.servicemix.bundles.cglib/${cglib.version}/org.apache.servicemix.bundles.cglib-${cglib.version}.jar=30
-org/apache/servicemix/bundles/org.apache.servicemix.bundles.mina/${mina.version}/org.apache.servicemix.bundles.mina-${mina.version}.jar=30
org/apache/servicemix/bundles/org.apache.servicemix.bundles.oro/${oro.version}/org.apache.servicemix.bundles.oro-${oro.version}.jar=30
org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-codec/${commons.codec.version}/org.apache.servicemix.bundles.commons-codec-${commons.codec.version}.jar=30
org/apache/servicemix/bundles/org.apache.servicemix.bundles.commons-httpclient/${commons.httpclient.version}/org.apache.servicemix.bundles.commons-httpclient-${commons.httpclient.version}.jar=30
@@ -55,7 +54,9 @@
org/springframework/osgi/spring-osgi-core/${spring.osgi.version}/spring-osgi-core-${spring.osgi.version}.jar=30
org/springframework/osgi/spring-osgi-extender/${spring.osgi.version}/spring-osgi-extender-${spring.osgi.version}.jar=30
org/springframework/osgi/spring-osgi-io/${spring.osgi.version}/spring-osgi-io-${spring.osgi.version}.jar=30
-org/apache/servicemix/kernel/org.apache.servicemix.kernel.spring/${pom.version}/org.apache.servicemix.kernel.spring-${pom.version}.jar=30
+org/apache/servicemix/kernel/deployer/org.apache.servicemix.kernel.deployer.spring/${pom.version}/org.apache.servicemix.kernel.deployer.spring-${pom.version}.jar=30
+org/apache/servicemix/kernel/deployer/org.apache.servicemix.kernel.deployer.blueprint/${pom.version}/org.apache.servicemix.kernel.deployer.blueprint-${pom.version}.jar=30
+org/apache/servicemix/kernel/deployer/org.apache.servicemix.kernel.deployer.features/${pom.version}/org.apache.servicemix.kernel.deployer.features-${pom.version}.jar=30
org/apache/servicemix/kernel/org.apache.servicemix.kernel.management/${pom.version}/org.apache.servicemix.kernel.management-${pom.version}.jar=30
org/apache/servicemix/kernel/gshell/org.apache.servicemix.kernel.gshell.admin/${pom.version}/org.apache.servicemix.kernel.gshell.admin-${pom.version}.jar=30
org/apache/servicemix/kernel/gshell/org.apache.servicemix.kernel.gshell.osgi/${pom.version}/org.apache.servicemix.kernel.gshell.osgi-${pom.version}.jar=30
@@ -65,7 +66,8 @@
org/apache/servicemix/kernel/gshell/org.apache.servicemix.kernel.gshell.packages/${pom.version}/org.apache.servicemix.kernel.gshell.packages-${pom.version}.jar=30
org/apache/servicemix/kernel/jaas/org.apache.servicemix.kernel.jaas.config/${pom.version}/org.apache.servicemix.kernel.jaas.config-${pom.version}.jar=30
org/apache/servicemix/kernel/jaas/org.apache.servicemix.kernel.jaas.modules/${pom.version}/org.apache.servicemix.kernel.jaas.modules-${pom.version}.jar=30
-com/google/code/sshd/sshd/${sshd.version}/sshd-${sshd.version}.jar=30
+org/apache/mina/mina-core/${mina.version}/mina-core-${mina.version}.jar=30
+org/apache/sshd/sshd-core/${sshd.version}/sshd-core-${sshd.version}.jar=30
org/osgi/jmx/${osgi.jmx.version}/jmx-${osgi.jmx.version}.jar=30
com/oracle/osgi/jmx-impl/${osgi.jmx.version}/jmx-impl-${osgi.jmx.version}.jar=30
diff --git a/karaf/gshell/gshell-features/pom.xml b/karaf/gshell/gshell-features/pom.xml
index f53d9a8..1ebb64a 100644
--- a/karaf/gshell/gshell-features/pom.xml
+++ b/karaf/gshell/gshell-features/pom.xml
@@ -66,11 +66,6 @@
</dependency>
<dependency>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.filemonitor</artifactId>
- </dependency>
-
- <dependency>
<groupId>org.springframework.osgi</groupId>
<artifactId>spring-osgi-core</artifactId>
</dependency>
diff --git a/karaf/gshell/gshell-features/src/main/resources/META-INF/spring/gshell-features.xml b/karaf/gshell/gshell-features/src/main/resources/META-INF/spring/gshell-features.xml
index d45b6be..3ad2736 100644
--- a/karaf/gshell/gshell-features/src/main/resources/META-INF/spring/gshell-features.xml
+++ b/karaf/gshell/gshell-features/src/main/resources/META-INF/spring/gshell-features.xml
@@ -85,10 +85,6 @@
<property name="featuresServiceRegistry" ref="featureServiceRegistry" />
</bean>
- <bean id="featureDeploymentListener" class="org.apache.servicemix.kernel.gshell.features.internal.FeatureDeploymentListener">
- <property name="featuresService" ref="featuresService" />
- </bean>
-
<bean id="namingStrategy" class="org.apache.servicemix.kernel.gshell.features.management.DefaultNamingStrategy">
<property name="jmxDomainName" value="org.apache.servicemix" />
</bean>
@@ -109,8 +105,6 @@
<osgi:service ref="featuresService" interface="org.apache.servicemix.kernel.gshell.features.FeaturesService" />
- <osgi:service ref="featureDeploymentListener" interface="org.apache.servicemix.kernel.filemonitor.DeploymentListener" />
-
<osgix:cm-properties id="cmProps" persistent-id="org.apache.servicemix.features">
<prop key="featuresRepositories"></prop>
<prop key="featuresBoot"></prop>
diff --git a/karaf/pom.xml b/karaf/pom.xml
index e675001..0b5dec5 100644
--- a/karaf/pom.xml
+++ b/karaf/pom.xml
@@ -36,9 +36,8 @@
<modules>
<module>main</module>
- <module>filemonitor</module>
+ <module>deployer</module>
<module>gshell</module>
- <module>spring</module>
<module>jaas</module>
<module>client</module>
<module>management</module>
@@ -192,13 +191,23 @@
<version>${pom.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.filemonitor</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.filemonitor</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.servicemix.kernel</groupId>
- <artifactId>org.apache.servicemix.kernel.spring</artifactId>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.spring</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.blueprint</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.kernel.deployer</groupId>
+ <artifactId>org.apache.servicemix.kernel.deployer.features</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>