You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2007/10/24 22:03:15 UTC
svn commit: r587992 [3/3] - in
/incubator/servicemix/branches/servicemix-4.0: ./ apache-servicemix/
apache-servicemix/src/main/descriptors/
apache-servicemix/src/main/installers/ apache-servicemix/src/main/release/
apache-servicemix/src/main/release/bi...
Modified: incubator/servicemix/branches/servicemix-4.0/gshell/gshell-core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/gshell/gshell-core/pom.xml?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/gshell/gshell-core/pom.xml (original)
+++ incubator/servicemix/branches/servicemix-4.0/gshell/gshell-core/pom.xml Wed Oct 24 13:03:06 2007
@@ -184,6 +184,7 @@
<Private-Package>${gshell.osgi.private}</Private-Package>
<Implementation-Title>Apache GShell</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
+ <Spring-Context>*;publish-context:=false</Spring-Context>
</instructions>
</configuration>
</plugin>
Propchange: incubator/servicemix/branches/servicemix-4.0/gshell/gshell-osgi/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Oct 24 13:03:06 2007
@@ -1 +1,4 @@
target
+*.iml
+*.ipr
+*.iws
Modified: incubator/servicemix/branches/servicemix-4.0/gshell/gshell-osgi/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/gshell/gshell-osgi/pom.xml?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/gshell/gshell-osgi/pom.xml (original)
+++ incubator/servicemix/branches/servicemix-4.0/gshell/gshell-osgi/pom.xml Wed Oct 24 13:03:06 2007
@@ -77,6 +77,7 @@
<Implementation-Title>Apache GShell</Implementation-Title>
<Implementation-Version>${project.version}</Implementation-Version>
<DynamicImport-Package>*</DynamicImport-Package>
+ <Spring-Context>*;publish-context:=false</Spring-Context>
</instructions>
</configuration>
</plugin>
Modified: incubator/servicemix/branches/servicemix-4.0/gshell/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/gshell/pom.xml?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/gshell/pom.xml (original)
+++ incubator/servicemix/branches/servicemix-4.0/gshell/pom.xml Wed Oct 24 13:03:06 2007
@@ -27,7 +27,7 @@
<version>4.0-SNAPSHOT</version>
</parent>
- <groupId>org.apache.servicemix</groupId>
+ <groupId>org.apache.servicemix.gshell</groupId>
<artifactId>gshell</artifactId>
<packaging>pom</packaging>
<version>4.0-SNAPSHOT</version>
Added: incubator/servicemix/branches/servicemix-4.0/gshell/src/test/configs/services/org.apache.servicemix.shell.properties
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/gshell/src/test/configs/services/org.apache.servicemix.shell.properties?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/gshell/src/test/configs/services/org.apache.servicemix.shell.properties (added)
+++ incubator/servicemix/branches/servicemix-4.0/gshell/src/test/configs/services/org.apache.servicemix.shell.properties Wed Oct 24 13:03:06 2007
@@ -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.
+#
+#
+startLocalConsole=false
Modified: incubator/servicemix/branches/servicemix-4.0/itests/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/itests/pom.xml?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/itests/pom.xml (original)
+++ incubator/servicemix/branches/servicemix-4.0/itests/pom.xml Wed Oct 24 13:03:06 2007
@@ -45,6 +45,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring</artifactId>
+ <version>${spring.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
<version>${camel.version}</version>
@@ -168,7 +174,7 @@
<!--
<dependency>
<groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.main</artifactId>
+ <artifactId>org.apache.felix.servicemix</artifactId>
<version>${felix.version}</version>
<scope>test</scope>
</dependency>
Modified: incubator/servicemix/branches/servicemix-4.0/itests/src/test/java/org/apache/servicemix/IntegrationTest.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/itests/src/test/java/org/apache/servicemix/IntegrationTest.java?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/itests/src/test/java/org/apache/servicemix/IntegrationTest.java (original)
+++ incubator/servicemix/branches/servicemix-4.0/itests/src/test/java/org/apache/servicemix/IntegrationTest.java Wed Oct 24 13:03:06 2007
@@ -51,33 +51,40 @@
* test bundle are automatically included so do not need
* to be specified here.
*/
- protected String[] getBundles() {
- return new String[] {
- localMavenArtifact("org.apache.geronimo.specs", "geronimo-jms_1.1_spec", "1.1.1-SNAPSHOT"),
- localMavenArtifact("org.apache.geronimo.specs", "geronimo-j2ee-management_1.1_spec", "1.0.1-SNAPSHOT"),
- localMavenArtifact("org.apache.geronimo.specs", "geronimo-stax-api_1.0_spec", "1.0.1-SNAPSHOT"),
- localMavenArtifact("org.apache.geronimo.specs", "geronimo-activation_1.1_spec", "1.0.1-SNAPSHOT"),
- localMavenArtifact("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.jaxb-api", "2.0-4.0-SNAPSHOT"),
- localMavenArtifact("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.jaxb-impl", "2.0.3-4.0-SNAPSHOT"),
- localMavenArtifact("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.httpcore", "4.0-alpha5-4.0-SNAPSHOT"),
- localMavenArtifact("org.apache.activemq", "activemq-core", "5.0-SNAPSHOT"),
- localMavenArtifact("org.springframework", "spring-tx", "2.1-m4"),
- localMavenArtifact("org.springframework", "spring-jms", "2.1-m4"),
- localMavenArtifact("org.apache.camel", "camel-core", "1.1-SNAPSHOT"),
- localMavenArtifact("org.apache.camel", "camel-spring", "1.1-SNAPSHOT"),
- localMavenArtifact("org.apache.camel", "camel-osgi", "1.1-SNAPSHOT"),
- localMavenArtifact("org.apache.camel", "camel-jms", "1.1-SNAPSHOT"),
- localMavenArtifact("org.apache.camel", "camel-jhc", "1.1-SNAPSHOT"),
- localMavenArtifact("org.apache.servicemix", "org.apache.servicemix.api", "4.0-SNAPSHOT"),
- localMavenArtifact("org.apache.servicemix", "org.apache.servicemix.core", "4.0-SNAPSHOT"),
- localMavenArtifact("org.apache.servicemix", "org.apache.servicemix.spring", "4.0-SNAPSHOT"),
- localMavenArtifact("org.apache.servicemix", "org.apache.servicemix.nmr", "4.0-SNAPSHOT"),
- localMavenArtifact("org.apache.servicemix", "org.apache.servicemix.camel", "4.0-SNAPSHOT"),
- localMavenArtifact("org.apache.servicemix.examples", "org.apache.servicemix.examples.intermediary", "4.0-SNAPSHOT"),
+ protected String[] getTestBundlesNames() {
+ String servicemixVersion = "4.0-SNAPSHOT";
+ String camelVersion = "1.3-SNAPSHOT";
+ return new String[] {
+ "org.apache.geronimo.specs,geronimo-jms_1.1_spec,1.1.1-SNAPSHOT",
+ "org.apache.geronimo.specs,geronimo-j2ee-management_1.1_spec,1.0.1-SNAPSHOT",
+ "org.apache.geronimo.specs,geronimo-stax-api_1.0_spec,1.0.1-SNAPSHOT",
+ "org.apache.geronimo.specs,geronimo-activation_1.1_spec,1.0.1-SNAPSHOT",
+ "org.apache.servicemix.bundles,org.apache.servicemix.bundles.jaxb-api,2.0-" + servicemixVersion,
+ "org.apache.servicemix.bundles,org.apache.servicemix.bundles.jaxb-impl,2.0.3-" + servicemixVersion,
+ "org.apache.servicemix.bundles,org.apache.servicemix.bundles.httpcore,4.0-alpha5-" + servicemixVersion,
+ "org.apache.activemq,activemq-core,5.0-SNAPSHOT",
+ "org.springframework,spring-tx," + getSpringBundledVersion(),
+ "org.springframework,spring-jms," + getSpringBundledVersion(),
+ "org.apache.camel,camel-core," + camelVersion,
+ "org.apache.camel,camel-spring," + camelVersion,
+ "org.apache.camel,camel-osgi," + camelVersion,
+ "org.apache.camel,camel-jms," + camelVersion,
+ "org.apache.camel,camel-jhc," + camelVersion,
+ "org.apache.servicemix,org.apache.servicemix.api," + servicemixVersion,
+ "org.apache.servicemix,org.apache.servicemix.core," + servicemixVersion,
+ "org.apache.servicemix,org.apache.servicemix.spring," + servicemixVersion,
+ "org.apache.servicemix,org.apache.servicemix.nmr," + servicemixVersion,
+ "org.apache.servicemix,org.apache.servicemix.camel," + servicemixVersion,
+ "org.apache.servicemix.examples,org.apache.servicemix.examples.intermediary," + servicemixVersion,
};
}
-
- /**
+
+// protected String getSpringBundledVersion() {
+// return "2.5-rc1";
+// }
+
+
+ /**
* The superclass provides us access to the root bundle
* context via the 'getBundleContext' operation
*/
@@ -96,7 +103,6 @@
*
*/
public void testSimpleServiceExported() {
- waitOnContextCreation("org.apache.servicemix.nmr");
waitOnContextCreation("org.apache.servicemix.examples.intermediary");
BundleContext context = getBundleContext();
ServiceReference ref = context.getServiceReference(NMR.class.getName());
Propchange: incubator/servicemix/branches/servicemix-4.0/jbi/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Oct 24 13:03:06 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Propchange: incubator/servicemix/branches/servicemix-4.0/jbi/osgi/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Oct 24 13:03:06 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Added: incubator/servicemix/branches/servicemix-4.0/jbi/osgi/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/jbi/osgi/pom.xml?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/jbi/osgi/pom.xml (added)
+++ incubator/servicemix/branches/servicemix-4.0/jbi/osgi/pom.xml Wed Oct 24 13:03:06 2007
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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</groupId>
+ <artifactId>jbi</artifactId>
+ <version>4.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.servicemix.jbi</groupId>
+ <artifactId>org.apache.servicemix.jbi.osgi</artifactId>
+ <packaging>bundle</packaging>
+ <version>4.0-SNAPSHOT</version>
+ <name>ServiceMix JBI OSGi</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.servicemix.jbi</groupId>
+ <artifactId>org.apache.servicemix.jbi.runtime</artifactId>
+ <version>4.0-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Import-Package></Import-Package>
+ <DynamicImport-Package>*</DynamicImport-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: incubator/servicemix/branches/servicemix-4.0/jbi/osgi/src/main/resources/META-INF/spring/servicemix-jbi.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/jbi/osgi/src/main/resources/META-INF/spring/servicemix-jbi.xml?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/jbi/osgi/src/main/resources/META-INF/spring/servicemix-jbi.xml (added)
+++ incubator/servicemix/branches/servicemix-4.0/jbi/osgi/src/main/resources/META-INF/spring/servicemix-jbi.xml Wed Oct 24 13:03:06 2007
@@ -0,0 +1,56 @@
+<?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:osgi="http://www.springframework.org/schema/osgi"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd
+ http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi-1.0-m3.xsd">
+
+ <!-- JBI Component Registry -->
+ <bean id="componentRegistry" class="org.apache.servicemix.jbi.runtime.impl.ComponentRegistryImpl">
+ <property name="nmr" ref="nmr" />
+ </bean>
+
+ <!-- Service tracker for JBI components -->
+ <osgi:list id="components"
+ interface="javax.jbi.component.Component"
+ cardinality="0..N">
+ <osgi:listener ref="componentRegistry" bind-method="register" unbind-method="unregister" />
+ </osgi:list>
+
+ <!-- Reference to the ServiceMix NMR -->
+ <osgi:reference id="nmr"
+ interface="org.apache.servicemix.api.NMR"
+ cardinality="1..1" />
+
+ <!-- Expose the JBI components registry in OSGi -->
+ <osgi:service ref="componentRegistry">
+ <osgi:interfaces>
+ <value>org.apache.servicemix.jbi.runtime.ComponentRegistry</value>
+ </osgi:interfaces>
+ </osgi:service>
+
+</beans>
\ No newline at end of file
Propchange: incubator/servicemix/branches/servicemix-4.0/jbi/runtime/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Oct 24 13:03:06 2007
@@ -1 +1,4 @@
target
+*.iml
+*.ipr
+*.iws
Propchange: incubator/servicemix/branches/servicemix-4.0/main/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Oct 24 13:03:06 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Modified: incubator/servicemix/branches/servicemix-4.0/main/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/main/pom.xml?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/main/pom.xml (original)
+++ incubator/servicemix/branches/servicemix-4.0/main/pom.xml Wed Oct 24 13:03:06 2007
@@ -27,9 +27,9 @@
<version>4.0-SNAPSHOT</version>
</parent>
- <artifactId>org.apache.felix.main</artifactId>
+ <artifactId>org.apache.servicemix.main</artifactId>
<packaging>bundle</packaging>
- <name>Apache Felix Main</name>
+ <name>Apache ServiceMix Main</name>
<dependencies>
<dependency>
@@ -51,28 +51,6 @@
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.shell</artifactId>
- <version>${felix.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.osgi.core</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.shell.tui</artifactId>
- <version>${felix.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.osgi.core</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.bundlerepository</artifactId>
<version>${felix.version}</version>
<exclusions>
@@ -86,10 +64,12 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.directory.daemon</groupId>
+ <artifactId>daemon-bootstrappers</artifactId>
+ <version>1.1.1</version>
+ </dependency>
</dependencies>
- <properties>
- <property name="install.home" value="${basedir.absolutePath}"/>
- </properties>
<build>
<plugins>
<plugin>
@@ -100,100 +80,16 @@
<configuration>
<instructions>
<_donotcopy>(CVS|.svn|config.properties)</_donotcopy>
- <Main-Class>org.apache.felix.main.Main</Main-Class>
- <Bundle-Name>Apache Felix</Bundle-Name>
+ <Main-Class>org.apache.servicemix.main.Main</Main-Class>
+ <Bundle-Name>Apache ServiceMix</Bundle-Name>
<Bundle-Description>OSGi R4 framework.</Bundle-Description>
- <Private-Package>org.apache.felix.main.*,org.apache.felix.moduleloader.*,org.apache.felix.framework.*,org.osgi.framework,org.osgi.service.packageadmin,org.osgi.service.startlevel,org.osgi.service.url,org.osgi.util.tracker</Private-Package>
+ <Private-Package>org.apache.servicemix.main.*,org.apache.felix.moduleloader.*,org.apache.felix.framework.*,org.osgi.framework,org.osgi.service.packageadmin,org.osgi.service.startlevel,org.osgi.service.event,org.osgi.service.url,org.osgi.util.tracker</Private-Package>
<Import-Package>!*</Import-Package>
<Include-Resource>{src/main/resources/}</Include-Resource>
</instructions>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack</id>
- <phase>validate</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.outputDirectory}</outputDirectory>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.framework</artifactId>
- <version>${felix.version}</version>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- <execution>
- <id>copy</id>
- <phase>install</phase>
- <goals>
- <goal>copy</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.shell</artifactId>
- <version>${felix.version}</version>
- <type>jar</type>
- <overWrite>true</overWrite>
- <outputDirectory>${project.build.directory}/bundle</outputDirectory >
- </artifactItem>
- <artifactItem>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.shell.tui</artifactId>
- <version>${felix.version}</version>
- <type>jar</type>
- <overWrite>true</overWrite>
- <outputDirectory>${project.build.directory}/bundle</outputDirectory >
- </artifactItem>
- <artifactItem>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.bundlerepository</artifactId>
- <version>${felix.version}</version>
- <type>jar</type>
- <overWrite>true</overWrite>
- <outputDirectory>${project.build.directory}/bundle</outputDirectory >
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <phase>install</phase>
- <configuration>
- <tasks>
- <delete dir="${basedir}/bin"/>
- <mkdir dir="${basedir}/bin"/>
- <delete dir="${basedir}/conf"/>
- <mkdir dir="${basedir}/conf"/>
- <delete dir="${basedir}/bundle"/>
- <copy file="${basedir}/target/org.apache.felix.main-${pom.version}.jar"
- tofile="${basedir}/bin/felix.jar"/>
- <copy file="${basedir}/target/classes/config.properties"
- todir="${basedir}/conf"/>
- <move file="${basedir}/target/bundle"
- todir="${basedir}"/>
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
+ </plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
Modified: incubator/servicemix/branches/servicemix-4.0/main/src/main/java/org/apache/servicemix/main/Main.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/main/src/main/java/org/apache/servicemix/main/Main.java?rev=587992&r1=587990&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/main/src/main/java/org/apache/servicemix/main/Main.java (original)
+++ incubator/servicemix/branches/servicemix-4.0/main/src/main/java/org/apache/servicemix/main/Main.java Wed Oct 24 13:03:06 2007
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.main;
+package org.apache.servicemix.main;
import java.io.*;
import java.net.MalformedURLException;
Propchange: incubator/servicemix/branches/servicemix-4.0/management/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Oct 24 13:03:06 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Propchange: incubator/servicemix/branches/servicemix-4.0/management/acegi/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Oct 24 13:03:06 2007
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws
Added: incubator/servicemix/branches/servicemix-4.0/management/acegi/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/acegi/pom.xml?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/acegi/pom.xml (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/acegi/pom.xml Wed Oct 24 13:03:06 2007
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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</groupId>
+ <artifactId>servicemix</artifactId>
+ <version>4.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.servicemix.management</groupId>
+ <artifactId>org.apache.servicemix.management.acegi</artifactId>
+ <packaging>bundle</packaging>
+ <version>4.0-SNAPSHOT</version>
+ <name>org.apache.servicemix.management.acegi</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.acegisecurity</groupId>
+ <artifactId>acegi-security</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>${felix.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>osgi_R4_compendium</artifactId>
+ <version>1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>${commons.logging.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Import-Package>org.apache.servicemix.security.api*;resolution:=optional,*</Import-Package>
+ <Export-Package>org.apache.servicemix.management*</Export-Package>
+ <DynamicImport-Package>*</DynamicImport-Package>
+ <Private-Package>
+ </Private-Package>
+ <Spring-Context>*;publish-context:=false</Spring-Context>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <configuration>
+ <includeProjectDependencies>false</includeProjectDependencies>
+ <includePluginDependencies>true</includePluginDependencies>
+ <executableDependency>
+ <groupId>org.ops4j.pax.runner</groupId>
+ <artifactId>pax-runner</artifactId>
+ </executableDependency>
+ <mainClass>org.ops4j.pax.runner.Run</mainClass>
+ <arguments>
+ <argument>--vmOptions=-Dbundles.configuration.location=${basedir}/src/test/configs</argument>
+ <argument>--console</argument>
+ <argument>mvn:org.apache.felix/org.apache.felix.configadmin/0.9.0-SNAPSHOT</argument>
+ <argument>mvn:org.ops4j.pax.confman/pax-confman-propsloader/0.3.0-SNAPSHOT</argument>
+ <argument>mvn:org.ops4j.pax.logging/pax-logging-api/0.9.7-SNAPSHOT</argument>
+ <argument>mvn:org.ops4j.pax.logging/pax-logging-service/0.9.7-SNAPSHOT</argument>
+ <argument>mvn:org.springframework.osgi/spring-osgi-core/${spring.osgi.version}</argument>
+ <argument>mvn:org.springframework.osgi/spring-osgi-extender/${spring.osgi.version}</argument>
+ <argument>mvn:org.springframework.osgi/spring-osgi-io/${spring.osgi.version}</argument>
+ <argument>mvn:org.springframework/spring-aop/${spring.version}</argument>
+ <argument>mvn:org.springframework/spring-beans/${spring.version}</argument>
+ <argument>mvn:org.springframework/spring-context/${spring.version}</argument>
+ <argument>mvn:org.springframework/spring-core/${spring.version}</argument>
+ <argument>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0-${project.version}</argument>
+ <argument>mvn:org.apache.servicemix/org.apache.servicemix.management/${project.version}</argument>
+ </arguments>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.ops4j.pax.runner</groupId>
+ <artifactId>pax-runner</artifactId>
+ <version>0.5.1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+
+</project>
Added: incubator/servicemix/branches/servicemix-4.0/management/acegi/src/main/java/org/apache/servicemix/management/acegi/AcegiJMXAuthenticator.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/acegi/src/main/java/org/apache/servicemix/management/acegi/AcegiJMXAuthenticator.java?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/acegi/src/main/java/org/apache/servicemix/management/acegi/AcegiJMXAuthenticator.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/acegi/src/main/java/org/apache/servicemix/management/acegi/AcegiJMXAuthenticator.java Wed Oct 24 13:03:06 2007
@@ -0,0 +1,60 @@
+/**
+ * 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.servicemix.management.acegi;
+
+import javax.management.remote.JMXAuthenticator;
+import javax.security.auth.Subject;
+
+import org.acegisecurity.Authentication;
+import org.acegisecurity.AuthenticationManager;
+import org.acegisecurity.providers.UsernamePasswordAuthenticationToken;
+
+/**
+ * A JMXAuthenticator delegating to Acegi for authenticating the user.
+ *
+ */
+public class AcegiJMXAuthenticator implements JMXAuthenticator {
+
+ private final AuthenticationManager authenticationManager;
+
+ public AcegiJMXAuthenticator(AuthenticationManager authenticationManager) {
+ this.authenticationManager = authenticationManager;
+ }
+
+ public Subject authenticate(Object credentials) {
+ if (!(credentials instanceof String[])) {
+ throw new IllegalArgumentException("Expected String[2], got " + (credentials != null ? credentials.getClass().getName() : null));
+ }
+ String[] params = (String[]) credentials;
+ if (params.length != 2) {
+ throw new IllegalArgumentException("Expected String[2] but length was " + params.length);
+ }
+ Subject subject = new Subject();
+ try {
+ authenticate(subject, params[0], params[1]);
+ } catch (Exception e) {
+ throw new SecurityException("Error occured while authenticating", e);
+ }
+ return subject;
+ }
+
+ protected void authenticate(Subject subject, String login, String password) {
+ Authentication token = new UsernamePasswordAuthenticationToken(login, password);
+ token = authenticationManager.authenticate(token);
+ }
+
+}
Added: incubator/servicemix/branches/servicemix-4.0/management/acegi/src/main/resources/META-INF/spring/servicemix-management-acegi.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/acegi/src/main/resources/META-INF/spring/servicemix-management-acegi.xml?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/acegi/src/main/resources/META-INF/spring/servicemix-management-acegi.xml (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/acegi/src/main/resources/META-INF/spring/servicemix-management-acegi.xml Wed Oct 24 13:03:06 2007
@@ -0,0 +1,47 @@
+<?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:osgi="http://www.springframework.org/schema/osgi"
+ xmlns:osgix="http://www.springframework.org/schema/osgi-compendium"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd
+ http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi-1.0-m3.xsd
+ http://www.springframework.org/schema/osgi-compendium
+ http://www.springframework.org/schema/osgi/spring-osgi-compendium.xsd">
+
+ <!-- Configure the Acegi authenticator -->
+ <bean id="acegiAuthenticator" class="org.apache.servicemix.management.acegi.AcegiJMXAuthenticator">
+ <constructor-arg ref="authenticationManager" />
+ </bean>
+
+ <!-- Export it as an OSGi service -->
+ <osgi:service ref="acegiAuthenticator" interface="javax.management.remote.JMXAuthenticator" ranking="1" />
+
+ <!-- Create an OSGi reference to the authenticationManager -->
+ <osgi:reference id="authenticationManager" interface="org.acegisecurity.AuthenticationManager" cardinality="1..1" />
+
+</beans>
+
Propchange: incubator/servicemix/branches/servicemix-4.0/management/core/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Oct 24 13:03:06 2007
@@ -0,0 +1,5 @@
+target
+runner
+*.iml
+*.ipr
+*.iws
Added: incubator/servicemix/branches/servicemix-4.0/management/core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/core/pom.xml?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/core/pom.xml (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/core/pom.xml Wed Oct 24 13:03:06 2007
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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</groupId>
+ <artifactId>servicemix</artifactId>
+ <version>4.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.servicemix.management</groupId>
+ <artifactId>org.apache.servicemix.management.core</artifactId>
+ <packaging>bundle</packaging>
+ <version>4.0-SNAPSHOT</version>
+ <name>org.apache.servicemix.management.core</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.osgi</groupId>
+ <artifactId>spring-osgi-core</artifactId>
+ <version>${spring.osgi.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>${spring.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>${felix.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>osgi_R4_compendium</artifactId>
+ <version>1.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>${commons.logging.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+ <Import-Package>*</Import-Package>
+ <Export-Package>org.apache.servicemix.management*</Export-Package>
+ <DynamicImport-Package>*</DynamicImport-Package>
+ <Private-Package>
+ </Private-Package>
+ <Spring-Context>*;publish-context:=false</Spring-Context>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <configuration>
+ <includeProjectDependencies>false</includeProjectDependencies>
+ <includePluginDependencies>true</includePluginDependencies>
+ <executableDependency>
+ <groupId>org.ops4j.pax.runner</groupId>
+ <artifactId>pax-runner</artifactId>
+ </executableDependency>
+ <mainClass>org.ops4j.pax.runner.Run</mainClass>
+ <arguments>
+ <argument>--vmOptions=-Dbundles.configuration.location=${basedir}/src/test/configs</argument>
+ <argument>--console</argument>
+ <argument>mvn:org.apache.felix/org.apache.felix.configadmin/0.9.0-SNAPSHOT</argument>
+ <argument>mvn:org.ops4j.pax.confman/pax-confman-propsloader/0.3.0-SNAPSHOT</argument>
+ <argument>mvn:org.ops4j.pax.logging/pax-logging-api/0.9.7-SNAPSHOT</argument>
+ <argument>mvn:org.ops4j.pax.logging/pax-logging-service/0.9.7-SNAPSHOT</argument>
+ <argument>mvn:org.springframework.osgi/spring-osgi-core/${spring.osgi.version}</argument>
+ <argument>mvn:org.springframework.osgi/spring-osgi-extender/${spring.osgi.version}</argument>
+ <argument>mvn:org.springframework.osgi/spring-osgi-io/${spring.osgi.version}</argument>
+ <argument>mvn:org.springframework/spring-aop/${spring.version}</argument>
+ <argument>mvn:org.springframework/spring-beans/${spring.version}</argument>
+ <argument>mvn:org.springframework/spring-context/${spring.version}</argument>
+ <argument>mvn:org.springframework/spring-core/${spring.version}</argument>
+ <argument>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0-${project.version}</argument>
+ <argument>mvn:org.apache.servicemix/org.apache.servicemix.management/${project.version}</argument>
+ </arguments>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.ops4j.pax.runner</groupId>
+ <artifactId>pax-runner</artifactId>
+ <version>0.5.1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+
+</project>
Added: incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/IntrospectionSupport.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/IntrospectionSupport.java?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/IntrospectionSupport.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/IntrospectionSupport.java Wed Oct 24 13:03:06 2007
@@ -0,0 +1,294 @@
+/**
+ * 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.servicemix.management;
+
+import java.beans.PropertyEditor;
+import java.beans.PropertyEditorManager;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+
+public final class IntrospectionSupport {
+
+ private IntrospectionSupport() {
+ }
+
+ public static boolean getProperties(Object target, Map props, String optionPrefix) {
+
+ boolean rc = false;
+ if (target == null) {
+ throw new IllegalArgumentException("target was null.");
+ }
+ if (props == null) {
+ throw new IllegalArgumentException("props was null.");
+ }
+
+ if (optionPrefix == null) {
+ optionPrefix = "";
+ }
+
+ Class clazz = target.getClass();
+ Method[] methods = clazz.getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ Method method = methods[i];
+ String name = method.getName();
+ Class type = method.getReturnType();
+ Class params[] = method.getParameterTypes();
+ if (name.startsWith("get") && params.length == 0 && type != null && isSettableType(type)) {
+
+ try {
+
+ Object value = method.invoke(target, new Object[] {});
+ if (value == null) {
+ continue;
+ }
+
+ String strValue = convertToString(value, type);
+ if (strValue == null) {
+ continue;
+ }
+
+ name = name.substring(3, 4).toLowerCase() + name.substring(4);
+ props.put(optionPrefix + name, strValue);
+ rc = true;
+
+ } catch (Throwable ignore) {
+ }
+
+ }
+ }
+
+ return rc;
+ }
+
+ public static boolean setProperties(Object target, Map<String, ?> props, String optionPrefix) {
+ boolean rc = false;
+ if (target == null) {
+ throw new IllegalArgumentException("target was null.");
+ }
+ if (props == null) {
+ throw new IllegalArgumentException("props was null.");
+ }
+
+ for (Iterator<String> iter = props.keySet().iterator(); iter.hasNext();) {
+ String name = iter.next();
+ if (name.startsWith(optionPrefix)) {
+ Object value = props.get(name);
+ name = name.substring(optionPrefix.length());
+ if (setProperty(target, name, value)) {
+ iter.remove();
+ rc = true;
+ }
+ }
+ }
+ return rc;
+ }
+
+ public static Map<String, Object> extractProperties(Map props, String optionPrefix) {
+ if (props == null) {
+ throw new IllegalArgumentException("props was null.");
+ }
+
+ HashMap<String, Object> rc = new HashMap<String, Object>(props.size());
+
+ for (Iterator iter = props.keySet().iterator(); iter.hasNext();) {
+ String name = (String)iter.next();
+ if (name.startsWith(optionPrefix)) {
+ Object value = props.get(name);
+ name = name.substring(optionPrefix.length());
+ rc.put(name, value);
+ iter.remove();
+ }
+ }
+
+ return rc;
+ }
+
+ public static boolean setProperties(Object target, Map props) {
+ boolean rc = false;
+
+ if (target == null) {
+ throw new IllegalArgumentException("target was null.");
+ }
+ if (props == null) {
+ throw new IllegalArgumentException("props was null.");
+ }
+
+ for (Iterator iter = props.entrySet().iterator(); iter.hasNext();) {
+ Map.Entry entry = (Entry)iter.next();
+ if (setProperty(target, (String)entry.getKey(), entry.getValue())) {
+ iter.remove();
+ rc = true;
+ }
+ }
+
+ return rc;
+ }
+
+ public static boolean setProperty(Object target, String name, Object value) {
+ try {
+ Class clazz = target.getClass();
+ Method setter = findSetterMethod(clazz, name);
+ if (setter == null) {
+ return false;
+ }
+
+ // If the type is null or it matches the needed type, just use the
+ // value directly
+ if (value == null || value.getClass() == setter.getParameterTypes()[0]) {
+ setter.invoke(target, new Object[] {value});
+ } else {
+ // We need to convert it
+ setter.invoke(target, new Object[] {convert(value, setter.getParameterTypes()[0])});
+ }
+ return true;
+ } catch (Throwable ignore) {
+ return false;
+ }
+ }
+
+ private static Object convert(Object value, Class type) throws URISyntaxException {
+ PropertyEditor editor = PropertyEditorManager.findEditor(type);
+ if (editor != null) {
+ editor.setAsText(value.toString());
+ return editor.getValue();
+ }
+ if (type == URI.class) {
+ return new URI(value.toString());
+ }
+ return null;
+ }
+
+ private static String convertToString(Object value, Class type) throws URISyntaxException {
+ PropertyEditor editor = PropertyEditorManager.findEditor(type);
+ if (editor != null) {
+ editor.setValue(value);
+ return editor.getAsText();
+ }
+ if (type == URI.class) {
+ return ((URI)value).toString();
+ }
+ return null;
+ }
+
+ private static Method findSetterMethod(Class clazz, String name) {
+ // Build the method name.
+ name = "set" + name.substring(0, 1).toUpperCase() + name.substring(1);
+ Method[] methods = clazz.getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ Method method = methods[i];
+ Class params[] = method.getParameterTypes();
+ if (method.getName().equals(name) && params.length == 1 && isSettableType(params[0])) {
+ return method;
+ }
+ }
+ return null;
+ }
+
+ private static boolean isSettableType(Class clazz) {
+ if (PropertyEditorManager.findEditor(clazz) != null) {
+ return true;
+ }
+ if (clazz == URI.class) {
+ return true;
+ }
+ if (clazz == Boolean.class) {
+ return true;
+ }
+ return false;
+ }
+
+ public static String toString(Object target) {
+ return toString(target, Object.class);
+ }
+
+ public static String toString(Object target, Class stopClass) {
+ LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>();
+ addFields(target, target.getClass(), stopClass, map);
+ StringBuffer buffer = new StringBuffer(simpleName(target.getClass()));
+ buffer.append(" {");
+ Set entrySet = map.entrySet();
+ boolean first = true;
+ for (Iterator iter = entrySet.iterator(); iter.hasNext();) {
+ Map.Entry entry = (Map.Entry)iter.next();
+ if (first) {
+ first = false;
+ } else {
+ buffer.append(", ");
+ }
+ buffer.append(entry.getKey());
+ buffer.append(" = ");
+ appendToString(buffer, entry.getValue());
+ }
+ buffer.append("}");
+ return buffer.toString();
+ }
+
+ protected static void appendToString(StringBuffer buffer, Object value) {
+ buffer.append(value);
+ }
+
+ public static String simpleName(Class clazz) {
+ String name = clazz.getName();
+ int p = name.lastIndexOf(".");
+ if (p >= 0) {
+ name = name.substring(p + 1);
+ }
+ return name;
+ }
+
+ private static void addFields(Object target, Class startClass, Class<Object> stopClass, LinkedHashMap<String, Object> map) {
+
+ if (startClass != stopClass) {
+ addFields(target, startClass.getSuperclass(), stopClass, map);
+ }
+
+ Field[] fields = startClass.getDeclaredFields();
+ for (int i = 0; i < fields.length; i++) {
+ Field field = fields[i];
+ if (Modifier.isStatic(field.getModifiers()) || Modifier.isTransient(field.getModifiers())
+ || Modifier.isPrivate(field.getModifiers())) {
+ continue;
+ }
+
+ try {
+ field.setAccessible(true);
+ Object o = field.get(target);
+ if (o != null && o.getClass().isArray()) {
+ try {
+ o = Arrays.asList((Object[])o);
+ } catch (Throwable e) {
+ }
+ }
+ map.put(field.getName(), o);
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+
+}
Propchange: incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/IntrospectionSupport.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/JmxConnectorServiceFactory.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/JmxConnectorServiceFactory.java?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/JmxConnectorServiceFactory.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/JmxConnectorServiceFactory.java Wed Oct 24 13:03:06 2007
@@ -0,0 +1,74 @@
+package org.apache.servicemix.management;
+
+import java.io.IOException;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import org.osgi.service.cm.ConfigurationException;
+import org.osgi.service.cm.ManagedServiceFactory;
+import org.springframework.beans.factory.DisposableBean;
+import org.springframework.jmx.support.ConnectorServerFactoryBean;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: gnodet
+ * Date: Oct 14, 2007
+ * Time: 11:10:17 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class JmxConnectorServiceFactory implements ManagedServiceFactory, DisposableBean {
+
+ private Map<String, ConnectorServerFactoryBean> connectors = new HashMap<String, ConnectorServerFactoryBean>();
+ private Properties environment;
+
+ public void setEnvironment(Properties environment) {
+ this.environment = environment;
+ }
+
+ public String getName() {
+ return JmxConnectorServiceFactory.class.getName();
+ }
+
+ public void updated(final String s, final Dictionary dictionary) throws ConfigurationException {
+ System.err.println("Updated: " + s + " with props (" + dictionary + ")");
+ try {
+ if (connectors.containsKey(s)) {
+ deleted(s);
+ }
+ ConnectorServerFactoryBean factory = new ConnectorServerFactoryBean();
+ Map<String, Object> props = new HashMap<String, Object>();
+ for (Enumeration e = dictionary.keys(); e.hasMoreElements();) {
+ String key = (String) e.nextElement();
+ props.put(key, dictionary.get(key));
+ }
+ factory.setEnvironment(environment);
+ IntrospectionSupport.setProperties(factory, props);
+ factory.afterPropertiesSet();
+ connectors.put(s, factory);
+ } catch (Exception e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ throw new ConfigurationException("Unable to create service", "Unknown", e);
+ }
+ }
+
+ public void deleted(String s) {
+ System.err.println("Deleted: " + s);
+ try {
+ ConnectorServerFactoryBean factory = connectors.remove(s);
+ if (factory != null) {
+ factory.destroy();
+ }
+ } catch (IOException e) {
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ }
+ }
+
+ public void destroy() throws Exception {
+ while (!connectors.isEmpty()) {
+ deleted(connectors.keySet().iterator().next());
+ }
+ }
+}
Added: incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/RmiRegistryFactoryBean.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/RmiRegistryFactoryBean.java?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/RmiRegistryFactoryBean.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/RmiRegistryFactoryBean.java Wed Oct 24 13:03:06 2007
@@ -0,0 +1,118 @@
+/*
+ * 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.servicemix.management;
+
+import java.rmi.RemoteException;
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+import java.rmi.server.UnicastRemoteObject;
+
+import org.springframework.beans.factory.DisposableBean;
+import org.springframework.beans.factory.FactoryBean;
+import org.springframework.beans.factory.InitializingBean;
+
+/**
+ *
+ * @author gnodet
+ */
+public class RmiRegistryFactoryBean implements FactoryBean, InitializingBean, DisposableBean {
+
+ private int port = Registry.REGISTRY_PORT;
+ private Registry registry;
+ private boolean locate;
+ private boolean create = true;
+ private boolean locallyCreated;
+
+ /**
+ * @return the create
+ */
+ public boolean isCreate() {
+ return create;
+ }
+
+ /**
+ * @param create the create to set
+ */
+ public void setCreate(boolean create) {
+ this.create = create;
+ }
+
+ /**
+ * @return the locate
+ */
+ public boolean isLocate() {
+ return locate;
+ }
+
+ /**
+ * @param locate the locate to set
+ */
+ public void setLocate(boolean locate) {
+ this.locate = locate;
+ }
+
+ /**
+ * @return the port
+ */
+ public int getPort() {
+ return port;
+ }
+
+ /**
+ * @param port the port to set
+ */
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+ public Object getObject() throws Exception {
+ return registry;
+ }
+
+ public Class getObjectType() {
+ return Registry.class;
+ }
+
+ public boolean isSingleton() {
+ return true;
+ }
+
+ public void afterPropertiesSet() throws RemoteException {
+ if (registry == null && locate) {
+ try {
+ Registry reg = LocateRegistry.getRegistry(getPort());
+ reg.list();
+ registry = reg;
+ } catch (RemoteException e) {
+ // ignore
+ }
+ }
+ if (registry == null && create) {
+ registry = LocateRegistry.createRegistry(getPort());
+ locallyCreated = true;
+ }
+ }
+
+ public void destroy() throws RemoteException {
+ if (registry != null && locallyCreated) {
+ Registry reg = registry;
+ registry = null;
+ UnicastRemoteObject.unexportObject(reg, true);
+ }
+ }
+
+}
Added: incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/SimpleAuthenticationManager.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/SimpleAuthenticationManager.java?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/SimpleAuthenticationManager.java (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/core/src/main/java/org/apache/servicemix/management/SimpleAuthenticationManager.java Wed Oct 24 13:03:06 2007
@@ -0,0 +1,71 @@
+/**
+ * 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.servicemix.management;
+
+import javax.management.remote.JMXAuthenticator;
+import javax.security.auth.Subject;
+import javax.security.auth.login.LoginException;
+
+/**
+ *
+ */
+public class SimpleAuthenticationManager implements JMXAuthenticator {
+
+ private String login;
+ private String password;
+
+ public String getLogin() {
+ return login;
+ }
+
+ public void setLogin(String login) {
+ this.login = login;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public Subject authenticate(Object credentials) {
+ if (!(credentials instanceof String[])) {
+ throw new IllegalArgumentException("Expected String[2], got " + (credentials != null ? credentials.getClass().getName() : null));
+ }
+ String[] params = (String[]) credentials;
+ if (params.length != 2) {
+ throw new IllegalArgumentException("Expected String[2] but length was " + params.length);
+ }
+ Subject subject = new Subject();
+ try {
+ authenticate(subject, params[0], params[1]);
+ } catch (Exception e) {
+ throw new SecurityException("Error occured while authenticating", e);
+ }
+ return subject;
+ }
+
+ protected void authenticate(Subject subject, String login, String password) {
+ if (login == null && this.login == null) {
+ // TODO
+ }
+ }
+
+
+}
Added: incubator/servicemix/branches/servicemix-4.0/management/core/src/main/resources/META-INF/spring/servicemix-management.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/core/src/main/resources/META-INF/spring/servicemix-management.xml?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/core/src/main/resources/META-INF/spring/servicemix-management.xml (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/core/src/main/resources/META-INF/spring/servicemix-management.xml Wed Oct 24 13:03:06 2007
@@ -0,0 +1,89 @@
+<?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:osgi="http://www.springframework.org/schema/osgi"
+ xmlns:osgix="http://www.springframework.org/schema/osgi-compendium"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd
+ http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi-1.0-m3.xsd
+ http://www.springframework.org/schema/osgi-compendium
+ http://www.springframework.org/schema/osgi/spring-osgi-compendium.xsd">
+
+ <!-- MBeanServer bean -->
+ <bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
+ <property name="locateExistingServerIfPossible" value="true"/>
+ </bean>
+
+ <!-- Export the MBeanServer as an OSGi service -->
+ <osgi:service ref="mbeanServer">
+ <osgi:interfaces>
+ <value>javax.management.MBeanServer</value>
+ </osgi:interfaces>
+ </osgi:service>
+
+ <!-- Create a RMI registry -->
+ <bean id="rmiRegistry" class="org.apache.servicemix.management.RmiRegistryFactoryBean">
+ <property name="create" value="true" />
+ <property name="locate" value="true" />
+ <property name="port" value="${rmiRegistryPort}" />
+ </bean>
+
+ <!-- Create a JMX connector ServiceFactory -->
+ <bean id="jmxConnectorServiceFactory" class="org.apache.servicemix.management.JmxConnectorServiceFactory">
+ <property name="environment" ref="jmxConnectorEnvironment" />
+ </bean>
+
+ <!-- Environment map for connectors -->
+ <util:map id="jmxConnectorEnvironment">
+ <entry key="jmx.remote.authenticator" value-ref="jmxAuthenticator" />
+ </util:map>
+
+ <!-- The JMXAuthenticator OSGi reference -->
+ <!-- By default, it will point to the simple authenticator below, unless
+ another one is exported by a bundle with a higher ranking -->
+ <osgi:reference id="jmxAuthenticator" interface="javax.management.remote.JMXAuthenticator" mandatory="false"/>
+
+ <!-- Export the factory as a managed factory in OSGi -->
+ <osgi:service ref="jmxConnectorServiceFactory">
+ <osgi:interfaces>
+ <value>org.osgi.service.cm.ManagedServiceFactory</value>
+ </osgi:interfaces>
+ <osgi:service-properties>
+ <entry key="service.pid" value="org.apache.servicemix.management.JmxConnectorServiceFactory" />
+ </osgi:service-properties>
+ </osgi:service>
+
+ <!-- Property place holder -->
+ <osgix:property-placeholder persistent-id="org.apache.servicemix.management">
+ <osgix:default-properties>
+ <prop key="rmiRegistryPort">1099</prop>
+ <prop key="jmxLogin">smx</prop>
+ <prop key="jmxPassword">smx</prop>
+ </osgix:default-properties>
+ </osgix:property-placeholder>
+
+</beans>
+
Added: incubator/servicemix/branches/servicemix-4.0/management/core/src/test/configs/factories/management.properties
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/core/src/test/configs/factories/management.properties?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/core/src/test/configs/factories/management.properties (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/core/src/test/configs/factories/management.properties Wed Oct 24 13:03:06 2007
@@ -0,0 +1,7 @@
+service.pid=org.apache.servicemix.management.JmxConnectorServiceFactory
+instances=1
+keys=objectName,serviceUrl,threaded,daemon,
+objectName.1=connector:name=rmi
+serviceUrl.1=service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
+threaded.1=true
+daemon.1=true
Added: incubator/servicemix/branches/servicemix-4.0/management/core/src/test/configs/services/org.ops4j.pax.logging.properties
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/core/src/test/configs/services/org.ops4j.pax.logging.properties?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/core/src/test/configs/services/org.ops4j.pax.logging.properties (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/core/src/test/configs/services/org.ops4j.pax.logging.properties Wed Oct 24 13:03:06 2007
@@ -0,0 +1,34 @@
+#
+# 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.
+#
+#
+log4j.rootLogger=DEBUG, out
+
+log4j.logger.org.springframework=DEBUG
+
+# CONSOLE appender not used by default
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t | %-32.32c{1} | %-32.32C %4L | %m%n
+
+# File appender
+log4j.appender.out=org.apache.log4j.FileAppender
+log4j.appender.out.layout=org.apache.log4j.PatternLayout
+log4j.appender.out.layout.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t | %-32.32c{1} | %-32.32C %4L | %m%n
+log4j.appender.out.file=target/gshell.log
+log4j.appender.out.append=true
Added: incubator/servicemix/branches/servicemix-4.0/management/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/management/pom.xml?rev=587992&view=auto
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/management/pom.xml (added)
+++ incubator/servicemix/branches/servicemix-4.0/management/pom.xml Wed Oct 24 13:03:06 2007
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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</groupId>
+ <artifactId>servicemix</artifactId>
+ <version>4.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.apache.servicemix.management</groupId>
+ <artifactId>management</artifactId>
+ <packaging>pom</packaging>
+ <version>4.0-SNAPSHOT</version>
+ <name>ServiceMix Management</name>
+
+ <modules>
+ <module>core</module>
+ <module>acegi</module>
+ </modules>
+
+</project>
Modified: incubator/servicemix/branches/servicemix-4.0/nmr/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/nmr/pom.xml?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/nmr/pom.xml (original)
+++ incubator/servicemix/branches/servicemix-4.0/nmr/pom.xml Wed Oct 24 13:03:06 2007
@@ -84,6 +84,7 @@
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
<Import-Package></Import-Package>
<DynamicImport-Package>*</DynamicImport-Package>
+ <Spring-Context>*;publish-context:=false</Spring-Context>
</instructions>
</configuration>
</plugin>
Modified: incubator/servicemix/branches/servicemix-4.0/nmr/src/main/resources/META-INF/spring/servicemix-nmr.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/nmr/src/main/resources/META-INF/spring/servicemix-nmr.xml?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/nmr/src/main/resources/META-INF/spring/servicemix-nmr.xml (original)
+++ incubator/servicemix/branches/servicemix-4.0/nmr/src/main/resources/META-INF/spring/servicemix-nmr.xml Wed Oct 24 13:03:06 2007
@@ -43,29 +43,29 @@
<!-- Flow registry and service tracker -->
<bean id="flowRegistry" class="org.apache.servicemix.core.FlowRegistryImpl" />
- <osgi:reference id="flows"
- interface="org.apache.servicemix.api.internal.Flow"
- mandatory="false">
+ <osgi:list id="flows"
+ interface="org.apache.servicemix.api.internal.Flow"
+ mandatory="false">
<osgi:listener ref="flowRegistry" bind-method="register" unbind-method="unregister" />
- </osgi:reference>
+ </osgi:list>
<!-- Listener registry and service tracker -->
<bean id="listenerRegistry" class="org.apache.servicemix.core.ListenerRegistryImpl" />
- <osgi:reference id="listeners"
- interface="org.apache.servicemix.api.event.Listener"
- mandatory="false">
+ <osgi:list id="listeners"
+ interface="org.apache.servicemix.api.event.Listener"
+ mandatory="false">
<osgi:listener ref="listenerRegistry" bind-method="register" unbind-method="unregister" />
- </osgi:reference>
+ </osgi:list>
<!-- Endpoint registry and service tracker -->
<bean id="endpointRegistry" class="org.apache.servicemix.core.EndpointRegistryImpl">
<property name="nmr" ref="servicemix" />
</bean>
- <osgi:reference id="endpoints"
- interface="org.apache.servicemix.api.Endpoint"
- mandatory="false">
+ <osgi:list id="endpoints"
+ interface="org.apache.servicemix.api.Endpoint"
+ mandatory="false">
<osgi:listener ref="endpointRegistry" bind-method="register" unbind-method="unregister" />
- </osgi:reference>
+ </osgi:list>
<!-- Register the Straight-Through flow -->
<bean id="staightThroughFlow" class="org.apache.servicemix.core.StraightThroughFlow" />
Modified: incubator/servicemix/branches/servicemix-4.0/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/pom.xml?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/pom.xml (original)
+++ incubator/servicemix/branches/servicemix-4.0/pom.xml Wed Oct 24 13:03:06 2007
@@ -36,11 +36,11 @@
<module>bundles</module>
<module>jbi</module>
<module>gshell</module>
- <module>transaction</module>
+ <module>transaction</module>
+ <module>management</module>
<module>examples</module>
<module>itests</module>
<module>main</module>
- <module>daemon</module>
<module>apache-servicemix</module>
</modules>
@@ -64,11 +64,13 @@
<properties>
<junit.version>4.4</junit.version>
<felix.version>1.0.0</felix.version>
- <camel.version>1.1-SNAPSHOT</camel.version>
+ <camel.version>1.3-SNAPSHOT</camel.version>
+ <activemq.version>5.0-SNAPSHOT</activemq.version>
<spring.osgi.version>1.0-m3</spring.osgi.version>
- <spring.version>2.1-m4</spring.version>
+ <spring.version>2.5-rc1</spring.version>
<commons.logging.version>1.1</commons.logging.version>
<gshell.version>1.0-alpha-1-SNAPSHOT</gshell.version>
+ <acegi.version>1.0.0</acegi.version>
</properties>
<repositories>
Propchange: incubator/servicemix/branches/servicemix-4.0/transaction/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Oct 24 13:03:06 2007
@@ -1,2 +1,5 @@
target
runner
+*.iml
+*.ipr
+*.iws
Modified: incubator/servicemix/branches/servicemix-4.0/transaction/pom.xml
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-4.0/transaction/pom.xml?rev=587992&r1=587991&r2=587992&view=diff
==============================================================================
--- incubator/servicemix/branches/servicemix-4.0/transaction/pom.xml (original)
+++ incubator/servicemix/branches/servicemix-4.0/transaction/pom.xml Wed Oct 24 13:03:06 2007
@@ -97,7 +97,14 @@
<configuration>
<instructions>
<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
- <Import-Package></Import-Package>
+ <Import-Package>
+ javax.transaction*,
+ javax.jms*;resolution:=optional,
+ org.tranql.connector*;resolution:=optional,
+ org.apache.commons.pool*;resolution:=optional,
+ org.enhydra.jdbc*;resolution:=optional,
+ *
+ </Import-Package>
<DynamicImport-Package>*</DynamicImport-Package>
<Private-Package>
org.apache.geronimo.transaction*,
@@ -105,6 +112,7 @@
org.objectweb.howl*,
org.jencks*,
</Private-Package>
+ <Spring-Context>*;publish-context:=false</Spring-Context>
</instructions>
</configuration>
</plugin>