[jboss-cvs] JBossAS SVN: r103435 - in projects/jboss-osgi/projects/runtime/framework/tags: jboss-osgi-framework-1.0.0.Alpha4 and 8 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 1 10:44:00 EDT 2010


Author: thomas.diesler at jboss.com
Date: 2010-04-01 10:43:57 -0400 (Thu, 01 Apr 2010)
New Revision: 103435

Added:
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/src/test/java/org/jboss/test/osgi/classloader/DynamicImportPackageTestCase.java
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/deployers/AbstractClassLoadingDeployer.java
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/plugins/internal/FrameworkEventsPluginImpl.java
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/metadata/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs21/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs30/pom.xml
Removed:
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/src/test/java/org/jboss/test/osgi/classloader/DynamicImportPackageTestCase.java
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/deployers/AbstractClassLoadingDeployer.java
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/plugins/internal/FrameworkEventsPluginImpl.java
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/metadata/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs21/pom.xml
   projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs30/pom.xml
Log:
[maven-release-plugin]  copy for tag jboss-osgi-framework-1.0.0.Alpha4

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4 (from rev 103420, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4)

Deleted: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/pom.xml
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/bundle/pom.xml	2010-04-01 12:33:35 UTC (rev 103420)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -1,470 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!--                                                                        -->
-<!-- JBoss, the OpenSource J2EE webOS                                       -->
-<!--                                                                        -->
-<!-- Distributable under LGPL license.                                      -->
-<!-- See terms of license at http://www.gnu.org.                            -->
-<!--                                                                        -->
-<!-- ====================================================================== -->
-
-<!-- $Id$ -->
-
-<!-- 
-    Set these VM properties in your IDE debugger 
-    
-    -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} 
-    -Dlog4j.configuration=log4j-console.xml 
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <name>JBossOSGi Framework - Bundle</name>
-  <groupId>org.jboss.osgi.framework</groupId>
-  <artifactId>jboss-osgi-framework</artifactId>
-  <packaging>jar</packaging>
-
-  <parent>
-    <groupId>org.jboss.osgi.framework</groupId>
-    <artifactId>jboss-osgi-framework-parent</artifactId>
-    <version>1.0.0.Alpha5-SNAPSHOT</version>
-  </parent>
-
-  <!-- Properties -->
-  <properties>
-    <surefire.jpda.args />
-    <surefire.system.args>-Xmx512m ${surefire.jpda.args}</surefire.system.args>
-  </properties>
-
-  <!-- Dependencies -->  
-  <dependencies>
-    <dependency>
-      <groupId>biz.aQute</groupId>
-      <artifactId>bnd</artifactId>
-    </dependency>
-    
-    <dependency>
-      <groupId>org.jboss.kernel</groupId>
-      <artifactId>jboss-jmx-aop-mc-int</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.kernel</groupId>
-      <artifactId>jboss-jmx-mc-int</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    
-    <!-- Test bundles dependencies -->
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.configadmin</artifactId>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>org.osgi.core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>org.osgi.compendium</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.log</artifactId>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>org.osgi.core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>org.osgi.compendium</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.metatype</artifactId>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>org.osgi.core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.apache.felix</groupId>
-          <artifactId>org.osgi.compendium</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.bundles</groupId>
-      <artifactId>jboss-osgi-apache-xerces</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.bundles</groupId>
-      <artifactId>jboss-osgi-common</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.bundles</groupId>
-      <artifactId>jboss-osgi-common-core</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.bundles</groupId>
-      <artifactId>jboss-osgi-husky</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.bundles</groupId>
-      <artifactId>jboss-osgi-jaxb</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.jmx</groupId>
-      <artifactId>jboss-osgi-jmx</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.jndi</groupId>
-      <artifactId>jboss-osgi-jndi</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.bundles</groupId>
-      <artifactId>jboss-osgi-reflect</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.bundles</groupId>
-      <artifactId>jboss-osgi-xml-binding</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.web</groupId>
-      <artifactId>pax-web-jetty-bundle</artifactId>
-      <scope>provided</scope>
-    </dependency>
-
-    <!-- Test Dependencies -->
-    <dependency>
-      <groupId>org.jboss.test</groupId>
-      <artifactId>jboss-test</artifactId>
-      <scope>test</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>org.jboss</groupId>
-          <artifactId>jboss-common-core</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>org.jboss.logging</groupId>
-          <artifactId>jboss-logging-spi</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>bundles</id>
-            <phase>test-compile</phase>
-            <goals>
-              <goal>directory-single</goal>
-            </goals>
-            <configuration>
-              <finalName>test-libs</finalName>
-              <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
-              <appendAssemblyId>false</appendAssemblyId>
-              <descriptors>
-                <descriptor>scripts/assembly-bundles.xml</descriptor>
-              </descriptors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>build-test-jars</id>
-            <phase>test-compile</phase>
-            <goals>
-              <goal>run</goal>
-            </goals>
-            <configuration>
-              <tasks>
-                <property name="maven.runtime.classpath" refid="maven.runtime.classpath" />
-                <property name="tests.output.dir" value="${project.build.directory}" />
-                <ant antfile="scripts/antrun-test-jars.xml" />
-              </tasks>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <configuration>
-          <archive>
-            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-          </archive>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <configuration>
-          <argLine>${surefire.system.args}</argLine>
-          <systemProperties>
-            <property>
-              <name>log4j.output.dir</name>
-              <value>${project.build.directory}</value>
-            </property>
-            <property>
-              <name>org.jboss.osgi.framework.launch.bootstrapPath</name>
-              <value>bootstrap/jboss-osgi-bootstrap.xml</value>
-            </property>
-            <property>
-              <name>jboss.osgi.framework.properties</name>
-              <value>${jboss.osgi.framework.properties}</value>
-            </property>
-            <property>
-              <name>test.archive.directory</name>
-              <value>${project.build.directory}/test-libs</value>
-            </property>
-          </systemProperties>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  
-  <profiles>
-  
-    <!-- 
-      Name: all 
-      Desc: Build the aggregated framework jar
-    -->
-    <profile>
-      <id>all</id>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <version>2.2-beta-5</version>
-            <executions>
-              <execution>
-                <id>all</id>
-                <phase>package</phase>
-                <goals>
-                  <goal>single</goal>
-                </goals>
-                <configuration>
-                  <descriptors>
-                    <descriptor>scripts/assembly-all.xml</descriptor>
-                  </descriptors>
-                  <archive>
-                    <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-                  </archive>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!--
-      Name: framework-equinox
-      Descr: Setup for Equinox framework integration testing
-    -->
-    <profile>
-      <id>framework-equinox</id>
-      <activation>
-        <property>
-          <name>frwk</name>
-          <value>equinox</value>
-        </property>
-      </activation>
-      <properties>
-        <jboss.osgi.framework.properties>jboss-osgi-equinox.properties</jboss.osgi.framework.properties>
-      </properties>
-      <dependencies>
-        <dependency>
-          <groupId>org.jboss.osgi.equinox</groupId>
-          <artifactId>jboss-osgi-equinox</artifactId>
-          <scope>provided</scope>
-        </dependency>
-        <dependency>
-          <groupId>org.jboss.osgi.vfs</groupId>
-          <artifactId>jboss-osgi-vfs30</artifactId>
-          <scope>provided</scope>
-        </dependency>
-      </dependencies>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>compendium</id>
-                <phase>test-compile</phase>
-                <goals>
-                  <goal>directory-single</goal>
-                </goals>
-                <configuration>
-                  <finalName>test-libs</finalName>
-                  <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
-                  <appendAssemblyId>false</appendAssemblyId>
-                  <descriptors>
-                    <descriptor>scripts/assembly-compendium-equinox.xml</descriptor>
-                  </descriptors>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!--
-      Name: framework-felix 
-      Descr: Setup for Felix framework integration testing
-    -->
-    <profile>
-      <id>framework-felix</id>
-      <activation>
-        <property>
-          <name>frwk</name>
-          <value>felix</value>
-        </property>
-      </activation>
-      <properties>
-        <jboss.osgi.framework.properties>jboss-osgi-felix.properties</jboss.osgi.framework.properties>
-      </properties>
-      <dependencies>
-        <dependency>
-          <groupId>org.jboss.osgi.felix</groupId>
-          <artifactId>jboss-osgi-felix</artifactId>
-          <scope>provided</scope>
-        </dependency>
-        <dependency>
-          <groupId>org.jboss.osgi.vfs</groupId>
-          <artifactId>jboss-osgi-vfs30</artifactId>
-          <scope>provided</scope>
-        </dependency>
-      </dependencies>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>compendium</id>
-                <phase>test-compile</phase>
-                <goals>
-                  <goal>directory-single</goal>
-                </goals>
-                <configuration>
-                  <finalName>test-libs</finalName>
-                  <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
-                  <appendAssemblyId>false</appendAssemblyId>
-                  <descriptors>
-                    <descriptor>scripts/assembly-compendium.xml</descriptor>
-                  </descriptors>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!--
-      Name: framework-native
-      Descr: Setup for Native Framework integration testing
-    -->
-    <profile>
-      <id>framework-jbossmc-default</id>
-      <activation>
-        <property>
-          <name>!frwk</name>
-        </property>
-      </activation>
-      <dependencies>
-        <dependency>
-          <groupId>org.jboss.osgi.framework</groupId>
-          <artifactId>jboss-osgi-framework-core</artifactId>
-          <version>${version}</version>
-          <scope>provided</scope>
-        </dependency>
-        <dependency>
-          <groupId>org.jboss.osgi.framework</groupId>
-          <artifactId>jboss-osgi-framework-vfs30</artifactId>
-          <version>${version}</version>
-          <scope>provided</scope>
-        </dependency>
-      </dependencies>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>compendium</id>
-                <phase>test-compile</phase>
-                <goals>
-                  <goal>directory-single</goal>
-                </goals>
-                <configuration>
-                  <finalName>test-libs</finalName>
-                  <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
-                  <appendAssemblyId>false</appendAssemblyId>
-                  <descriptors>
-                    <descriptor>scripts/assembly-compendium.xml</descriptor>
-                  </descriptors>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    
-    <!--
-      Name: jpda
-      Descr: Enable JPDA remote debuging
-    -->
-    <profile>
-      <id>jpda</id>
-      <activation>
-        <property>
-          <name>jpda</name>
-        </property>
-      </activation>
-      <properties>
-        <surefire.jpda.args>-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y</surefire.jpda.args>
-      </properties>
-    </profile>
-
-  </profiles>
-</project>

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/pom.xml (from rev 103434, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/bundle/pom.xml)
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/pom.xml	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -0,0 +1,470 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!--                                                                        -->
+<!-- JBoss, the OpenSource J2EE webOS                                       -->
+<!--                                                                        -->
+<!-- Distributable under LGPL license.                                      -->
+<!-- See terms of license at http://www.gnu.org.                            -->
+<!--                                                                        -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<!-- 
+    Set these VM properties in your IDE debugger 
+    
+    -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} 
+    -Dlog4j.configuration=log4j-console.xml 
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <name>JBossOSGi Framework - Bundle</name>
+  <groupId>org.jboss.osgi.framework</groupId>
+  <artifactId>jboss-osgi-framework</artifactId>
+  <packaging>jar</packaging>
+
+  <parent>
+    <groupId>org.jboss.osgi.framework</groupId>
+    <artifactId>jboss-osgi-framework-parent</artifactId>
+    <version>1.0.0.Alpha4</version>
+  </parent>
+
+  <!-- Properties -->
+  <properties>
+    <surefire.jpda.args />
+    <surefire.system.args>-Xmx512m ${surefire.jpda.args}</surefire.system.args>
+  </properties>
+
+  <!-- Dependencies -->  
+  <dependencies>
+    <dependency>
+      <groupId>biz.aQute</groupId>
+      <artifactId>bnd</artifactId>
+    </dependency>
+    
+    <dependency>
+      <groupId>org.jboss.kernel</groupId>
+      <artifactId>jboss-jmx-aop-mc-int</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.kernel</groupId>
+      <artifactId>jboss-jmx-mc-int</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-log4j</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    
+    <!-- Test bundles dependencies -->
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.configadmin</artifactId>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>org.osgi.core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>org.osgi.compendium</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.log</artifactId>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>org.osgi.core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>org.osgi.compendium</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.metatype</artifactId>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>org.osgi.core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>org.osgi.compendium</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.bundles</groupId>
+      <artifactId>jboss-osgi-apache-xerces</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.bundles</groupId>
+      <artifactId>jboss-osgi-common</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.bundles</groupId>
+      <artifactId>jboss-osgi-common-core</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.bundles</groupId>
+      <artifactId>jboss-osgi-husky</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.bundles</groupId>
+      <artifactId>jboss-osgi-jaxb</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.jmx</groupId>
+      <artifactId>jboss-osgi-jmx</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.jndi</groupId>
+      <artifactId>jboss-osgi-jndi</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.bundles</groupId>
+      <artifactId>jboss-osgi-reflect</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.bundles</groupId>
+      <artifactId>jboss-osgi-xml-binding</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.ops4j.pax.web</groupId>
+      <artifactId>pax-web-jetty-bundle</artifactId>
+      <scope>provided</scope>
+    </dependency>
+
+    <!-- Test Dependencies -->
+    <dependency>
+      <groupId>org.jboss.test</groupId>
+      <artifactId>jboss-test</artifactId>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-common-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.jboss.logging</groupId>
+          <artifactId>jboss-logging-spi</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>bundles</id>
+            <phase>test-compile</phase>
+            <goals>
+              <goal>directory-single</goal>
+            </goals>
+            <configuration>
+              <finalName>test-libs</finalName>
+              <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
+              <appendAssemblyId>false</appendAssemblyId>
+              <descriptors>
+                <descriptor>scripts/assembly-bundles.xml</descriptor>
+              </descriptors>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>build-test-jars</id>
+            <phase>test-compile</phase>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <configuration>
+              <tasks>
+                <property name="maven.runtime.classpath" refid="maven.runtime.classpath" />
+                <property name="tests.output.dir" value="${project.build.directory}" />
+                <ant antfile="scripts/antrun-test-jars.xml" />
+              </tasks>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <argLine>${surefire.system.args}</argLine>
+          <systemProperties>
+            <property>
+              <name>log4j.output.dir</name>
+              <value>${project.build.directory}</value>
+            </property>
+            <property>
+              <name>org.jboss.osgi.framework.launch.bootstrapPath</name>
+              <value>bootstrap/jboss-osgi-bootstrap.xml</value>
+            </property>
+            <property>
+              <name>jboss.osgi.framework.properties</name>
+              <value>${jboss.osgi.framework.properties}</value>
+            </property>
+            <property>
+              <name>test.archive.directory</name>
+              <value>${project.build.directory}/test-libs</value>
+            </property>
+          </systemProperties>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  
+  <profiles>
+  
+    <!-- 
+      Name: all 
+      Desc: Build the aggregated framework jar
+    -->
+    <profile>
+      <id>all</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <version>2.2-beta-5</version>
+            <executions>
+              <execution>
+                <id>all</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>single</goal>
+                </goals>
+                <configuration>
+                  <descriptors>
+                    <descriptor>scripts/assembly-all.xml</descriptor>
+                  </descriptors>
+                  <archive>
+                    <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+                  </archive>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--
+      Name: framework-equinox
+      Descr: Setup for Equinox framework integration testing
+    -->
+    <profile>
+      <id>framework-equinox</id>
+      <activation>
+        <property>
+          <name>frwk</name>
+          <value>equinox</value>
+        </property>
+      </activation>
+      <properties>
+        <jboss.osgi.framework.properties>jboss-osgi-equinox.properties</jboss.osgi.framework.properties>
+      </properties>
+      <dependencies>
+        <dependency>
+          <groupId>org.jboss.osgi.equinox</groupId>
+          <artifactId>jboss-osgi-equinox</artifactId>
+          <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss.osgi.vfs</groupId>
+          <artifactId>jboss-osgi-vfs30</artifactId>
+          <scope>provided</scope>
+        </dependency>
+      </dependencies>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>compendium</id>
+                <phase>test-compile</phase>
+                <goals>
+                  <goal>directory-single</goal>
+                </goals>
+                <configuration>
+                  <finalName>test-libs</finalName>
+                  <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
+                  <appendAssemblyId>false</appendAssemblyId>
+                  <descriptors>
+                    <descriptor>scripts/assembly-compendium-equinox.xml</descriptor>
+                  </descriptors>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--
+      Name: framework-felix 
+      Descr: Setup for Felix framework integration testing
+    -->
+    <profile>
+      <id>framework-felix</id>
+      <activation>
+        <property>
+          <name>frwk</name>
+          <value>felix</value>
+        </property>
+      </activation>
+      <properties>
+        <jboss.osgi.framework.properties>jboss-osgi-felix.properties</jboss.osgi.framework.properties>
+      </properties>
+      <dependencies>
+        <dependency>
+          <groupId>org.jboss.osgi.felix</groupId>
+          <artifactId>jboss-osgi-felix</artifactId>
+          <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss.osgi.vfs</groupId>
+          <artifactId>jboss-osgi-vfs30</artifactId>
+          <scope>provided</scope>
+        </dependency>
+      </dependencies>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>compendium</id>
+                <phase>test-compile</phase>
+                <goals>
+                  <goal>directory-single</goal>
+                </goals>
+                <configuration>
+                  <finalName>test-libs</finalName>
+                  <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
+                  <appendAssemblyId>false</appendAssemblyId>
+                  <descriptors>
+                    <descriptor>scripts/assembly-compendium.xml</descriptor>
+                  </descriptors>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--
+      Name: framework-native
+      Descr: Setup for Native Framework integration testing
+    -->
+    <profile>
+      <id>framework-jbossmc-default</id>
+      <activation>
+        <property>
+          <name>!frwk</name>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.jboss.osgi.framework</groupId>
+          <artifactId>jboss-osgi-framework-core</artifactId>
+          <version>${version}</version>
+          <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss.osgi.framework</groupId>
+          <artifactId>jboss-osgi-framework-vfs30</artifactId>
+          <version>${version}</version>
+          <scope>provided</scope>
+        </dependency>
+      </dependencies>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>compendium</id>
+                <phase>test-compile</phase>
+                <goals>
+                  <goal>directory-single</goal>
+                </goals>
+                <configuration>
+                  <finalName>test-libs</finalName>
+                  <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
+                  <appendAssemblyId>false</appendAssemblyId>
+                  <descriptors>
+                    <descriptor>scripts/assembly-compendium.xml</descriptor>
+                  </descriptors>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    
+    <!--
+      Name: jpda
+      Descr: Enable JPDA remote debuging
+    -->
+    <profile>
+      <id>jpda</id>
+      <activation>
+        <property>
+          <name>jpda</name>
+        </property>
+      </activation>
+      <properties>
+        <surefire.jpda.args>-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y</surefire.jpda.args>
+      </properties>
+    </profile>
+
+  </profiles>
+</project>

Deleted: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/src/test/java/org/jboss/test/osgi/classloader/DynamicImportPackageTestCase.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/bundle/src/test/java/org/jboss/test/osgi/classloader/DynamicImportPackageTestCase.java	2010-04-01 12:33:35 UTC (rev 103420)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/src/test/java/org/jboss/test/osgi/classloader/DynamicImportPackageTestCase.java	2010-04-01 14:43:57 UTC (rev 103435)
@@ -1,485 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2009, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.osgi.classloader;
-
-import java.io.InputStream;
-
-import org.jboss.osgi.testing.OSGiFrameworkTest;
-import org.jboss.osgi.testing.OSGiManifestBuilder;
-import org.jboss.shrinkwrap.api.Archives;
-import org.jboss.shrinkwrap.api.Asset;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
-import org.jboss.test.osgi.classloader.support.a.A;
-import org.jboss.test.osgi.classloader.support.b.B;
-import org.jboss.test.osgi.classloader.support.c.C;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.service.log.LogService;
-
-/**
- * Test the DynamicImport-Package manifest header.
- *
- * @author thomas.diesler at jboss.com
- * @since 26-Mar-2010
- */
-public class DynamicImportPackageTestCase extends OSGiFrameworkTest
-{
-   @Before
-   public void setUp() throws Exception
-   {
-      super.setUp();
-      getPackageAdmin().refreshPackages(null);
-   }
-
-   @Test
-   public void testAllPackagesWildcardWired() throws Exception
-   {
-      // Bundle-SymbolicName: dynamic-log-service
-      // DynamicImport-Package: org.osgi.service.log
-      archiveC = Archives.create("dynamic-log-service", JavaArchive.class);
-      archiveC.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveC.getName());
-            builder.addDynamicImportPackages("org.osgi.service.log");
-            return builder.openStream();
-         }
-      });
-   }
-
-   @Test
-   public void testAllPackagesWildcard() throws Exception
-   {
-      // Bundle-SymbolicName: dynamic-wildcard-a
-      // Export-Package: org.jboss.test.osgi.classloader.support.a 
-      // Import-Package: org.jboss.test.osgi.classloader.support.b
-      // DynamicImport-Package: *
-      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
-      archiveA.addClass(A.class);
-      archiveA.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveA.getName());
-            builder.addExportPackages(A.class.getPackage().getName());
-            builder.addImportPackages(B.class.getPackage().getName());
-            builder.addDynamicImportPackages("*");
-            return builder.openStream();
-         }
-      });
-
-      // Bundle-SymbolicName: dynamic-wildcard-bc
-      // Export-Package: org.jboss.test.osgi.classloader.support.b, org.jboss.test.osgi.classloader.support.c
-      final JavaArchive archiveB = Archives.create("dynamic-wildcard-bc", JavaArchive.class);
-      archiveB.addClasses(B.class, C.class);
-      archiveB.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveB.getName());
-            builder.addExportPackages(B.class.getPackage().getName());
-            builder.addExportPackages(C.class.getPackage().getName());
-            return builder.openStream();
-         }
-      });
-
-      Bundle bundleA = installBundle(archiveA);
-      assertBundleState(Bundle.INSTALLED, bundleA.getState());
-      try
-      {
-         Bundle bundleB = installBundle(archiveB);
-         assertBundleState(Bundle.INSTALLED, bundleB.getState());
-         try
-         {
-            assertLoadClass(bundleA, A.class.getName(), bundleA);
-            assertLoadClass(bundleA, B.class.getName(), bundleB);
-
-            System.out.println("FIXME [JBCL-131] Add a notion of on demand resolution");
-            //assertLoadClass(bundleA, C.class.getName(), bundleB);
-
-            assertBundleState(Bundle.RESOLVED, bundleA.getState());
-            assertBundleState(Bundle.RESOLVED, bundleB.getState());
-         }
-         finally
-         {
-            bundleB.uninstall();
-         }
-      }
-      finally
-      {
-         bundleA.uninstall();
-      }
-   }
-
-   @Test
-   public void testAllPackagesWildcardNotWired() throws Exception
-   {
-      // Bundle-SymbolicName: dynamic-wildcard-a
-      // Export-Package: org.jboss.test.osgi.classloader.support.a 
-      // DynamicImport-Package: *
-      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
-      archiveA.addClass(A.class);
-      archiveA.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveA.getName());
-            builder.addExportPackages(A.class.getPackage().getName());
-            builder.addDynamicImportPackages("*");
-            return builder.openStream();
-         }
-      });
-
-      // Bundle-SymbolicName: dynamic-wildcard-c
-      // Export-Package: org.jboss.test.osgi.classloader.support.c
-      final JavaArchive archiveC = Archives.create("dynamic-wildcard-c", JavaArchive.class);
-      archiveC.addClasses(C.class);
-      archiveC.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveC.getName());
-            builder.addExportPackages(C.class.getPackage().getName());
-            return builder.openStream();
-         }
-      });
-
-      Bundle bundleA = installBundle(archiveA);
-      assertBundleState(Bundle.INSTALLED, bundleA.getState());
-      try
-      {
-         Bundle bundleC = installBundle(archiveC);
-         assertBundleState(Bundle.INSTALLED, bundleC.getState());
-         try
-         {
-            assertLoadClass(bundleA, A.class.getName(), bundleA);
-
-            System.out.println("FIXME [JBCL-131] Add a notion of on demand resolution");
-            //assertLoadClass(bundleA, C.class.getName(), bundleC);
-
-            assertBundleState(Bundle.RESOLVED, bundleA.getState());
-            //assertBundleState(Bundle.RESOLVED, bundleC.getState());
-         }
-         finally
-         {
-            bundleC.uninstall();
-         }
-      }
-      finally
-      {
-         bundleA.uninstall();
-      }
-   }
-
-   @Test
-   public void testAllPackagesWildcardNotThere() throws Exception
-   {
-      // Bundle-SymbolicName: dynamic-wildcard-a
-      // Export-Package: org.jboss.test.osgi.classloader.support.a 
-      // DynamicImport-Package: *
-      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
-      archiveA.addClass(A.class);
-      archiveA.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveA.getName());
-            builder.addExportPackages(A.class.getPackage().getName());
-            builder.addDynamicImportPackages("*");
-            return builder.openStream();
-         }
-      });
-
-      Bundle bundleA = installBundle(archiveA);
-      assertBundleState(Bundle.INSTALLED, bundleA.getState());
-      try
-      {
-         assertLoadClass(bundleA, A.class.getName(), bundleA);
-
-         assertLoadClassFail(bundleA, C.class.getName());
-
-         assertBundleState(Bundle.RESOLVED, bundleA.getState());
-      }
-      finally
-      {
-         bundleA.uninstall();
-      }
-   }
-
-   @Test
-   public void testPackageWildcardWired() throws Exception
-   {
-      // Bundle-SymbolicName: dynamic-wildcard-a
-      // Export-Package: org.jboss.test.osgi.classloader.support.a 
-      // Import-Package: org.jboss.test.osgi.classloader.support.b
-      // DynamicImport-Package: org.jboss.test.osgi.classloader.*
-      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
-      archiveA.addClass(A.class);
-      archiveA.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveA.getName());
-            builder.addExportPackages(A.class.getPackage().getName());
-            builder.addImportPackages(B.class.getPackage().getName());
-            builder.addDynamicImportPackages("org.jboss.test.osgi.classloader.*");
-            return builder.openStream();
-         }
-      });
-
-      // Bundle-SymbolicName: dynamic-wildcard-bc
-      // Export-Package: org.jboss.test.osgi.classloader.support.b, org.jboss.test.osgi.classloader.support.c
-      final JavaArchive archiveB = Archives.create("dynamic-wildcard-bc", JavaArchive.class);
-      archiveB.addClasses(B.class, C.class);
-      archiveB.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveB.getName());
-            builder.addExportPackages(B.class.getPackage().getName());
-            builder.addExportPackages(C.class.getPackage().getName());
-            return builder.openStream();
-         }
-      });
-
-      Bundle bundleA = installBundle(archiveA);
-      assertBundleState(Bundle.INSTALLED, bundleA.getState());
-      try
-      {
-         Bundle bundleB = installBundle(archiveB);
-         assertBundleState(Bundle.INSTALLED, bundleB.getState());
-         try
-         {
-            assertLoadClass(bundleA, A.class.getName(), bundleA);
-            assertLoadClass(bundleA, B.class.getName(), bundleB);
-
-            System.out.println("FIXME [JBCL-131] Add a notion of on demand resolution");
-            //assertLoadClass(bundleA, C.class.getName(), bundleB);
-
-            assertBundleState(Bundle.RESOLVED, bundleA.getState());
-            assertBundleState(Bundle.RESOLVED, bundleB.getState());
-         }
-         finally
-         {
-            bundleB.uninstall();
-         }
-      }
-      finally
-      {
-         bundleA.uninstall();
-      }
-   }
-
-   @Test
-   public void testPackageWildcardNotWired() throws Exception
-   {
-      // Bundle-SymbolicName: dynamic-wildcard-a
-      // Export-Package: org.jboss.test.osgi.classloader.support.a 
-      // DynamicImport-Package: org.jboss.test.osgi.classloader.*
-      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
-      archiveA.addClass(A.class);
-      archiveA.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveA.getName());
-            builder.addExportPackages(A.class.getPackage().getName());
-            builder.addDynamicImportPackages("org.jboss.test.osgi.classloader.*");
-            return builder.openStream();
-         }
-      });
-
-      // Bundle-SymbolicName: dynamic-wildcard-c
-      // Export-Package: org.jboss.test.osgi.classloader.support.c
-      final JavaArchive archiveC = Archives.create("dynamic-wildcard-c", JavaArchive.class);
-      archiveC.addClasses(C.class);
-      archiveC.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveC.getName());
-            builder.addExportPackages(C.class.getPackage().getName());
-            return builder.openStream();
-         }
-      });
-
-      Bundle bundleA = installBundle(archiveA);
-      assertBundleState(Bundle.INSTALLED, bundleA.getState());
-      try
-      {
-         Bundle bundleC = installBundle(archiveC);
-         assertBundleState(Bundle.INSTALLED, bundleC.getState());
-         try
-         {
-            assertLoadClass(bundleA, A.class.getName(), bundleA);
-
-            System.out.println("FIXME [JBCL-131] Add a notion of on demand resolution");
-            //assertLoadClass(bundleA, C.class.getName(), bundleC);
-
-            assertBundleState(Bundle.RESOLVED, bundleA.getState());
-            //assertBundleState(Bundle.RESOLVED, bundleC.getState());
-         }
-         finally
-         {
-            bundleC.uninstall();
-         }
-      }
-      finally
-      {
-         bundleA.uninstall();
-      }
-   }
-
-   @Test
-   public void testPackageWildcardNotThere() throws Exception
-   {
-      // Bundle-SymbolicName: dynamic-wildcard-a
-      // Export-Package: org.jboss.test.osgi.classloader.support.a 
-      // DynamicImport-Package: org.jboss.test.osgi.classloader.*
-      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
-      archiveA.addClass(A.class);
-      archiveA.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveA.getName());
-            builder.addExportPackages(A.class.getPackage().getName());
-            builder.addDynamicImportPackages("*");
-            return builder.openStream();
-         }
-      });
-
-      Bundle bundleA = installBundle(archiveA);
-      assertBundleState(Bundle.INSTALLED, bundleA.getState());
-      try
-      {
-         assertLoadClass(bundleA, A.class.getName(), bundleA);
-
-         assertLoadClassFail(bundleA, C.class.getName());
-
-         assertBundleState(Bundle.RESOLVED, bundleA.getState());
-      }
-      finally
-      {
-         bundleA.uninstall();
-      }
-   }
-
-   @Test
-   public void testLogServiceAvailableOnInstall() throws Exception
-   {
-      Bundle cmpd = installBundle("bundles/org.osgi.compendium.jar");
-      assertBundleState(Bundle.INSTALLED, cmpd.getState());
-      try
-      {
-         Bundle bundleC = installBundle(archiveC);
-         assertBundleState(Bundle.INSTALLED, bundleC.getState());
-         try
-         {
-            bundleC.start();
-            assertBundleState(Bundle.ACTIVE, bundleC.getState());
-            assertLoadClass(bundleC, LogService.class.getName());
-         }
-         finally
-         {
-            bundleC.uninstall();
-         }
-      }
-      finally
-      {
-         cmpd.uninstall();
-      }
-   }
-
-   @Test
-   public void testLogServiceNotAvailableOnInstall() throws Exception
-   {
-      Bundle bundleC = installBundle(archiveC);
-      assertBundleState(Bundle.INSTALLED, bundleC.getState());
-      try
-      {
-         bundleC.start();
-         assertBundleState(Bundle.ACTIVE, bundleC.getState());
-         assertLoadClassFail(bundleC, LogService.class.getName());
-
-         Bundle cmpd = installBundle("bundles/org.osgi.compendium.jar");
-         try
-         {
-            assertLoadClass(bundleC, LogService.class.getName());
-         }
-         finally
-         {
-            cmpd.uninstall();
-         }
-      }
-      finally
-      {
-         bundleC.uninstall();
-      }
-   }
-
-   @BeforeClass
-   public static void beforeTestCase()
-   {
-      // Bundle-SymbolicName: dynamic-log-service
-      // DynamicImport-Package: org.osgi.service.log
-      archiveC = Archives.create("dynamic-log-service", JavaArchive.class);
-      archiveC.setManifest(new Asset()
-      {
-         public InputStream openStream()
-         {
-            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
-            builder.addBundleManifestVersion(2);
-            builder.addBundleSymbolicName(archiveC.getName());
-            builder.addDynamicImportPackages("org.osgi.service.log");
-            return builder.openStream();
-         }
-      });
-   }
-   
-   private static JavaArchive archiveC;
-}

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/src/test/java/org/jboss/test/osgi/classloader/DynamicImportPackageTestCase.java (from rev 103423, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/bundle/src/test/java/org/jboss/test/osgi/classloader/DynamicImportPackageTestCase.java)
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/src/test/java/org/jboss/test/osgi/classloader/DynamicImportPackageTestCase.java	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/bundle/src/test/java/org/jboss/test/osgi/classloader/DynamicImportPackageTestCase.java	2010-04-01 14:43:57 UTC (rev 103435)
@@ -0,0 +1,487 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.osgi.classloader;
+
+import java.io.InputStream;
+
+import org.jboss.osgi.testing.OSGiFrameworkTest;
+import org.jboss.osgi.testing.OSGiManifestBuilder;
+import org.jboss.shrinkwrap.api.Archives;
+import org.jboss.shrinkwrap.api.Asset;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.test.osgi.classloader.support.a.A;
+import org.jboss.test.osgi.classloader.support.b.B;
+import org.jboss.test.osgi.classloader.support.c.C;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.Ignore;
+import org.osgi.framework.Bundle;
+import org.osgi.service.log.LogService;
+
+/**
+ * Test the DynamicImport-Package manifest header.
+ *
+ * @author thomas.diesler at jboss.com
+ * @since 26-Mar-2010
+ */
+ at Ignore
+public class DynamicImportPackageTestCase extends OSGiFrameworkTest
+{
+   @Before
+   public void setUp() throws Exception
+   {
+      super.setUp();
+      getPackageAdmin().refreshPackages(null);
+   }
+
+   @Test
+   public void testAllPackagesWildcardWired() throws Exception
+   {
+      // Bundle-SymbolicName: dynamic-log-service
+      // DynamicImport-Package: org.osgi.service.log
+      archiveC = Archives.create("dynamic-log-service", JavaArchive.class);
+      archiveC.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveC.getName());
+            builder.addDynamicImportPackages("org.osgi.service.log");
+            return builder.openStream();
+         }
+      });
+   }
+
+   @Test
+   public void testAllPackagesWildcard() throws Exception
+   {
+      // Bundle-SymbolicName: dynamic-wildcard-a
+      // Export-Package: org.jboss.test.osgi.classloader.support.a 
+      // Import-Package: org.jboss.test.osgi.classloader.support.b
+      // DynamicImport-Package: *
+      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
+      archiveA.addClass(A.class);
+      archiveA.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveA.getName());
+            builder.addExportPackages(A.class.getPackage().getName());
+            builder.addImportPackages(B.class.getPackage().getName());
+            builder.addDynamicImportPackages("*");
+            return builder.openStream();
+         }
+      });
+
+      // Bundle-SymbolicName: dynamic-wildcard-bc
+      // Export-Package: org.jboss.test.osgi.classloader.support.b, org.jboss.test.osgi.classloader.support.c
+      final JavaArchive archiveB = Archives.create("dynamic-wildcard-bc", JavaArchive.class);
+      archiveB.addClasses(B.class, C.class);
+      archiveB.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveB.getName());
+            builder.addExportPackages(B.class.getPackage().getName());
+            builder.addExportPackages(C.class.getPackage().getName());
+            return builder.openStream();
+         }
+      });
+
+      Bundle bundleA = installBundle(archiveA);
+      assertBundleState(Bundle.INSTALLED, bundleA.getState());
+      try
+      {
+         Bundle bundleB = installBundle(archiveB);
+         assertBundleState(Bundle.INSTALLED, bundleB.getState());
+         try
+         {
+            assertLoadClass(bundleA, A.class.getName(), bundleA);
+            assertLoadClass(bundleA, B.class.getName(), bundleB);
+
+            System.out.println("FIXME [JBCL-131] Add a notion of on demand resolution");
+            //assertLoadClass(bundleA, C.class.getName(), bundleB);
+
+            assertBundleState(Bundle.RESOLVED, bundleA.getState());
+            assertBundleState(Bundle.RESOLVED, bundleB.getState());
+         }
+         finally
+         {
+            bundleB.uninstall();
+         }
+      }
+      finally
+      {
+         bundleA.uninstall();
+      }
+   }
+
+   @Test
+   public void testAllPackagesWildcardNotWired() throws Exception
+   {
+      // Bundle-SymbolicName: dynamic-wildcard-a
+      // Export-Package: org.jboss.test.osgi.classloader.support.a 
+      // DynamicImport-Package: *
+      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
+      archiveA.addClass(A.class);
+      archiveA.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveA.getName());
+            builder.addExportPackages(A.class.getPackage().getName());
+            builder.addDynamicImportPackages("*");
+            return builder.openStream();
+         }
+      });
+
+      // Bundle-SymbolicName: dynamic-wildcard-c
+      // Export-Package: org.jboss.test.osgi.classloader.support.c
+      final JavaArchive archiveC = Archives.create("dynamic-wildcard-c", JavaArchive.class);
+      archiveC.addClasses(C.class);
+      archiveC.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveC.getName());
+            builder.addExportPackages(C.class.getPackage().getName());
+            return builder.openStream();
+         }
+      });
+
+      Bundle bundleA = installBundle(archiveA);
+      assertBundleState(Bundle.INSTALLED, bundleA.getState());
+      try
+      {
+         Bundle bundleC = installBundle(archiveC);
+         assertBundleState(Bundle.INSTALLED, bundleC.getState());
+         try
+         {
+            assertLoadClass(bundleA, A.class.getName(), bundleA);
+
+            System.out.println("FIXME [JBCL-131] Add a notion of on demand resolution");
+            //assertLoadClass(bundleA, C.class.getName(), bundleC);
+
+            assertBundleState(Bundle.RESOLVED, bundleA.getState());
+            //assertBundleState(Bundle.RESOLVED, bundleC.getState());
+         }
+         finally
+         {
+            bundleC.uninstall();
+         }
+      }
+      finally
+      {
+         bundleA.uninstall();
+      }
+   }
+
+   @Test
+   public void testAllPackagesWildcardNotThere() throws Exception
+   {
+      // Bundle-SymbolicName: dynamic-wildcard-a
+      // Export-Package: org.jboss.test.osgi.classloader.support.a 
+      // DynamicImport-Package: *
+      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
+      archiveA.addClass(A.class);
+      archiveA.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveA.getName());
+            builder.addExportPackages(A.class.getPackage().getName());
+            builder.addDynamicImportPackages("*");
+            return builder.openStream();
+         }
+      });
+
+      Bundle bundleA = installBundle(archiveA);
+      assertBundleState(Bundle.INSTALLED, bundleA.getState());
+      try
+      {
+         assertLoadClass(bundleA, A.class.getName(), bundleA);
+
+         assertLoadClassFail(bundleA, C.class.getName());
+
+         assertBundleState(Bundle.RESOLVED, bundleA.getState());
+      }
+      finally
+      {
+         bundleA.uninstall();
+      }
+   }
+
+   @Test
+   public void testPackageWildcardWired() throws Exception
+   {
+      // Bundle-SymbolicName: dynamic-wildcard-a
+      // Export-Package: org.jboss.test.osgi.classloader.support.a 
+      // Import-Package: org.jboss.test.osgi.classloader.support.b
+      // DynamicImport-Package: org.jboss.test.osgi.classloader.*
+      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
+      archiveA.addClass(A.class);
+      archiveA.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveA.getName());
+            builder.addExportPackages(A.class.getPackage().getName());
+            builder.addImportPackages(B.class.getPackage().getName());
+            builder.addDynamicImportPackages("org.jboss.test.osgi.classloader.*");
+            return builder.openStream();
+         }
+      });
+
+      // Bundle-SymbolicName: dynamic-wildcard-bc
+      // Export-Package: org.jboss.test.osgi.classloader.support.b, org.jboss.test.osgi.classloader.support.c
+      final JavaArchive archiveB = Archives.create("dynamic-wildcard-bc", JavaArchive.class);
+      archiveB.addClasses(B.class, C.class);
+      archiveB.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveB.getName());
+            builder.addExportPackages(B.class.getPackage().getName());
+            builder.addExportPackages(C.class.getPackage().getName());
+            return builder.openStream();
+         }
+      });
+
+      Bundle bundleA = installBundle(archiveA);
+      assertBundleState(Bundle.INSTALLED, bundleA.getState());
+      try
+      {
+         Bundle bundleB = installBundle(archiveB);
+         assertBundleState(Bundle.INSTALLED, bundleB.getState());
+         try
+         {
+            assertLoadClass(bundleA, A.class.getName(), bundleA);
+            assertLoadClass(bundleA, B.class.getName(), bundleB);
+
+            System.out.println("FIXME [JBCL-131] Add a notion of on demand resolution");
+            //assertLoadClass(bundleA, C.class.getName(), bundleB);
+
+            assertBundleState(Bundle.RESOLVED, bundleA.getState());
+            assertBundleState(Bundle.RESOLVED, bundleB.getState());
+         }
+         finally
+         {
+            bundleB.uninstall();
+         }
+      }
+      finally
+      {
+         bundleA.uninstall();
+      }
+   }
+
+   @Test
+   public void testPackageWildcardNotWired() throws Exception
+   {
+      // Bundle-SymbolicName: dynamic-wildcard-a
+      // Export-Package: org.jboss.test.osgi.classloader.support.a 
+      // DynamicImport-Package: org.jboss.test.osgi.classloader.*
+      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
+      archiveA.addClass(A.class);
+      archiveA.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveA.getName());
+            builder.addExportPackages(A.class.getPackage().getName());
+            builder.addDynamicImportPackages("org.jboss.test.osgi.classloader.*");
+            return builder.openStream();
+         }
+      });
+
+      // Bundle-SymbolicName: dynamic-wildcard-c
+      // Export-Package: org.jboss.test.osgi.classloader.support.c
+      final JavaArchive archiveC = Archives.create("dynamic-wildcard-c", JavaArchive.class);
+      archiveC.addClasses(C.class);
+      archiveC.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveC.getName());
+            builder.addExportPackages(C.class.getPackage().getName());
+            return builder.openStream();
+         }
+      });
+
+      Bundle bundleA = installBundle(archiveA);
+      assertBundleState(Bundle.INSTALLED, bundleA.getState());
+      try
+      {
+         Bundle bundleC = installBundle(archiveC);
+         assertBundleState(Bundle.INSTALLED, bundleC.getState());
+         try
+         {
+            assertLoadClass(bundleA, A.class.getName(), bundleA);
+
+            System.out.println("FIXME [JBCL-131] Add a notion of on demand resolution");
+            //assertLoadClass(bundleA, C.class.getName(), bundleC);
+
+            assertBundleState(Bundle.RESOLVED, bundleA.getState());
+            //assertBundleState(Bundle.RESOLVED, bundleC.getState());
+         }
+         finally
+         {
+            bundleC.uninstall();
+         }
+      }
+      finally
+      {
+         bundleA.uninstall();
+      }
+   }
+
+   @Test
+   public void testPackageWildcardNotThere() throws Exception
+   {
+      // Bundle-SymbolicName: dynamic-wildcard-a
+      // Export-Package: org.jboss.test.osgi.classloader.support.a 
+      // DynamicImport-Package: org.jboss.test.osgi.classloader.*
+      final JavaArchive archiveA = Archives.create("dynamic-wildcard-a", JavaArchive.class);
+      archiveA.addClass(A.class);
+      archiveA.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveA.getName());
+            builder.addExportPackages(A.class.getPackage().getName());
+            builder.addDynamicImportPackages("*");
+            return builder.openStream();
+         }
+      });
+
+      Bundle bundleA = installBundle(archiveA);
+      assertBundleState(Bundle.INSTALLED, bundleA.getState());
+      try
+      {
+         assertLoadClass(bundleA, A.class.getName(), bundleA);
+
+         assertLoadClassFail(bundleA, C.class.getName());
+
+         assertBundleState(Bundle.RESOLVED, bundleA.getState());
+      }
+      finally
+      {
+         bundleA.uninstall();
+      }
+   }
+
+   @Test
+   public void testLogServiceAvailableOnInstall() throws Exception
+   {
+      Bundle cmpd = installBundle("bundles/org.osgi.compendium.jar");
+      assertBundleState(Bundle.INSTALLED, cmpd.getState());
+      try
+      {
+         Bundle bundleC = installBundle(archiveC);
+         assertBundleState(Bundle.INSTALLED, bundleC.getState());
+         try
+         {
+            bundleC.start();
+            assertBundleState(Bundle.ACTIVE, bundleC.getState());
+            assertLoadClass(bundleC, LogService.class.getName());
+         }
+         finally
+         {
+            bundleC.uninstall();
+         }
+      }
+      finally
+      {
+         cmpd.uninstall();
+      }
+   }
+
+   @Test
+   public void testLogServiceNotAvailableOnInstall() throws Exception
+   {
+      Bundle bundleC = installBundle(archiveC);
+      assertBundleState(Bundle.INSTALLED, bundleC.getState());
+      try
+      {
+         bundleC.start();
+         assertBundleState(Bundle.ACTIVE, bundleC.getState());
+         assertLoadClassFail(bundleC, LogService.class.getName());
+
+         Bundle cmpd = installBundle("bundles/org.osgi.compendium.jar");
+         try
+         {
+            assertLoadClass(bundleC, LogService.class.getName());
+         }
+         finally
+         {
+            cmpd.uninstall();
+         }
+      }
+      finally
+      {
+         bundleC.uninstall();
+      }
+   }
+
+   @BeforeClass
+   public static void beforeTestCase()
+   {
+      // Bundle-SymbolicName: dynamic-log-service
+      // DynamicImport-Package: org.osgi.service.log
+      archiveC = Archives.create("dynamic-log-service", JavaArchive.class);
+      archiveC.setManifest(new Asset()
+      {
+         public InputStream openStream()
+         {
+            OSGiManifestBuilder builder = OSGiManifestBuilder.newInstance();
+            builder.addBundleManifestVersion(2);
+            builder.addBundleSymbolicName(archiveC.getName());
+            builder.addDynamicImportPackages("org.osgi.service.log");
+            return builder.openStream();
+         }
+      });
+   }
+   
+   private static JavaArchive archiveC;
+}

Deleted: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/pom.xml
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/core/pom.xml	2010-04-01 12:33:35 UTC (rev 103420)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!--                                                                        -->
-<!-- JBoss, the OpenSource J2EE webOS                                       -->
-<!--                                                                        -->
-<!-- Distributable under LGPL license.                                      -->
-<!-- See terms of license at http://www.gnu.org.                            -->
-<!--                                                                        -->
-<!-- ====================================================================== -->
-
-<!-- $Id$ -->
-
-<!-- Set these VM properties in your IDE debugger -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} -Dlog4j.configuration=log4j-console.xml -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <name>JBossOSGi Framework - Core</name>
-  <groupId>org.jboss.osgi.framework</groupId>
-  <artifactId>jboss-osgi-framework-core</artifactId>
-  <packaging>jar</packaging>
-
-  <parent>
-    <groupId>org.jboss.osgi.framework</groupId>
-    <artifactId>jboss-osgi-framework-parent</artifactId>
-    <version>1.0.0.Alpha5-SNAPSHOT</version>
-  </parent>
-
-  <dependencies>
-    <dependency>
-      <groupId>biz.aQute</groupId>
-      <artifactId>bnd</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.framework</groupId>
-      <artifactId>jboss-osgi-framework-metadata</artifactId>
-      <version>${version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-mdr</artifactId>
-    </dependency>
-    
-    <!-- JBoss OSGi Dependencies -->
-    <dependency>
-      <groupId>org.jboss.osgi</groupId>
-      <artifactId>jboss-osgi-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.deployment</groupId>
-      <artifactId>jboss-osgi-deployment</artifactId>
-    </dependency>
-
-    <!-- OSGi Dependencies -->
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
-    </dependency>
-  </dependencies>
-
-</project>

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/pom.xml (from rev 103434, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/core/pom.xml)
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/pom.xml	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!--                                                                        -->
+<!-- JBoss, the OpenSource J2EE webOS                                       -->
+<!--                                                                        -->
+<!-- Distributable under LGPL license.                                      -->
+<!-- See terms of license at http://www.gnu.org.                            -->
+<!--                                                                        -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<!-- Set these VM properties in your IDE debugger -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} -Dlog4j.configuration=log4j-console.xml -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <name>JBossOSGi Framework - Core</name>
+  <groupId>org.jboss.osgi.framework</groupId>
+  <artifactId>jboss-osgi-framework-core</artifactId>
+  <packaging>jar</packaging>
+
+  <parent>
+    <groupId>org.jboss.osgi.framework</groupId>
+    <artifactId>jboss-osgi-framework-parent</artifactId>
+    <version>1.0.0.Alpha4</version>
+  </parent>
+
+  <dependencies>
+    <dependency>
+      <groupId>biz.aQute</groupId>
+      <artifactId>bnd</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.framework</groupId>
+      <artifactId>jboss-osgi-framework-metadata</artifactId>
+      <version>${version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-mdr</artifactId>
+    </dependency>
+    
+    <!-- JBoss OSGi Dependencies -->
+    <dependency>
+      <groupId>org.jboss.osgi</groupId>
+      <artifactId>jboss-osgi-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.deployment</groupId>
+      <artifactId>jboss-osgi-deployment</artifactId>
+    </dependency>
+
+    <!-- OSGi Dependencies -->
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+    </dependency>
+  </dependencies>
+
+</project>

Deleted: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/deployers/AbstractClassLoadingDeployer.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/deployers/AbstractClassLoadingDeployer.java	2010-04-01 12:33:35 UTC (rev 103420)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/deployers/AbstractClassLoadingDeployer.java	2010-04-01 14:43:57 UTC (rev 103435)
@@ -1,172 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2009, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.osgi.framework.deployers;
-
-// $Id$
-
-import java.util.List;
-
-import org.jboss.classloader.spi.ClassLoaderDomain;
-import org.jboss.classloader.spi.ShutdownPolicy;
-import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
-import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
-import org.jboss.classloading.spi.metadata.RequirementsMetaData;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
-import org.jboss.deployers.structure.spi.ClassLoaderFactory;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.osgi.framework.bundle.AbstractBundleState;
-import org.jboss.osgi.framework.bundle.OSGiBundleManager;
-import org.jboss.osgi.framework.classloading.OSGiBundleCapability;
-import org.jboss.osgi.framework.classloading.OSGiBundleRequirement;
-import org.jboss.osgi.framework.classloading.OSGiClassLoadingMetaData;
-import org.jboss.osgi.framework.classloading.OSGiPackageCapability;
-import org.jboss.osgi.framework.classloading.OSGiPackageRequirement;
-import org.jboss.osgi.framework.metadata.OSGiMetaData;
-import org.jboss.osgi.framework.metadata.PackageAttribute;
-import org.jboss.osgi.framework.metadata.ParameterizedAttribute;
-import org.jboss.osgi.framework.plugins.SystemPackagesPlugin;
-
-/**
- * An abstract OSGi classloading deployer, that maps {@link OSGiMetaData} into {@link ClassLoadingMetaData}.
- * 
- * @author thomas.diesler at jboss.com
- * @since 07-Jan-2010
- */
-public class AbstractClassLoadingDeployer extends AbstractSimpleRealDeployer<OSGiMetaData>
-{
-   private ClassLoaderDomain domain;
-   private ClassLoaderFactory factory;
-
-   public AbstractClassLoadingDeployer()
-   {
-      super(OSGiMetaData.class);
-      addInput(AbstractBundleState.class);
-      addInput(ClassLoadingMetaData.class);
-      addOutput(ClassLoadingMetaData.class);
-      setStage(DeploymentStages.POST_PARSE);
-      setTopLevelOnly(true);
-   }
-
-   public void setDomain(ClassLoaderDomain domain)
-   {
-      this.domain = domain;
-   }
-
-   public void setFactory(ClassLoaderFactory factory)
-   {
-      this.factory = factory;
-   }
-
-   @Override
-   public void deploy(DeploymentUnit unit, OSGiMetaData osgiMetaData) throws DeploymentException
-   {
-      if (unit.isAttachmentPresent(ClassLoadingMetaData.class))
-         return;
-
-      AbstractBundleState bundleState = unit.getAttachment(AbstractBundleState.class);
-      if (bundleState == null)
-         throw new IllegalStateException("No bundle state");
-
-      OSGiBundleManager bundleManager = bundleState.getBundleManager();
-
-      OSGiClassLoadingMetaData classLoadingMetaData = new OSGiClassLoadingMetaData();
-      classLoadingMetaData.setName(bundleState.getSymbolicName());
-      classLoadingMetaData.setVersion(bundleState.getVersion());
-      classLoadingMetaData.setDomain(domain != null ? domain.getName() : null);
-      classLoadingMetaData.setShutdownPolicy(ShutdownPolicy.GARBAGE_COLLECTION);
-
-      CapabilitiesMetaData capabilities = classLoadingMetaData.getCapabilities();
-      RequirementsMetaData requirements = classLoadingMetaData.getRequirements();
-
-      OSGiBundleCapability bundleCapability = OSGiBundleCapability.create(bundleState);
-      capabilities.addCapability(bundleCapability);
-
-      // Required Bundles
-      List<ParameterizedAttribute> requireBundles = osgiMetaData.getRequireBundles();
-      if (requireBundles != null && requireBundles.isEmpty() == false)
-      {
-         for (ParameterizedAttribute requireBundle : requireBundles)
-         {
-            OSGiBundleRequirement requirement = OSGiBundleRequirement.create(requireBundle);
-            requirements.addRequirement(requirement);
-         }
-      }
-
-      // Export-Package
-      List<PackageAttribute> exports = osgiMetaData.getExportPackages();
-      if (exports != null && exports.isEmpty() == false)
-      {
-         for (PackageAttribute packageAttribute : exports)
-         {
-            OSGiPackageCapability packageCapability = OSGiPackageCapability.create(bundleState, packageAttribute);
-            capabilities.addCapability(packageCapability);
-         }
-      }
-
-      // Import-Package
-      List<PackageAttribute> imports = osgiMetaData.getImportPackages();
-      if (imports != null && imports.isEmpty() == false)
-      {
-         SystemPackagesPlugin syspackPlugin = bundleManager.getPlugin(SystemPackagesPlugin.class);
-         for (PackageAttribute packageAttribute : imports)
-         {
-            String packageName = packageAttribute.getAttribute();
-
-            // [TODO] Should system packages be added as capabilities?
-            if (syspackPlugin.isSystemPackage(packageName) == true)
-               continue;
-            
-            OSGiPackageRequirement requirement = OSGiPackageRequirement.create(bundleState, packageAttribute, false);
-            requirements.addRequirement(requirement);
-         }
-      }
-
-      // DynamicImport-Package
-      List<PackageAttribute> dynamicImports = osgiMetaData.getDynamicImports();
-      if (dynamicImports != null && dynamicImports.isEmpty() == false)
-      {
-         SystemPackagesPlugin syspackPlugin = bundleManager.getPlugin(SystemPackagesPlugin.class);
-         for (PackageAttribute packageAttribute : dynamicImports)
-         {
-            String packageName = packageAttribute.getAttribute();
-
-            // [TODO] Should system packages be added as capabilities?
-            if (syspackPlugin.isSystemPackage(packageName) == true)
-               continue;
-            
-            OSGiPackageRequirement requirement = OSGiPackageRequirement.create(bundleState, packageAttribute, true);
-            requirements.addRequirement(requirement);
-         }
-      }
-
-      unit.addAttachment(ClassLoadingMetaData.class, classLoadingMetaData);
-
-      // AnnotationMetaDataDeployer.ANNOTATION_META_DATA_COMPLETE
-      unit.addAttachment("org.jboss.deployment.annotation.metadata.complete", Boolean.TRUE);
-
-      // Add the OSGi ClassLoaderFactory if configured
-      if (factory != null)
-         unit.addAttachment(ClassLoaderFactory.class, factory);
-   }
-}

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/deployers/AbstractClassLoadingDeployer.java (from rev 103431, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/deployers/AbstractClassLoadingDeployer.java)
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/deployers/AbstractClassLoadingDeployer.java	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/deployers/AbstractClassLoadingDeployer.java	2010-04-01 14:43:57 UTC (rev 103435)
@@ -0,0 +1,177 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.osgi.framework.deployers;
+
+// $Id$
+
+import java.util.List;
+
+import org.jboss.classloader.spi.ClassLoaderDomain;
+import org.jboss.classloader.spi.ShutdownPolicy;
+import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.classloading.spi.metadata.RequirementsMetaData;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.structure.spi.ClassLoaderFactory;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.osgi.framework.bundle.AbstractBundleState;
+import org.jboss.osgi.framework.bundle.OSGiBundleManager;
+import org.jboss.osgi.framework.classloading.OSGiBundleCapability;
+import org.jboss.osgi.framework.classloading.OSGiBundleRequirement;
+import org.jboss.osgi.framework.classloading.OSGiClassLoadingMetaData;
+import org.jboss.osgi.framework.classloading.OSGiPackageCapability;
+import org.jboss.osgi.framework.classloading.OSGiPackageRequirement;
+import org.jboss.osgi.framework.metadata.OSGiMetaData;
+import org.jboss.osgi.framework.metadata.PackageAttribute;
+import org.jboss.osgi.framework.metadata.ParameterizedAttribute;
+import org.jboss.osgi.framework.plugins.SystemPackagesPlugin;
+
+/**
+ * An abstract OSGi classloading deployer, that maps {@link OSGiMetaData} into {@link ClassLoadingMetaData}.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 07-Jan-2010
+ */
+public class AbstractClassLoadingDeployer extends AbstractSimpleRealDeployer<OSGiMetaData>
+{
+   private ClassLoaderDomain domain;
+   private ClassLoaderFactory factory;
+
+   public AbstractClassLoadingDeployer()
+   {
+      super(OSGiMetaData.class);
+      addInput(AbstractBundleState.class);
+      addInput(ClassLoadingMetaData.class);
+      addOutput(ClassLoadingMetaData.class);
+      setStage(DeploymentStages.POST_PARSE);
+      setTopLevelOnly(true);
+   }
+
+   public void setDomain(ClassLoaderDomain domain)
+   {
+      this.domain = domain;
+   }
+
+   public void setFactory(ClassLoaderFactory factory)
+   {
+      this.factory = factory;
+   }
+
+   @Override
+   public void deploy(DeploymentUnit unit, OSGiMetaData osgiMetaData) throws DeploymentException
+   {
+      if (unit.isAttachmentPresent(ClassLoadingMetaData.class))
+         return;
+
+      AbstractBundleState bundleState = unit.getAttachment(AbstractBundleState.class);
+      if (bundleState == null)
+         throw new IllegalStateException("No bundle state");
+
+      OSGiBundleManager bundleManager = bundleState.getBundleManager();
+
+      OSGiClassLoadingMetaData classLoadingMetaData = new OSGiClassLoadingMetaData();
+      classLoadingMetaData.setName(bundleState.getSymbolicName());
+      classLoadingMetaData.setVersion(bundleState.getVersion());
+      classLoadingMetaData.setDomain(domain != null ? domain.getName() : null);
+      classLoadingMetaData.setShutdownPolicy(ShutdownPolicy.GARBAGE_COLLECTION);
+
+      CapabilitiesMetaData capabilities = classLoadingMetaData.getCapabilities();
+      RequirementsMetaData requirements = classLoadingMetaData.getRequirements();
+
+      OSGiBundleCapability bundleCapability = OSGiBundleCapability.create(bundleState);
+      capabilities.addCapability(bundleCapability);
+
+      // Required Bundles
+      List<ParameterizedAttribute> requireBundles = osgiMetaData.getRequireBundles();
+      if (requireBundles != null && requireBundles.isEmpty() == false)
+      {
+         for (ParameterizedAttribute requireBundle : requireBundles)
+         {
+            OSGiBundleRequirement requirement = OSGiBundleRequirement.create(requireBundle);
+            requirements.addRequirement(requirement);
+         }
+      }
+
+      // Export-Package
+      List<PackageAttribute> exports = osgiMetaData.getExportPackages();
+      if (exports != null && exports.isEmpty() == false)
+      {
+         for (PackageAttribute packageAttribute : exports)
+         {
+            OSGiPackageCapability packageCapability = OSGiPackageCapability.create(bundleState, packageAttribute);
+            capabilities.addCapability(packageCapability);
+         }
+      }
+
+      // Import-Package
+      List<PackageAttribute> imports = osgiMetaData.getImportPackages();
+      if (imports != null && imports.isEmpty() == false)
+      {
+         SystemPackagesPlugin syspackPlugin = bundleManager.getPlugin(SystemPackagesPlugin.class);
+         for (PackageAttribute packageAttribute : imports)
+         {
+            String packageName = packageAttribute.getAttribute();
+
+            // [TODO] Should system packages be added as capabilities?
+            if (syspackPlugin.isSystemPackage(packageName) == true)
+               continue;
+            
+            OSGiPackageRequirement requirement = OSGiPackageRequirement.create(bundleState, packageAttribute, false);
+            requirements.addRequirement(requirement);
+         }
+      }
+
+      // DynamicImport-Package
+      List<PackageAttribute> dynamicImports = osgiMetaData.getDynamicImports();
+      if (dynamicImports != null && dynamicImports.isEmpty() == false)
+      {
+         SystemPackagesPlugin syspackPlugin = bundleManager.getPlugin(SystemPackagesPlugin.class);
+         for (PackageAttribute packageAttribute : dynamicImports)
+         {
+            String packageName = packageAttribute.getAttribute();
+
+            // [TODO] Should system packages be added as capabilities?
+            if (syspackPlugin.isSystemPackage(packageName) == true)
+               continue;
+             
+            // Wildcards not yet supported
+            if (packageName.endsWith("*") == false)
+            {
+               OSGiPackageRequirement requirement = OSGiPackageRequirement.create(bundleState, packageAttribute, true);
+               requirements.addRequirement(requirement);
+            }      
+         }
+      }
+      
+
+      unit.addAttachment(ClassLoadingMetaData.class, classLoadingMetaData);
+
+      // AnnotationMetaDataDeployer.ANNOTATION_META_DATA_COMPLETE
+      unit.addAttachment("org.jboss.deployment.annotation.metadata.complete", Boolean.TRUE);
+
+      // Add the OSGi ClassLoaderFactory if configured
+      if (factory != null)
+         unit.addAttachment(ClassLoaderFactory.class, factory);
+   }
+}

Deleted: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/plugins/internal/FrameworkEventsPluginImpl.java
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/plugins/internal/FrameworkEventsPluginImpl.java	2010-04-01 12:33:35 UTC (rev 103420)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/plugins/internal/FrameworkEventsPluginImpl.java	2010-04-01 14:43:57 UTC (rev 103435)
@@ -1,857 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.osgi.framework.plugins.internal;
-
-//$Id: SystemPackagesPluginImpl.java 92858 2009-08-27 10:58:32Z thomas.diesler at jboss.com $
-
-import java.security.AccessControlContext;
-import java.security.AccessController;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import org.jboss.logging.Logger;
-import org.jboss.osgi.framework.bundle.AbstractBundleState;
-import org.jboss.osgi.framework.bundle.OSGiBundleManager;
-import org.jboss.osgi.framework.bundle.OSGiServiceState;
-import org.jboss.osgi.framework.plugins.FrameworkEventsPlugin;
-import org.jboss.osgi.framework.util.NoFilter;
-import org.jboss.osgi.framework.util.RemoveOnlyCollection;
-import org.jboss.osgi.spi.util.ConstantsHelper;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleEvent;
-import org.osgi.framework.BundleListener;
-import org.osgi.framework.Filter;
-import org.osgi.framework.FrameworkEvent;
-import org.osgi.framework.FrameworkListener;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceEvent;
-import org.osgi.framework.ServiceListener;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.SynchronousBundleListener;
-import org.osgi.framework.hooks.service.EventHook;
-import org.osgi.framework.hooks.service.ListenerHook;
-import org.osgi.framework.hooks.service.ListenerHook.ListenerInfo;
-
-/**
- * A plugin that manages {@link FrameworkListener}, {@link BundleListener}, {@link ServiceListener} and their 
- * associated {@link FrameworkEvent}, {@link BundleEvent}, {@link ServiceEvent}.
- * 
- * @author thomas.diesler at jboss.com
- * @since 18-Aug-2009
- */
-public class FrameworkEventsPluginImpl extends AbstractPlugin implements FrameworkEventsPlugin
-{
-   // Provide logging
-   final Logger log = Logger.getLogger(FrameworkEventsPluginImpl.class);
-
-   /** The active state of this plugin */
-   private boolean active;
-   /** The bundle listeners */
-   private final Map<Bundle, List<BundleListener>> bundleListeners = new ConcurrentHashMap<Bundle, List<BundleListener>>();
-   /** The framework listeners */
-   private final Map<Bundle, List<FrameworkListener>> frameworkListeners = new ConcurrentHashMap<Bundle, List<FrameworkListener>>();
-   /** The service listeners */
-   private final Map<Bundle, List<ServiceListenerRegistration>> serviceListeners = new ConcurrentHashMap<Bundle, List<ServiceListenerRegistration>>();
-
-   /** The executor service */
-   private ExecutorService executorService;
-   /** True for synchronous event delivery */
-   private boolean synchronous;
-   /** The set of bundle events that are delivered to an (asynchronous) BundleListener */
-   private Set<Integer> asyncBundleEvents = new HashSet<Integer>();
-
-   public FrameworkEventsPluginImpl(OSGiBundleManager bundleManager)
-   {
-      super(bundleManager);
-      executorService = Executors.newCachedThreadPool();
-      asyncBundleEvents.add(new Integer(BundleEvent.INSTALLED));
-      asyncBundleEvents.add(new Integer(BundleEvent.RESOLVED));
-      asyncBundleEvents.add(new Integer(BundleEvent.STARTED));
-      asyncBundleEvents.add(new Integer(BundleEvent.STOPPED));
-      asyncBundleEvents.add(new Integer(BundleEvent.UPDATED));
-      asyncBundleEvents.add(new Integer(BundleEvent.UNRESOLVED));
-      asyncBundleEvents.add(new Integer(BundleEvent.UNINSTALLED));
-   }
-
-   public void setSynchronous(boolean synchronous)
-   {
-      this.synchronous = synchronous;
-   }
-
-   @Override
-   public boolean isActive()
-   {
-      return active;
-   }
-
-   @Override
-   public void setActive(boolean active)
-   {
-      this.active = active;
-   }
-
-   @Override
-   public void addBundleListener(Bundle bundle, BundleListener listener)
-   {
-      if (listener == null)
-         throw new IllegalArgumentException("Null listener");
-
-      bundle = assertBundle(bundle);
-
-      synchronized (bundleListeners)
-      {
-         List<BundleListener> listeners = bundleListeners.get(bundle);
-         if (listeners == null)
-         {
-            listeners = new CopyOnWriteArrayList<BundleListener>();
-            bundleListeners.put(bundle, listeners);
-         }
-         if (listeners.contains(listener) == false)
-            listeners.add(listener);
-      }
-   }
-
-   @Override
-   public void removeBundleListener(Bundle bundle, BundleListener listener)
-   {
-      if (listener == null)
-         throw new IllegalArgumentException("Null listener");
-
-      bundle = assertBundle(bundle);
-
-      synchronized (bundleListeners)
-      {
-         List<BundleListener> listeners = bundleListeners.get(bundle);
-         if (listeners != null)
-         {
-            if (listeners.size() > 1)
-               listeners.remove(listener);
-            else
-               removeBundleListeners(bundle);
-         }
-      }
-   }
-
-   @Override
-   public void removeBundleListeners(Bundle bundle)
-   {
-      synchronized (bundleListeners)
-      {
-         bundle = assertBundle(bundle);
-         bundleListeners.remove(bundle);
-      }
-   }
-
-   @Override
-   public void addFrameworkListener(Bundle bundle, FrameworkListener listener)
-   {
-      if (listener == null)
-         throw new IllegalArgumentException("Null listener");
-
-      bundle = assertBundle(bundle);
-
-      synchronized (frameworkListeners)
-      {
-         List<FrameworkListener> listeners = frameworkListeners.get(bundle);
-         if (listeners == null)
-         {
-            listeners = new CopyOnWriteArrayList<FrameworkListener>();
-            frameworkListeners.put(bundle, listeners);
-         }
-         if (listeners.contains(listener) == false)
-            listeners.add(listener);
-      }
-   }
-
-   @Override
-   public void removeFrameworkListener(Bundle bundle, FrameworkListener listener)
-   {
-      if (listener == null)
-         throw new IllegalArgumentException("Null listener");
-
-      bundle = assertBundle(bundle);
-
-      synchronized (frameworkListeners)
-      {
-         List<FrameworkListener> listeners = frameworkListeners.get(bundle);
-         if (listeners != null)
-         {
-            if (listeners.size() > 1)
-               listeners.remove(listener);
-            else
-               removeFrameworkListeners(bundle);
-         }
-      }
-   }
-
-   @Override
-   public void removeFrameworkListeners(Bundle bundle)
-   {
-      synchronized (frameworkListeners)
-      {
-         bundle = assertBundle(bundle);
-         frameworkListeners.remove(bundle);
-      }
-   }
-
-   @Override
-   public void addServiceListener(Bundle bundle, ServiceListener listener, String filterstr) throws InvalidSyntaxException
-   {
-      if (listener == null)
-         throw new IllegalArgumentException("Null listener");
-
-      bundle = assertBundle(bundle);
-
-      synchronized (serviceListeners)
-      {
-         List<ServiceListenerRegistration> listeners = serviceListeners.get(bundle);
-         if (listeners == null)
-         {
-            listeners = new CopyOnWriteArrayList<ServiceListenerRegistration>();
-            serviceListeners.put(bundle, listeners);
-         }
-
-         // If the context bundle's list of listeners already contains a listener l such that (l==listener), 
-         // then this method replaces that listener's filter (which may be null) with the specified one (which may be null). 
-         removeServiceListener(bundle, listener);
-
-         // Create the new listener registration
-         Filter filter = (filterstr != null ? FrameworkUtil.createFilter(filterstr) : NoFilter.INSTANCE);
-         ServiceListenerRegistration slreg = new ServiceListenerRegistration(bundle, listener, filter);
-
-         // The {@link ListenerHook} added method is called to provide the hook implementation with information on newly added service listeners. 
-         // This method will be called as service listeners are added while this hook is registered
-         for (ListenerHook hook : getServiceListenerHooks())
-         {
-            try
-            {
-               hook.added(Collections.singleton(slreg.getListenerInfo()));
-            }
-            catch (RuntimeException ex)
-            {
-               log.error("Error processing ListenerHook: " + hook, ex);
-            }
-         }
-
-         // Add the listener to the list
-         listeners.add(slreg);
-      }
-   }
-
-   @Override
-   public Collection<ListenerInfo> getServiceListenerInfos(Bundle bundle)
-   {
-      Collection<ListenerInfo> listeners = new ArrayList<ListenerInfo>();
-      for (Entry<Bundle, List<ServiceListenerRegistration>> entry : serviceListeners.entrySet())
-      {
-         if (bundle == null || assertBundle(bundle).equals(entry.getKey()))
-         {
-            for (ServiceListenerRegistration aux : entry.getValue())
-            {
-               ListenerInfo info = aux.getListenerInfo();
-               listeners.add(info);
-            }
-         }
-      }
-      return Collections.unmodifiableCollection(listeners);
-   }
-
-   @Override
-   public void removeServiceListener(Bundle bundle, ServiceListener listener)
-   {
-      if (listener == null)
-         throw new IllegalArgumentException("Null listener");
-
-      bundle = assertBundle(bundle);
-
-      synchronized (serviceListeners)
-      {
-         List<ServiceListenerRegistration> listeners = serviceListeners.get(bundle);
-         if (listeners != null)
-         {
-            ServiceListenerRegistration slreg = new ServiceListenerRegistration(bundle, listener, NoFilter.INSTANCE);
-            int index = listeners.indexOf(slreg);
-            if (index >= 0)
-            {
-               slreg = listeners.remove(index);
-
-               // The {@link ListenerHook} 'removed' method is called to provide the hook implementation with information on newly removed service listeners. 
-               // This method will be called as service listeners are removed while this hook is registered. 
-               for (ListenerHook hook : getServiceListenerHooks())
-               {
-                  try
-                  {
-                     ListenerInfoImpl info = (ListenerInfoImpl)slreg.getListenerInfo();
-                     info.setRemoved(true);
-                     hook.removed(Collections.singleton(info));
-                  }
-                  catch (RuntimeException ex)
-                  {
-                     log.error("Error processing ListenerHook: " + hook, ex);
-                  }
-               }
-            }
-         }
-      }
-   }
-
-   @Override
-   public void removeServiceListeners(Bundle bundle)
-   {
-      synchronized (serviceListeners)
-      {
-         Collection<ListenerInfo> listenerInfos = getServiceListenerInfos(bundle);
-         serviceListeners.remove(assertBundle(bundle));
-
-         // The {@link ListenerHook} 'removed' method is called to provide the hook implementation with information on newly removed service listeners. 
-         // This method will be called as service listeners are removed while this hook is registered. 
-         for (ListenerHook hook : getServiceListenerHooks())
-         {
-            try
-            {
-               hook.removed(listenerInfos);
-            }
-            catch (RuntimeException ex)
-            {
-               log.error("Error processing ListenerHook: " + hook, ex);
-            }
-         }
-      }
-   }
-
-   private List<ListenerHook> getServiceListenerHooks()
-   {
-      BundleContext context = getBundleManager().getSystemContext();
-      ServiceReference[] srefs = null;
-      try
-      {
-         srefs = context.getServiceReferences(ListenerHook.class.getName(), null);
-      }
-      catch (InvalidSyntaxException e)
-      {
-         // ignore
-      }
-      if (srefs == null)
-         return Collections.emptyList();
-
-      List<ListenerHook> hooks = new ArrayList<ListenerHook>();
-      for (ServiceReference sref : srefs)
-         hooks.add((ListenerHook)context.getService(sref));
-
-      return Collections.unmodifiableList(hooks);
-   }
-
-   @Override
-   public void fireBundleEvent(final Bundle bundle, final int type)
-   {
-      // Get a snapshot of the current listeners
-      final List<BundleListener> listeners = new ArrayList<BundleListener>();
-      synchronized (bundleListeners)
-      {
-         for (Entry<Bundle, List<BundleListener>> entry : bundleListeners.entrySet())
-         {
-            for (BundleListener listener : entry.getValue())
-            {
-               listeners.add(listener);
-            }
-         }
-      }
-
-      // Expose the bundl wrapper not the state itself
-      final BundleEvent event = new OSGiBundleEvent(type, assertBundle(bundle));
-      final String typeName = ConstantsHelper.bundleEvent(event.getType());
-
-      if (asyncBundleEvents.contains(event.getType()))
-         log.info("Bundle " + typeName + ": " + bundle);
-      else
-         log.debug("Bundle " + typeName + ": " + bundle);
-
-      // Nobody is interested
-      if (listeners.isEmpty())
-         return;
-
-      // Are we active?
-      if (getBundleManager().isFrameworkActive() == false)
-         return;
-
-      Runnable runnable = new Runnable()
-      {
-         public void run()
-         {
-            // Synchronous listeners first
-            for (BundleListener listener : listeners)
-            {
-               try
-               {
-                  if (listener instanceof SynchronousBundleListener)
-                     listener.bundleChanged(event);
-               }
-               catch (Throwable t)
-               {
-                  log.warn("Error while firing " + typeName + " for bundle " + bundle, t);
-               }
-            }
-
-            // BundleListeners are called with a BundleEvent object when a bundle has been 
-            // installed, resolved, started, stopped, updated, unresolved, or uninstalled
-            if (asyncBundleEvents.contains(type))
-            {
-               for (BundleListener listener : listeners)
-               {
-                  try
-                  {
-                     if (listener instanceof SynchronousBundleListener == false)
-                        listener.bundleChanged(event);
-                  }
-                  catch (Throwable t)
-                  {
-                     log.warn("Error while firing " + typeName + " for bundle " + this, t);
-                  }
-               }
-            }
-         }
-      };
-
-      // Fire the event in a runnable
-      fireEvent(runnable, synchronous);
-   }
-
-   @Override
-   public void fireFrameworkEvent(final Bundle bundle, final int type, final Throwable throwable)
-   {
-      // Get a snapshot of the current listeners
-      final ArrayList<FrameworkListener> listeners = new ArrayList<FrameworkListener>();
-      synchronized (frameworkListeners)
-      {
-         for (Entry<Bundle, List<FrameworkListener>> entry : frameworkListeners.entrySet())
-         {
-            for (FrameworkListener listener : entry.getValue())
-            {
-               listeners.add(listener);
-            }
-         }
-      }
-
-      // Nobody is interested
-      if (listeners.isEmpty())
-         return;
-
-      // Are we active?
-      if (getBundleManager().isFrameworkActive() == false)
-         return;
-
-      Runnable runnable = new Runnable()
-      {
-         public void run()
-         {
-            // Expose the wrapper not the state itself
-            FrameworkEvent event = new OSGiFrameworkEvent(type, assertBundle(bundle), throwable);
-            String typeName = ConstantsHelper.frameworkEvent(event.getType());
-
-            log.info("Framwork " + typeName);
-
-            // Nobody is interested
-            if (frameworkListeners.isEmpty())
-               return;
-
-            // Are we active?
-            if (getBundleManager().isFrameworkActive() == false)
-               return;
-
-            // Call the listeners
-            for (FrameworkListener listener : listeners)
-            {
-               try
-               {
-                  listener.frameworkEvent(event);
-               }
-               catch (RuntimeException ex)
-               {
-                  log.warn("Error while firing " + typeName + " for framework", ex);
-
-                  // The Framework must publish a FrameworkEvent.ERROR if a callback to an
-                  // event listener generates an unchecked exception - except when the callback
-                  // happens while delivering a FrameworkEvent.ERROR
-                  if (type != FrameworkEvent.ERROR)
-                  {
-                     fireFrameworkEvent(bundle, FrameworkEvent.ERROR, ex);
-                  }
-               }
-               catch (Throwable t)
-               {
-                  log.warn("Error while firing " + typeName + " for framework", t);
-               }
-            }
-         }
-      };
-
-      // Fire the event in a runnable
-      fireEvent(runnable, synchronous);
-   }
-
-   @Override
-   public void fireServiceEvent(Bundle bundle, int type, final OSGiServiceState service)
-   {
-      // Get a snapshot of the current listeners
-      List<ServiceListenerRegistration> listeners = new ArrayList<ServiceListenerRegistration>();
-      synchronized (serviceListeners)
-      {
-         for (Entry<Bundle, List<ServiceListenerRegistration>> entry : serviceListeners.entrySet())
-         {
-            for (ServiceListenerRegistration listener : entry.getValue())
-            {
-               BundleContext context = listener.getBundleContext();
-               if (context != null)
-                  listeners.add(listener);
-            }
-         }
-      }
-
-      // Expose the wrapper not the state itself
-      ServiceEvent event = new OSGiServiceEvent(type, service.getReferenceInternal());
-      String typeName = ConstantsHelper.serviceEvent(event.getType());
-
-      log.info("Service " + typeName + ": " + service);
-
-      // Do nothing if the Framework is not active
-      if (getBundleManager().isFrameworkActive() == false)
-         return;
-
-      // Call the registered event hooks
-      listeners = processEventHooks(listeners, event);
-
-      // Nobody is interested
-      if (listeners.isEmpty())
-         return;
-
-      // Call the listeners. All service events are synchronously delivered
-      for (ServiceListenerRegistration listener : listeners)
-      {
-         try
-         {
-            String filterstr = listener.filter.toString();
-            if (listener.filter.match(service))
-            {
-               AccessControlContext accessControlContext = listener.accessControlContext;
-               if (accessControlContext == null || service.hasPermission(accessControlContext))
-                  listener.listener.serviceChanged(event);
-            }
-            
-            // The MODIFIED_ENDMATCH event is synchronously delivered after the service properties have been modified. 
-            // This event is only delivered to listeners which were added with a non-null filter where 
-            // the filter matched the service properties prior to the modification but the filter does 
-            // not match the modified service properties. 
-            else if (filterstr != null && ServiceEvent.MODIFIED == event.getType())
-            {
-               if (listener.filter.match(service.getPreviousProperties()))
-               {
-                  event = new OSGiServiceEvent(ServiceEvent.MODIFIED_ENDMATCH, service.getReferenceInternal());
-                  AccessControlContext accessControlContext = listener.accessControlContext;
-                  if (accessControlContext == null || service.hasPermission(accessControlContext))
-                     listener.listener.serviceChanged(event);
-               }
-            }
-         }
-         catch (Throwable t)
-         {
-            log.warn("Error while firing " + typeName + " for service " + service, t);
-         }
-      }
-   }
-
-   private List<ServiceListenerRegistration> processEventHooks(List<ServiceListenerRegistration> listeners, final ServiceEvent event)
-   {
-      // Collect the BundleContexts
-      Collection<BundleContext> contexts = new HashSet<BundleContext>();
-      for (ServiceListenerRegistration listener : listeners)
-      {
-         BundleContext context = listener.getBundleContext();
-         if (context != null)
-            contexts.add(context);
-      }
-      contexts = new RemoveOnlyCollection<BundleContext>(contexts);
-
-      // Call the registered event hooks
-      List<EventHook> eventHooks = getEventHooks();
-      for (EventHook hook : eventHooks)
-      {
-         try
-         {
-            hook.event(event, contexts);
-         }
-         catch (Exception ex)
-         {
-            log.warn("Error while calling EventHook: " + hook, ex);
-         }
-      }
-
-      // Remove the listeners that have been filtered by the EventHooks
-      if (contexts.size() != listeners.size())
-      {
-         Iterator<ServiceListenerRegistration> it = listeners.iterator();
-         while (it.hasNext())
-         {
-            ServiceListenerRegistration slreg = it.next();
-            if (contexts.contains(slreg.getBundleContext()) == false)
-               it.remove();
-         }
-      }
-      return listeners;
-   }
-
-   private List<EventHook> getEventHooks()
-   {
-      List<EventHook> hooks = new ArrayList<EventHook>();
-      BundleContext context = getBundleManager().getSystemContext();
-      ServiceReference[] srefs = null;
-      try
-      {
-         srefs = context.getServiceReferences(EventHook.class.getName(), null);
-      }
-      catch (InvalidSyntaxException e)
-      {
-         // ignore
-      }
-      if (srefs != null)
-      {
-         // The calling order of the hooks is defined by the reversed compareTo ordering of their Service
-         // Reference objects. That is, the service with the highest ranking number is called first. 
-         List<ServiceReference> sortedRefs = new ArrayList<ServiceReference>(Arrays.asList(srefs));
-         Collections.reverse(sortedRefs);
-
-         for (ServiceReference sref : sortedRefs)
-            hooks.add((EventHook)context.getService(sref));
-      }
-      return hooks;
-   }
-
-   private static Bundle assertBundle(Bundle bundle)
-   {
-      if (bundle == null)
-         throw new IllegalArgumentException("Null bundle");
-
-      // Expose the wrapper not the state itself
-      if (bundle instanceof AbstractBundleState)
-         bundle = ((AbstractBundleState)bundle).getBundleInternal();
-
-      return bundle;
-   }
-
-   private void fireEvent(Runnable runnable, boolean synchronous)
-   {
-      if (synchronous)
-      {
-         runnable.run();
-      }
-      else
-      {
-         executorService.execute(runnable);
-      }
-   }
-
-   /**
-    * Filter and AccessControl for service events
-    */
-   static class ServiceListenerRegistration
-   {
-      private Bundle bundle;
-      private ServiceListener listener;
-      private Filter filter;
-      private ListenerInfo info;
-
-      // Any access control context
-      AccessControlContext accessControlContext;
-
-      ServiceListenerRegistration(Bundle bundle, ServiceListener listener, Filter filter)
-      {
-         if (bundle == null)
-            throw new IllegalArgumentException("Null bundle");
-         if (listener == null)
-            throw new IllegalArgumentException("Null listener");
-         if (filter == null)
-            throw new IllegalArgumentException("Null filter");
-
-         this.bundle = assertBundle(bundle);
-         this.listener = listener;
-         this.filter = filter;
-         this.info = new ListenerInfoImpl(this);
-
-         if (System.getSecurityManager() != null)
-            accessControlContext = AccessController.getContext();
-      }
-
-      public BundleContext getBundleContext()
-      {
-         return bundle.getBundleContext();
-      }
-
-      public ListenerInfo getListenerInfo()
-      {
-         return info;
-      }
-
-      @Override
-      public int hashCode()
-      {
-         return listener.hashCode();
-      }
-
-      @Override
-      public boolean equals(Object obj)
-      {
-         if (obj instanceof ServiceListenerRegistration == false)
-            return false;
-
-         // Only the ServiceListener instance determins equality
-         ServiceListenerRegistration other = (ServiceListenerRegistration)obj;
-         return other.listener.equals(listener);
-      }
-
-      @Override
-      public String toString()
-      {
-         String className = listener.getClass().getName();
-         return "ServiceListener[" + bundle + "," + className + "," + filter + "]";
-      }
-   }
-
-   static class ListenerInfoImpl implements ListenerInfo
-   {
-      private BundleContext context;
-      private ServiceListener listener;
-      private String filter;
-      private boolean removed;
-
-      ListenerInfoImpl(ServiceListenerRegistration slreg)
-      {
-         this.context = slreg.bundle.getBundleContext();
-         this.listener = slreg.listener;
-         this.filter = slreg.filter.toString();
-      }
-
-      @Override
-      public BundleContext getBundleContext()
-      {
-         return context;
-      }
-
-      @Override
-      public String getFilter()
-      {
-         return filter;
-      }
-
-      @Override
-      public boolean isRemoved()
-      {
-         return removed;
-      }
-
-      public void setRemoved(boolean removed)
-      {
-         this.removed = removed;
-      }
-
-      @Override
-      public int hashCode()
-      {
-         return toString().hashCode();
-      }
-
-      @Override
-      public boolean equals(Object obj)
-      {
-         // Two ListenerInfos are equals if they refer to the same listener for a given addition and removal life cycle. 
-         // If the same listener is added again, it must have a different ListenerInfo which is not equal to this ListenerInfo. 
-         return super.equals(obj);
-      }
-
-      @Override
-      public String toString()
-      {
-         String className = listener.getClass().getName();
-         return "ListenerInfo[" + context + "," + className + "," + removed + "]";
-      }
-   }
-
-   static class OSGiFrameworkEvent extends FrameworkEvent
-   {
-      private static final long serialVersionUID = 6505331543651318189L;
-
-      public OSGiFrameworkEvent(int type, Bundle bundle, Throwable throwable)
-      {
-         super(type, bundle, throwable);
-      }
-
-      @Override
-      public String toString()
-      {
-         return "FrameworkEvent[type=" + ConstantsHelper.frameworkEvent(getType()) + ",source=" + getSource() + "]";
-      }
-   }
-
-   static class OSGiBundleEvent extends BundleEvent
-   {
-      private static final long serialVersionUID = -2705304702665185935L;
-
-      public OSGiBundleEvent(int type, Bundle bundle)
-      {
-         super(type, bundle);
-      }
-
-      @Override
-      public String toString()
-      {
-         return "BundleEvent[type=" + ConstantsHelper.bundleEvent(getType()) + ",source=" + getSource() + "]";
-      }
-   }
-
-   static class OSGiServiceEvent extends ServiceEvent
-   {
-      private static final long serialVersionUID = 62018288275708239L;
-
-      public OSGiServiceEvent(int type, ServiceReference reference)
-      {
-         super(type, reference);
-      }
-
-      @Override
-      public String toString()
-      {
-         return "ServiceEvent[type=" + ConstantsHelper.serviceEvent(getType()) + ",source=" + getSource() + "]";
-      }
-   }
-}
\ No newline at end of file

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/plugins/internal/FrameworkEventsPluginImpl.java (from rev 103431, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/plugins/internal/FrameworkEventsPluginImpl.java)
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/plugins/internal/FrameworkEventsPluginImpl.java	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/core/src/main/java/org/jboss/osgi/framework/plugins/internal/FrameworkEventsPluginImpl.java	2010-04-01 14:43:57 UTC (rev 103435)
@@ -0,0 +1,896 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.osgi.framework.plugins.internal;
+
+//$Id: SystemPackagesPluginImpl.java 92858 2009-08-27 10:58:32Z thomas.diesler at jboss.com $
+
+import java.security.AccessControlContext;
+import java.security.AccessController;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Map.Entry;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+import org.jboss.logging.Logger;
+import org.jboss.osgi.framework.bundle.AbstractBundleState;
+import org.jboss.osgi.framework.bundle.OSGiBundleManager;
+import org.jboss.osgi.framework.bundle.OSGiServiceState;
+import org.jboss.osgi.framework.plugins.FrameworkEventsPlugin;
+import org.jboss.osgi.framework.util.NoFilter;
+import org.jboss.osgi.framework.util.RemoveOnlyCollection;
+import org.jboss.osgi.spi.util.ConstantsHelper;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleEvent;
+import org.osgi.framework.BundleListener;
+import org.osgi.framework.Filter;
+import org.osgi.framework.FrameworkEvent;
+import org.osgi.framework.FrameworkListener;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.SynchronousBundleListener;
+import org.osgi.framework.hooks.service.EventHook;
+import org.osgi.framework.hooks.service.ListenerHook;
+import org.osgi.framework.hooks.service.ListenerHook.ListenerInfo;
+
+/**
+ * A plugin that manages {@link FrameworkListener}, {@link BundleListener},
+ * {@link ServiceListener} and their associated {@link FrameworkEvent},
+ * {@link BundleEvent}, {@link ServiceEvent}.
+ * 
+ * @author thomas.diesler at jboss.com
+ * @since 18-Aug-2009
+ */
+public class FrameworkEventsPluginImpl extends AbstractPlugin implements FrameworkEventsPlugin
+{
+   // Provide logging
+   final Logger log = Logger.getLogger(FrameworkEventsPluginImpl.class);
+
+   /** The active state of this plugin */
+   private boolean active;
+   /** The bundle listeners */
+   private final Map<Bundle, List<BundleListener>> bundleListeners = new ConcurrentHashMap<Bundle, List<BundleListener>>();
+   /** The framework listeners */
+   private final Map<Bundle, List<FrameworkListener>> frameworkListeners = new ConcurrentHashMap<Bundle, List<FrameworkListener>>();
+   /** The service listeners */
+   private final Map<Bundle, List<ServiceListenerRegistration>> serviceListeners = new ConcurrentHashMap<Bundle, List<ServiceListenerRegistration>>();
+
+   /** The executor service */
+   private ExecutorService executorService;
+   /** True for synchronous event delivery */
+   private boolean synchronous;
+   /**
+    * The set of bundle events that are delivered to an (asynchronous)
+    * BundleListener
+    */
+   private Set<Integer> asyncBundleEvents = new HashSet<Integer>();
+   /** The set of events that are logged at INFO level */
+   private Set<String> infoEvents = new HashSet<String>();
+
+   public FrameworkEventsPluginImpl(OSGiBundleManager bundleManager)
+   {
+      super(bundleManager);
+      executorService = Executors.newCachedThreadPool();
+      asyncBundleEvents.add(new Integer(BundleEvent.INSTALLED));
+      asyncBundleEvents.add(new Integer(BundleEvent.RESOLVED));
+      asyncBundleEvents.add(new Integer(BundleEvent.STARTED));
+      asyncBundleEvents.add(new Integer(BundleEvent.STOPPED));
+      asyncBundleEvents.add(new Integer(BundleEvent.UPDATED));
+      asyncBundleEvents.add(new Integer(BundleEvent.UNRESOLVED));
+      asyncBundleEvents.add(new Integer(BundleEvent.UNINSTALLED));
+      infoEvents.add(ConstantsHelper.frameworkEvent(FrameworkEvent.PACKAGES_REFRESHED));
+      infoEvents.add(ConstantsHelper.bundleEvent(BundleEvent.INSTALLED));
+      infoEvents.add(ConstantsHelper.bundleEvent(BundleEvent.STARTED));
+      infoEvents.add(ConstantsHelper.bundleEvent(BundleEvent.STOPPED));
+      infoEvents.add(ConstantsHelper.bundleEvent(BundleEvent.UNINSTALLED));
+   }
+
+   public void setSynchronous(boolean synchronous)
+   {
+      this.synchronous = synchronous;
+   }
+
+   @Override
+   public boolean isActive()
+   {
+      return active;
+   }
+
+   @Override
+   public void setActive(boolean active)
+   {
+      this.active = active;
+   }
+
+   @Override
+   public void addBundleListener(Bundle bundle, BundleListener listener)
+   {
+      if (listener == null)
+         throw new IllegalArgumentException("Null listener");
+
+      bundle = assertBundle(bundle);
+
+      synchronized (bundleListeners)
+      {
+         List<BundleListener> listeners = bundleListeners.get(bundle);
+         if (listeners == null)
+         {
+            listeners = new CopyOnWriteArrayList<BundleListener>();
+            bundleListeners.put(bundle, listeners);
+         }
+         if (listeners.contains(listener) == false)
+            listeners.add(listener);
+      }
+   }
+
+   @Override
+   public void removeBundleListener(Bundle bundle, BundleListener listener)
+   {
+      if (listener == null)
+         throw new IllegalArgumentException("Null listener");
+
+      bundle = assertBundle(bundle);
+
+      synchronized (bundleListeners)
+      {
+         List<BundleListener> listeners = bundleListeners.get(bundle);
+         if (listeners != null)
+         {
+            if (listeners.size() > 1)
+               listeners.remove(listener);
+            else
+               removeBundleListeners(bundle);
+         }
+      }
+   }
+
+   @Override
+   public void removeBundleListeners(Bundle bundle)
+   {
+      synchronized (bundleListeners)
+      {
+         bundle = assertBundle(bundle);
+         bundleListeners.remove(bundle);
+      }
+   }
+
+   @Override
+   public void addFrameworkListener(Bundle bundle, FrameworkListener listener)
+   {
+      if (listener == null)
+         throw new IllegalArgumentException("Null listener");
+
+      bundle = assertBundle(bundle);
+
+      synchronized (frameworkListeners)
+      {
+         List<FrameworkListener> listeners = frameworkListeners.get(bundle);
+         if (listeners == null)
+         {
+            listeners = new CopyOnWriteArrayList<FrameworkListener>();
+            frameworkListeners.put(bundle, listeners);
+         }
+         if (listeners.contains(listener) == false)
+            listeners.add(listener);
+      }
+   }
+
+   @Override
+   public void removeFrameworkListener(Bundle bundle, FrameworkListener listener)
+   {
+      if (listener == null)
+         throw new IllegalArgumentException("Null listener");
+
+      bundle = assertBundle(bundle);
+
+      synchronized (frameworkListeners)
+      {
+         List<FrameworkListener> listeners = frameworkListeners.get(bundle);
+         if (listeners != null)
+         {
+            if (listeners.size() > 1)
+               listeners.remove(listener);
+            else
+               removeFrameworkListeners(bundle);
+         }
+      }
+   }
+
+   @Override
+   public void removeFrameworkListeners(Bundle bundle)
+   {
+      synchronized (frameworkListeners)
+      {
+         bundle = assertBundle(bundle);
+         frameworkListeners.remove(bundle);
+      }
+   }
+
+   @Override
+   public void addServiceListener(Bundle bundle, ServiceListener listener, String filterstr) throws InvalidSyntaxException
+   {
+      if (listener == null)
+         throw new IllegalArgumentException("Null listener");
+
+      bundle = assertBundle(bundle);
+
+      synchronized (serviceListeners)
+      {
+         List<ServiceListenerRegistration> listeners = serviceListeners.get(bundle);
+         if (listeners == null)
+         {
+            listeners = new CopyOnWriteArrayList<ServiceListenerRegistration>();
+            serviceListeners.put(bundle, listeners);
+         }
+
+         // If the context bundle's list of listeners already contains a
+         // listener l such that (l==listener),
+         // then this method replaces that listener's filter (which may be
+         // null) with the specified one (which may be null).
+         removeServiceListener(bundle, listener);
+
+         // Create the new listener registration
+         Filter filter = (filterstr != null ? FrameworkUtil.createFilter(filterstr) : NoFilter.INSTANCE);
+         ServiceListenerRegistration slreg = new ServiceListenerRegistration(bundle, listener, filter);
+
+         // The {@link ListenerHook} added method is called to provide the
+         // hook implementation with information on newly added service
+         // listeners.
+         // This method will be called as service listeners are added while
+         // this hook is registered
+         for (ListenerHook hook : getServiceListenerHooks())
+         {
+            try
+            {
+               hook.added(Collections.singleton(slreg.getListenerInfo()));
+            }
+            catch (RuntimeException ex)
+            {
+               log.error("Error processing ListenerHook: " + hook, ex);
+            }
+         }
+
+         // Add the listener to the list
+         listeners.add(slreg);
+      }
+   }
+
+   @Override
+   public Collection<ListenerInfo> getServiceListenerInfos(Bundle bundle)
+   {
+      Collection<ListenerInfo> listeners = new ArrayList<ListenerInfo>();
+      for (Entry<Bundle, List<ServiceListenerRegistration>> entry : serviceListeners.entrySet())
+      {
+         if (bundle == null || assertBundle(bundle).equals(entry.getKey()))
+         {
+            for (ServiceListenerRegistration aux : entry.getValue())
+            {
+               ListenerInfo info = aux.getListenerInfo();
+               listeners.add(info);
+            }
+         }
+      }
+      return Collections.unmodifiableCollection(listeners);
+   }
+
+   @Override
+   public void removeServiceListener(Bundle bundle, ServiceListener listener)
+   {
+      if (listener == null)
+         throw new IllegalArgumentException("Null listener");
+
+      bundle = assertBundle(bundle);
+
+      synchronized (serviceListeners)
+      {
+         List<ServiceListenerRegistration> listeners = serviceListeners.get(bundle);
+         if (listeners != null)
+         {
+            ServiceListenerRegistration slreg = new ServiceListenerRegistration(bundle, listener, NoFilter.INSTANCE);
+            int index = listeners.indexOf(slreg);
+            if (index >= 0)
+            {
+               slreg = listeners.remove(index);
+
+               // The {@link ListenerHook} 'removed' method is called to
+               // provide the hook implementation with information on newly
+               // removed service listeners.
+               // This method will be called as service listeners are
+               // removed while this hook is registered.
+               for (ListenerHook hook : getServiceListenerHooks())
+               {
+                  try
+                  {
+                     ListenerInfoImpl info = (ListenerInfoImpl)slreg.getListenerInfo();
+                     info.setRemoved(true);
+                     hook.removed(Collections.singleton(info));
+                  }
+                  catch (RuntimeException ex)
+                  {
+                     log.error("Error processing ListenerHook: " + hook, ex);
+                  }
+               }
+            }
+         }
+      }
+   }
+
+   @Override
+   public void removeServiceListeners(Bundle bundle)
+   {
+      synchronized (serviceListeners)
+      {
+         Collection<ListenerInfo> listenerInfos = getServiceListenerInfos(bundle);
+         serviceListeners.remove(assertBundle(bundle));
+
+         // The {@link ListenerHook} 'removed' method is called to provide
+         // the hook implementation with information on newly removed service
+         // listeners.
+         // This method will be called as service listeners are removed while
+         // this hook is registered.
+         for (ListenerHook hook : getServiceListenerHooks())
+         {
+            try
+            {
+               hook.removed(listenerInfos);
+            }
+            catch (RuntimeException ex)
+            {
+               log.error("Error processing ListenerHook: " + hook, ex);
+            }
+         }
+      }
+   }
+
+   private List<ListenerHook> getServiceListenerHooks()
+   {
+      BundleContext context = getBundleManager().getSystemContext();
+      ServiceReference[] srefs = null;
+      try
+      {
+         srefs = context.getServiceReferences(ListenerHook.class.getName(), null);
+      }
+      catch (InvalidSyntaxException e)
+      {
+         // ignore
+      }
+      if (srefs == null)
+         return Collections.emptyList();
+
+      List<ListenerHook> hooks = new ArrayList<ListenerHook>();
+      for (ServiceReference sref : srefs)
+         hooks.add((ListenerHook)context.getService(sref));
+
+      return Collections.unmodifiableList(hooks);
+   }
+
+   @Override
+   public void fireBundleEvent(final Bundle bundle, final int type)
+   {
+      // Get a snapshot of the current listeners
+      final List<BundleListener> listeners = new ArrayList<BundleListener>();
+      synchronized (bundleListeners)
+      {
+         for (Entry<Bundle, List<BundleListener>> entry : bundleListeners.entrySet())
+         {
+            for (BundleListener listener : entry.getValue())
+            {
+               listeners.add(listener);
+            }
+         }
+      }
+
+      // Expose the bundl wrapper not the state itself
+      final BundleEvent event = new OSGiBundleEvent(type, assertBundle(bundle));
+      final String typeName = ConstantsHelper.bundleEvent(event.getType());
+
+      if (infoEvents.contains(ConstantsHelper.bundleEvent(event.getType())))
+         log.info("Bundle " + typeName + ": " + bundle);
+      else
+         log.debug("Bundle " + typeName + ": " + bundle);
+
+      // Nobody is interested
+      if (listeners.isEmpty())
+         return;
+
+      // Are we active?
+      if (getBundleManager().isFrameworkActive() == false)
+         return;
+
+      Runnable runnable = new Runnable()
+      {
+         public void run()
+         {
+            // Synchronous listeners first
+            for (BundleListener listener : listeners)
+            {
+               try
+               {
+                  if (listener instanceof SynchronousBundleListener)
+                     listener.bundleChanged(event);
+               }
+               catch (Throwable t)
+               {
+                  log.warn("Error while firing " + typeName + " for bundle " + bundle, t);
+               }
+            }
+
+            // BundleListeners are called with a BundleEvent object when a
+            // bundle has been
+            // installed, resolved, started, stopped, updated, unresolved,
+            // or uninstalled
+            if (asyncBundleEvents.contains(type))
+            {
+               for (BundleListener listener : listeners)
+               {
+                  try
+                  {
+                     if (listener instanceof SynchronousBundleListener == false)
+                        listener.bundleChanged(event);
+                  }
+                  catch (Throwable t)
+                  {
+                     log.warn("Error while firing " + typeName + " for bundle " + this, t);
+                  }
+               }
+            }
+         }
+      };
+
+      // Fire the event in a runnable
+      fireEvent(runnable, synchronous);
+   }
+
+   @Override
+   public void fireFrameworkEvent(final Bundle bundle, final int type, final Throwable throwable)
+   {
+      // Get a snapshot of the current listeners
+      final ArrayList<FrameworkListener> listeners = new ArrayList<FrameworkListener>();
+      synchronized (frameworkListeners)
+      {
+         for (Entry<Bundle, List<FrameworkListener>> entry : frameworkListeners.entrySet())
+         {
+            for (FrameworkListener listener : entry.getValue())
+            {
+               listeners.add(listener);
+            }
+         }
+      }
+
+      // Nobody is interested
+      if (listeners.isEmpty())
+         return;
+
+      // Are we active?
+      if (getBundleManager().isFrameworkActive() == false)
+         return;
+
+      Runnable runnable = new Runnable()
+      {
+         public void run()
+         {
+            // Expose the wrapper not the state itself
+            FrameworkEvent event = new OSGiFrameworkEvent(type, assertBundle(bundle), throwable);
+            String typeName = ConstantsHelper.frameworkEvent(event.getType());
+
+            if (infoEvents.contains(ConstantsHelper.frameworkEvent(event.getType())))
+               log.info("Framwork " + typeName);
+            else
+               log.debug("Framwork " + typeName);
+
+            // Nobody is interested
+            if (frameworkListeners.isEmpty())
+               return;
+
+            // Are we active?
+            if (getBundleManager().isFrameworkActive() == false)
+               return;
+
+            // Call the listeners
+            for (FrameworkListener listener : listeners)
+            {
+               try
+               {
+                  listener.frameworkEvent(event);
+               }
+               catch (RuntimeException ex)
+               {
+                  log.warn("Error while firing " + typeName + " for framework", ex);
+
+                  // The Framework must publish a FrameworkEvent.ERROR if
+                  // a callback to an
+                  // event listener generates an unchecked exception -
+                  // except when the callback
+                  // happens while delivering a FrameworkEvent.ERROR
+                  if (type != FrameworkEvent.ERROR)
+                  {
+                     fireFrameworkEvent(bundle, FrameworkEvent.ERROR, ex);
+                  }
+               }
+               catch (Throwable t)
+               {
+                  log.warn("Error while firing " + typeName + " for framework", t);
+               }
+            }
+         }
+      };
+
+      // Fire the event in a runnable
+      fireEvent(runnable, synchronous);
+   }
+
+   @Override
+   public void fireServiceEvent(Bundle bundle, int type, final OSGiServiceState service)
+   {
+      // Get a snapshot of the current listeners
+      List<ServiceListenerRegistration> listeners = new ArrayList<ServiceListenerRegistration>();
+      synchronized (serviceListeners)
+      {
+         for (Entry<Bundle, List<ServiceListenerRegistration>> entry : serviceListeners.entrySet())
+         {
+            for (ServiceListenerRegistration listener : entry.getValue())
+            {
+               BundleContext context = listener.getBundleContext();
+               if (context != null)
+                  listeners.add(listener);
+            }
+         }
+      }
+
+      // Expose the wrapper not the state itself
+      ServiceEvent event = new OSGiServiceEvent(type, service.getReferenceInternal());
+      String typeName = ConstantsHelper.serviceEvent(event.getType());
+
+      if (infoEvents.contains(ConstantsHelper.serviceEvent(event.getType())))
+         log.info("Service " + typeName + ": " + service);
+      else
+         log.debug("Service " + typeName + ": " + service);
+
+      // Do nothing if the Framework is not active
+      if (getBundleManager().isFrameworkActive() == false)
+         return;
+
+      // Call the registered event hooks
+      listeners = processEventHooks(listeners, event);
+
+      // Nobody is interested
+      if (listeners.isEmpty())
+         return;
+
+      // Call the listeners. All service events are synchronously delivered
+      for (ServiceListenerRegistration listener : listeners)
+      {
+         try
+         {
+            String filterstr = listener.filter.toString();
+            if (listener.filter.match(service))
+            {
+               AccessControlContext accessControlContext = listener.accessControlContext;
+               if (accessControlContext == null || service.hasPermission(accessControlContext))
+                  listener.listener.serviceChanged(event);
+            }
+
+            // The MODIFIED_ENDMATCH event is synchronously delivered after
+            // the service properties have been modified.
+            // This event is only delivered to listeners which were added
+            // with a non-null filter where
+            // the filter matched the service properties prior to the
+            // modification but the filter does
+            // not match the modified service properties.
+            else if (filterstr != null && ServiceEvent.MODIFIED == event.getType())
+            {
+               if (listener.filter.match(service.getPreviousProperties()))
+               {
+                  event = new OSGiServiceEvent(ServiceEvent.MODIFIED_ENDMATCH, service.getReferenceInternal());
+                  AccessControlContext accessControlContext = listener.accessControlContext;
+                  if (accessControlContext == null || service.hasPermission(accessControlContext))
+                     listener.listener.serviceChanged(event);
+               }
+            }
+         }
+         catch (Throwable t)
+         {
+            log.warn("Error while firing " + typeName + " for service " + service, t);
+         }
+      }
+   }
+
+   private List<ServiceListenerRegistration> processEventHooks(List<ServiceListenerRegistration> listeners, final ServiceEvent event)
+   {
+      // Collect the BundleContexts
+      Collection<BundleContext> contexts = new HashSet<BundleContext>();
+      for (ServiceListenerRegistration listener : listeners)
+      {
+         BundleContext context = listener.getBundleContext();
+         if (context != null)
+            contexts.add(context);
+      }
+      contexts = new RemoveOnlyCollection<BundleContext>(contexts);
+
+      // Call the registered event hooks
+      List<EventHook> eventHooks = getEventHooks();
+      for (EventHook hook : eventHooks)
+      {
+         try
+         {
+            hook.event(event, contexts);
+         }
+         catch (Exception ex)
+         {
+            log.warn("Error while calling EventHook: " + hook, ex);
+         }
+      }
+
+      // Remove the listeners that have been filtered by the EventHooks
+      if (contexts.size() != listeners.size())
+      {
+         Iterator<ServiceListenerRegistration> it = listeners.iterator();
+         while (it.hasNext())
+         {
+            ServiceListenerRegistration slreg = it.next();
+            if (contexts.contains(slreg.getBundleContext()) == false)
+               it.remove();
+         }
+      }
+      return listeners;
+   }
+
+   private List<EventHook> getEventHooks()
+   {
+      List<EventHook> hooks = new ArrayList<EventHook>();
+      BundleContext context = getBundleManager().getSystemContext();
+      ServiceReference[] srefs = null;
+      try
+      {
+         srefs = context.getServiceReferences(EventHook.class.getName(), null);
+      }
+      catch (InvalidSyntaxException e)
+      {
+         // ignore
+      }
+      if (srefs != null)
+      {
+         // The calling order of the hooks is defined by the reversed
+         // compareTo ordering of their Service
+         // Reference objects. That is, the service with the highest ranking
+         // number is called first.
+         List<ServiceReference> sortedRefs = new ArrayList<ServiceReference>(Arrays.asList(srefs));
+         Collections.reverse(sortedRefs);
+
+         for (ServiceReference sref : sortedRefs)
+            hooks.add((EventHook)context.getService(sref));
+      }
+      return hooks;
+   }
+
+   private static Bundle assertBundle(Bundle bundle)
+   {
+      if (bundle == null)
+         throw new IllegalArgumentException("Null bundle");
+
+      // Expose the wrapper not the state itself
+      if (bundle instanceof AbstractBundleState)
+         bundle = ((AbstractBundleState)bundle).getBundleInternal();
+
+      return bundle;
+   }
+
+   private void fireEvent(Runnable runnable, boolean synchronous)
+   {
+      if (synchronous)
+      {
+         runnable.run();
+      }
+      else
+      {
+         executorService.execute(runnable);
+      }
+   }
+
+   /**
+    * Filter and AccessControl for service events
+    */
+   static class ServiceListenerRegistration
+   {
+      private Bundle bundle;
+      private ServiceListener listener;
+      private Filter filter;
+      private ListenerInfo info;
+
+      // Any access control context
+      AccessControlContext accessControlContext;
+
+      ServiceListenerRegistration(Bundle bundle, ServiceListener listener, Filter filter)
+      {
+         if (bundle == null)
+            throw new IllegalArgumentException("Null bundle");
+         if (listener == null)
+            throw new IllegalArgumentException("Null listener");
+         if (filter == null)
+            throw new IllegalArgumentException("Null filter");
+
+         this.bundle = assertBundle(bundle);
+         this.listener = listener;
+         this.filter = filter;
+         this.info = new ListenerInfoImpl(this);
+
+         if (System.getSecurityManager() != null)
+            accessControlContext = AccessController.getContext();
+      }
+
+      public BundleContext getBundleContext()
+      {
+         return bundle.getBundleContext();
+      }
+
+      public ListenerInfo getListenerInfo()
+      {
+         return info;
+      }
+
+      @Override
+      public int hashCode()
+      {
+         return listener.hashCode();
+      }
+
+      @Override
+      public boolean equals(Object obj)
+      {
+         if (obj instanceof ServiceListenerRegistration == false)
+            return false;
+
+         // Only the ServiceListener instance determins equality
+         ServiceListenerRegistration other = (ServiceListenerRegistration)obj;
+         return other.listener.equals(listener);
+      }
+
+      @Override
+      public String toString()
+      {
+         String className = listener.getClass().getName();
+         return "ServiceListener[" + bundle + "," + className + "," + filter + "]";
+      }
+   }
+
+   static class ListenerInfoImpl implements ListenerInfo
+   {
+      private BundleContext context;
+      private ServiceListener listener;
+      private String filter;
+      private boolean removed;
+
+      ListenerInfoImpl(ServiceListenerRegistration slreg)
+      {
+         this.context = slreg.bundle.getBundleContext();
+         this.listener = slreg.listener;
+         this.filter = slreg.filter.toString();
+      }
+
+      @Override
+      public BundleContext getBundleContext()
+      {
+         return context;
+      }
+
+      @Override
+      public String getFilter()
+      {
+         return filter;
+      }
+
+      @Override
+      public boolean isRemoved()
+      {
+         return removed;
+      }
+
+      public void setRemoved(boolean removed)
+      {
+         this.removed = removed;
+      }
+
+      @Override
+      public int hashCode()
+      {
+         return toString().hashCode();
+      }
+
+      @Override
+      public boolean equals(Object obj)
+      {
+         // Two ListenerInfos are equals if they refer to the same listener
+         // for a given addition and removal life cycle.
+         // If the same listener is added again, it must have a different
+         // ListenerInfo which is not equal to this ListenerInfo.
+         return super.equals(obj);
+      }
+
+      @Override
+      public String toString()
+      {
+         String className = listener.getClass().getName();
+         return "ListenerInfo[" + context + "," + className + "," + removed + "]";
+      }
+   }
+
+   static class OSGiFrameworkEvent extends FrameworkEvent
+   {
+      private static final long serialVersionUID = 6505331543651318189L;
+
+      public OSGiFrameworkEvent(int type, Bundle bundle, Throwable throwable)
+      {
+         super(type, bundle, throwable);
+      }
+
+      @Override
+      public String toString()
+      {
+         return "FrameworkEvent[type=" + ConstantsHelper.frameworkEvent(getType()) + ",source=" + getSource() + "]";
+      }
+   }
+
+   static class OSGiBundleEvent extends BundleEvent
+   {
+      private static final long serialVersionUID = -2705304702665185935L;
+
+      public OSGiBundleEvent(int type, Bundle bundle)
+      {
+         super(type, bundle);
+      }
+
+      @Override
+      public String toString()
+      {
+         return "BundleEvent[type=" + ConstantsHelper.bundleEvent(getType()) + ",source=" + getSource() + "]";
+      }
+   }
+
+   static class OSGiServiceEvent extends ServiceEvent
+   {
+      private static final long serialVersionUID = 62018288275708239L;
+
+      public OSGiServiceEvent(int type, ServiceReference reference)
+      {
+         super(type, reference);
+      }
+
+      @Override
+      public String toString()
+      {
+         return "ServiceEvent[type=" + ConstantsHelper.serviceEvent(getType()) + ",source=" + getSource() + "]";
+      }
+   }
+}

Deleted: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/metadata/pom.xml
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/metadata/pom.xml	2010-04-01 12:33:35 UTC (rev 103420)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/metadata/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-  <!-- ====================================================================== -->
-  <!--                                                                        -->
-  <!--  JBoss, the OpenSource J2EE webOS                                      -->
-  <!--                                                                        -->
-  <!--  Distributable under LGPL license.                                     -->
-  <!--  See terms of license at http://www.gnu.org.                           -->
-  <!--                                                                        -->
-  <!-- ====================================================================== -->
-
-  <!-- $Id$ -->
-
-  <!-- 
-     Set these VM properties in your IDE debugger
-     
-     -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target}
-     -Dlog4j.configuration=log4j-console.xml
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <name>JBossOSGi Framework - Metadata</name>
-  <groupId>org.jboss.osgi.framework</groupId>
-  <artifactId>jboss-osgi-framework-metadata</artifactId>
-  <packaging>jar</packaging>
-
-  <parent>
-    <groupId>org.jboss.osgi.framework</groupId>
-    <artifactId>jboss-osgi-framework-parent</artifactId>
-    <version>1.0.0.Alpha5-SNAPSHOT</version>
-  </parent>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-client-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-vfs</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.kernel</groupId>
-      <artifactId>jboss-kernel</artifactId>
-    </dependency>
-    
-    <!-- OSGi Dependencies -->
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-    </plugins>
-  </build>
-</project>

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/metadata/pom.xml (from rev 103434, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/metadata/pom.xml)
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/metadata/pom.xml	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/metadata/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  <!-- ====================================================================== -->
+  <!--                                                                        -->
+  <!--  JBoss, the OpenSource J2EE webOS                                      -->
+  <!--                                                                        -->
+  <!--  Distributable under LGPL license.                                     -->
+  <!--  See terms of license at http://www.gnu.org.                           -->
+  <!--                                                                        -->
+  <!-- ====================================================================== -->
+
+  <!-- $Id$ -->
+
+  <!-- 
+     Set these VM properties in your IDE debugger
+     
+     -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target}
+     -Dlog4j.configuration=log4j-console.xml
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <name>JBossOSGi Framework - Metadata</name>
+  <groupId>org.jboss.osgi.framework</groupId>
+  <artifactId>jboss-osgi-framework-metadata</artifactId>
+  <packaging>jar</packaging>
+
+  <parent>
+    <groupId>org.jboss.osgi.framework</groupId>
+    <artifactId>jboss-osgi-framework-parent</artifactId>
+    <version>1.0.0.Alpha4</version>
+  </parent>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-client-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-spi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-vfs</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.kernel</groupId>
+      <artifactId>jboss-kernel</artifactId>
+    </dependency>
+    
+    <!-- OSGi Dependencies -->
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.core</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+    </plugins>
+  </build>
+</project>

Deleted: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/pom.xml
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/pom.xml	2010-04-01 12:33:35 UTC (rev 103420)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -1,307 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-  <!-- ====================================================================== -->
-  <!--                                                                        -->
-  <!--  JBoss, the OpenSource J2EE webOS                                      -->
-  <!--                                                                        -->
-  <!--  Distributable under LGPL license.                                     -->
-  <!--  See terms of license at http://www.gnu.org.                           -->
-  <!--                                                                        -->
-  <!-- ====================================================================== -->
-
-  <!-- $Id$ -->
-
-<!-- 
-  Set these VM properties in your IDE debugger
-   
-  -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} 
-  -Dlog4j.configuration=log4j-console.xml 
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <name>JBossOSGi Framework</name>
-  <groupId>org.jboss.osgi.framework</groupId>
-  <artifactId>jboss-osgi-framework-parent</artifactId>
-  <packaging>pom</packaging>
-
-  <version>1.0.0.Alpha5-SNAPSHOT</version>
-
-  <parent>
-    <groupId>org.jboss.osgi</groupId>
-    <artifactId>jboss-osgi-parent</artifactId>
-    <version>1.0.5</version>
-  </parent>
-
-  <!-- Subversion -->
-  <scm>
-    <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/jboss-osgi/projects/runtime/framework/trunk</connection>
-    <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/jboss-osgi/projects/runtime/framework/trunk</developerConnection>
-    <url>http://fisheye.jboss.com/qsearch/JBossOSGi</url>
-  </scm>
-
-  <!-- Modules -->
-  <modules>
-    <module>core</module>
-    <module>metadata</module>
-    <module>vfs21</module>
-    <module>vfs30</module>
-    <module>bundle</module>
-  </modules>
-  
-  <!-- Properties -->
-  <properties>
-    <version.apache.felix.configadmin>1.0.10</version.apache.felix.configadmin>
-    <version.apache.felix.log>1.0.0</version.apache.felix.log>
-    <version.apache.felix.metatype>1.0.2</version.apache.felix.metatype>
-    <version.jboss.classloading>2.2.0.Alpha4</version.jboss.classloading>
-    <version.jboss.deployers>2.2.0.Alpha4</version.jboss.deployers>
-    <version.jboss.kernel>2.2.0.Alpha9</version.jboss.kernel>
-    <version.jboss.logging>2.2.0.CR1</version.jboss.logging>
-    <version.jboss.mdr>2.2.0.Alpha2</version.jboss.mdr>
-    <version.jboss.osgi.apache.xerces>2.9.1.SP3</version.jboss.osgi.apache.xerces>
-    <version.jboss.osgi.common>1.0.3</version.jboss.osgi.common>
-    <version.jboss.osgi.common.core>2.2.13.GA</version.jboss.osgi.common.core>
-    <version.jboss.osgi.deployers>1.0.6-SNAPSHOT</version.jboss.osgi.deployers>
-    <version.jboss.osgi.deployment>1.0.2</version.jboss.osgi.deployment>
-    <version.jboss.osgi.equinox>3.5.2</version.jboss.osgi.equinox>
-    <version.jboss.osgi.felix>2.0.4</version.jboss.osgi.felix>
-    <version.jboss.osgi.husky>1.0.4</version.jboss.osgi.husky>
-    <version.jboss.osgi.jaxb>2.1.10.SP3</version.jboss.osgi.jaxb>
-    <version.jboss.osgi.jmx>1.0.4</version.jboss.osgi.jmx>
-    <version.jboss.osgi.jndi>1.0.3</version.jboss.osgi.jndi>
-    <version.jboss.osgi.reflect>2.2.0</version.jboss.osgi.reflect>
-    <version.jboss.osgi.spi>1.0.5.SP1</version.jboss.osgi.spi>
-    <version.jboss.osgi.vfs>1.0.0</version.jboss.osgi.vfs>
-    <version.jboss.osgi.xml.binding>2.0.2.Beta4</version.jboss.osgi.xml.binding>
-    <version.jboss.test>1.1.4.GA</version.jboss.test>
-    <version.ops4j.pax.web>0.7.2</version.ops4j.pax.web>
-    <version.osgi>4.2.0</version.osgi>
-  </properties>
-
-  <!-- Dependency Management -->
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.jboss.cl</groupId>
-        <artifactId>jboss-classloading</artifactId>
-        <version>${version.jboss.classloading}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.cl</groupId>
-        <artifactId>jboss-classloading-vfs</artifactId>
-        <version>${version.jboss.classloading}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-client-spi</artifactId>
-        <version>${version.jboss.deployers}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-spi</artifactId>
-        <version>${version.jboss.deployers}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-vfs</artifactId>
-        <version>${version.jboss.deployers}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.kernel</groupId>
-        <artifactId>jboss-kernel</artifactId>
-        <version>${version.jboss.kernel}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.kernel</groupId>
-        <artifactId>jboss-jmx-aop-mc-int</artifactId>
-        <version>${version.jboss.kernel}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.kernel</groupId>
-        <artifactId>jboss-jmx-mc-int</artifactId>
-        <version>${version.jboss.kernel}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss</groupId>
-        <artifactId>jboss-mdr</artifactId>
-        <version>${version.jboss.mdr}</version>
-      </dependency>
-      
-      <!-- JBoss OSGi Dependencies -->
-      <dependency>
-        <groupId>org.jboss.osgi</groupId>
-        <artifactId>jboss-osgi-spi</artifactId>
-        <version>${version.jboss.osgi.spi}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.deployers</groupId>
-        <artifactId>jboss-osgi-deployers-vfs21</artifactId>
-        <version>${version.jboss.osgi.deployers}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.deployers</groupId>
-        <artifactId>jboss-osgi-deployers-vfs30</artifactId>
-        <version>${version.jboss.osgi.deployers}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.deployment</groupId>
-        <artifactId>jboss-osgi-deployment</artifactId>
-        <version>${version.jboss.osgi.deployment}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.equinox</groupId>
-        <artifactId>jboss-osgi-equinox</artifactId>
-        <version>${version.jboss.osgi.equinox}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.felix</groupId>
-        <artifactId>jboss-osgi-felix</artifactId>
-        <version>${version.jboss.osgi.felix}</version>
-      </dependency>
-
-      <!-- OSGi Dependencies -->
-      <dependency>
-        <groupId>org.osgi</groupId>
-        <artifactId>org.osgi.core</artifactId>
-        <version>${version.osgi}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.osgi</groupId>
-        <artifactId>org.osgi.compendium</artifactId>
-        <version>${version.osgi}</version>
-      </dependency>
-
-      <!-- Test bundles dependencies -->
-      <dependency>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.configadmin</artifactId>
-        <version>${version.apache.felix.configadmin}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.log</artifactId>
-        <version>${version.apache.felix.log}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.metatype</artifactId>
-        <version>${version.apache.felix.metatype}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.bundles</groupId>
-        <artifactId>jboss-osgi-apache-xerces</artifactId>
-        <version>${version.jboss.osgi.apache.xerces}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.bundles</groupId>
-        <artifactId>jboss-osgi-common</artifactId>
-        <version>${version.jboss.osgi.common}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.bundles</groupId>
-        <artifactId>jboss-osgi-common-core</artifactId>
-        <version>${version.jboss.osgi.common.core}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.bundles</groupId>
-        <artifactId>jboss-osgi-husky</artifactId>
-        <version>${version.jboss.osgi.husky}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.bundles</groupId>
-        <artifactId>jboss-osgi-jaxb</artifactId>
-        <version>${version.jboss.osgi.jaxb}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.jmx</groupId>
-        <artifactId>jboss-osgi-jmx</artifactId>
-        <version>${version.jboss.osgi.jmx}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.jndi</groupId>
-        <artifactId>jboss-osgi-jndi</artifactId>
-        <version>${version.jboss.osgi.jndi}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.bundles</groupId>
-        <artifactId>jboss-osgi-reflect</artifactId>
-        <version>${version.jboss.osgi.reflect}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.bundles</groupId>
-        <artifactId>jboss-osgi-xml-binding</artifactId>
-        <version>${version.jboss.osgi.xml.binding}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.ops4j.pax.web</groupId>
-        <artifactId>pax-web-jetty-bundle</artifactId>
-        <version>${version.ops4j.pax.web}</version>
-      </dependency>
-
-      <!-- Test Dependencies -->
-      <dependency>
-        <groupId>org.jboss.test</groupId>
-        <artifactId>jboss-test</artifactId>
-        <version>${version.jboss.test}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.vfs</groupId>
-        <artifactId>jboss-osgi-vfs21</artifactId>
-        <version>${version.jboss.osgi.vfs}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.osgi.vfs</groupId>
-        <artifactId>jboss-osgi-vfs30</artifactId>
-        <version>${version.jboss.osgi.vfs}</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <!-- Profiles -->
-  <profiles>
-  
-    <!-- 
-      Name: distro 
-      Desc: Build the distribution 
-    -->
-    <profile>
-      <id>distro</id>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <skipTests>true</skipTests>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-
-    <!--
-      Name: remote-testing 
-      Descr: Setup for remote integration testing
-    -->
-    <profile>
-      <id>remote-testing</id>
-      <activation>
-        <property>
-          <name>target.container</name>
-        </property>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <skipTests>true</skipTests>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/pom.xml (from rev 103434, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/pom.xml)
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/pom.xml	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+  <!-- ====================================================================== -->
+  <!--                                                                        -->
+  <!--  JBoss, the OpenSource J2EE webOS                                      -->
+  <!--                                                                        -->
+  <!--  Distributable under LGPL license.                                     -->
+  <!--  See terms of license at http://www.gnu.org.                           -->
+  <!--                                                                        -->
+  <!-- ====================================================================== -->
+
+  <!-- $Id$ -->
+
+<!-- 
+  Set these VM properties in your IDE debugger
+   
+  -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} 
+  -Dlog4j.configuration=log4j-console.xml 
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <name>JBossOSGi Framework</name>
+  <groupId>org.jboss.osgi.framework</groupId>
+  <artifactId>jboss-osgi-framework-parent</artifactId>
+  <packaging>pom</packaging>
+
+  <version>1.0.0.Alpha4</version>
+
+  <parent>
+    <groupId>org.jboss.osgi</groupId>
+    <artifactId>jboss-osgi-parent</artifactId>
+    <version>1.0.5</version>
+  </parent>
+
+  <!-- Subversion -->
+  <scm>
+    <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossas/projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4</connection>
+    <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossas/projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4</developerConnection>
+    <url>http://fisheye.jboss.com/qsearch/JBossOSGi/tags/jboss-osgi-framework-1.0.0.Alpha4</url>
+  </scm>
+
+  <!-- Modules -->
+  <modules>
+    <module>core</module>
+    <module>metadata</module>
+    <module>vfs21</module>
+    <module>vfs30</module>
+    <module>bundle</module>
+  </modules>
+  
+  <!-- Properties -->
+  <properties>
+    <version.apache.felix.configadmin>1.0.10</version.apache.felix.configadmin>
+    <version.apache.felix.log>1.0.0</version.apache.felix.log>
+    <version.apache.felix.metatype>1.0.2</version.apache.felix.metatype>
+    <version.jboss.classloading>2.2.0.Alpha4</version.jboss.classloading>
+    <version.jboss.deployers>2.2.0.Alpha4</version.jboss.deployers>
+    <version.jboss.kernel>2.2.0.Alpha9</version.jboss.kernel>
+    <version.jboss.logging>2.2.0.CR1</version.jboss.logging>
+    <version.jboss.mdr>2.2.0.Alpha2</version.jboss.mdr>
+    <version.jboss.osgi.apache.xerces>2.9.1.SP3</version.jboss.osgi.apache.xerces>
+    <version.jboss.osgi.common>1.0.3</version.jboss.osgi.common>
+    <version.jboss.osgi.common.core>2.2.13.GA</version.jboss.osgi.common.core>
+    <version.jboss.osgi.deployers>1.0.6</version.jboss.osgi.deployers>
+    <version.jboss.osgi.deployment>1.0.2</version.jboss.osgi.deployment>
+    <version.jboss.osgi.equinox>3.5.2</version.jboss.osgi.equinox>
+    <version.jboss.osgi.felix>2.0.4</version.jboss.osgi.felix>
+    <version.jboss.osgi.husky>1.0.4</version.jboss.osgi.husky>
+    <version.jboss.osgi.jaxb>2.1.10.SP3</version.jboss.osgi.jaxb>
+    <version.jboss.osgi.jmx>1.0.4</version.jboss.osgi.jmx>
+    <version.jboss.osgi.jndi>1.0.3</version.jboss.osgi.jndi>
+    <version.jboss.osgi.reflect>2.2.0</version.jboss.osgi.reflect>
+    <version.jboss.osgi.spi>1.0.5.SP1</version.jboss.osgi.spi>
+    <version.jboss.osgi.vfs>1.0.0</version.jboss.osgi.vfs>
+    <version.jboss.osgi.xml.binding>2.0.2.Beta4</version.jboss.osgi.xml.binding>
+    <version.jboss.test>1.1.4.GA</version.jboss.test>
+    <version.ops4j.pax.web>0.7.2</version.ops4j.pax.web>
+    <version.osgi>4.2.0</version.osgi>
+  </properties>
+
+  <!-- Dependency Management -->
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.jboss.cl</groupId>
+        <artifactId>jboss-classloading</artifactId>
+        <version>${version.jboss.classloading}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.cl</groupId>
+        <artifactId>jboss-classloading-vfs</artifactId>
+        <version>${version.jboss.classloading}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-client-spi</artifactId>
+        <version>${version.jboss.deployers}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-spi</artifactId>
+        <version>${version.jboss.deployers}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.deployers</groupId>
+        <artifactId>jboss-deployers-vfs</artifactId>
+        <version>${version.jboss.deployers}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.kernel</groupId>
+        <artifactId>jboss-kernel</artifactId>
+        <version>${version.jboss.kernel}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.kernel</groupId>
+        <artifactId>jboss-jmx-aop-mc-int</artifactId>
+        <version>${version.jboss.kernel}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.kernel</groupId>
+        <artifactId>jboss-jmx-mc-int</artifactId>
+        <version>${version.jboss.kernel}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-mdr</artifactId>
+        <version>${version.jboss.mdr}</version>
+      </dependency>
+      
+      <!-- JBoss OSGi Dependencies -->
+      <dependency>
+        <groupId>org.jboss.osgi</groupId>
+        <artifactId>jboss-osgi-spi</artifactId>
+        <version>${version.jboss.osgi.spi}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.deployers</groupId>
+        <artifactId>jboss-osgi-deployers-vfs21</artifactId>
+        <version>${version.jboss.osgi.deployers}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.deployers</groupId>
+        <artifactId>jboss-osgi-deployers-vfs30</artifactId>
+        <version>${version.jboss.osgi.deployers}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.deployment</groupId>
+        <artifactId>jboss-osgi-deployment</artifactId>
+        <version>${version.jboss.osgi.deployment}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.equinox</groupId>
+        <artifactId>jboss-osgi-equinox</artifactId>
+        <version>${version.jboss.osgi.equinox}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.felix</groupId>
+        <artifactId>jboss-osgi-felix</artifactId>
+        <version>${version.jboss.osgi.felix}</version>
+      </dependency>
+
+      <!-- OSGi Dependencies -->
+      <dependency>
+        <groupId>org.osgi</groupId>
+        <artifactId>org.osgi.core</artifactId>
+        <version>${version.osgi}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.osgi</groupId>
+        <artifactId>org.osgi.compendium</artifactId>
+        <version>${version.osgi}</version>
+      </dependency>
+
+      <!-- Test bundles dependencies -->
+      <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.configadmin</artifactId>
+        <version>${version.apache.felix.configadmin}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.log</artifactId>
+        <version>${version.apache.felix.log}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.metatype</artifactId>
+        <version>${version.apache.felix.metatype}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.bundles</groupId>
+        <artifactId>jboss-osgi-apache-xerces</artifactId>
+        <version>${version.jboss.osgi.apache.xerces}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.bundles</groupId>
+        <artifactId>jboss-osgi-common</artifactId>
+        <version>${version.jboss.osgi.common}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.bundles</groupId>
+        <artifactId>jboss-osgi-common-core</artifactId>
+        <version>${version.jboss.osgi.common.core}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.bundles</groupId>
+        <artifactId>jboss-osgi-husky</artifactId>
+        <version>${version.jboss.osgi.husky}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.bundles</groupId>
+        <artifactId>jboss-osgi-jaxb</artifactId>
+        <version>${version.jboss.osgi.jaxb}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.jmx</groupId>
+        <artifactId>jboss-osgi-jmx</artifactId>
+        <version>${version.jboss.osgi.jmx}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.jndi</groupId>
+        <artifactId>jboss-osgi-jndi</artifactId>
+        <version>${version.jboss.osgi.jndi}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.bundles</groupId>
+        <artifactId>jboss-osgi-reflect</artifactId>
+        <version>${version.jboss.osgi.reflect}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.bundles</groupId>
+        <artifactId>jboss-osgi-xml-binding</artifactId>
+        <version>${version.jboss.osgi.xml.binding}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.ops4j.pax.web</groupId>
+        <artifactId>pax-web-jetty-bundle</artifactId>
+        <version>${version.ops4j.pax.web}</version>
+      </dependency>
+
+      <!-- Test Dependencies -->
+      <dependency>
+        <groupId>org.jboss.test</groupId>
+        <artifactId>jboss-test</artifactId>
+        <version>${version.jboss.test}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.vfs</groupId>
+        <artifactId>jboss-osgi-vfs21</artifactId>
+        <version>${version.jboss.osgi.vfs}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.jboss.osgi.vfs</groupId>
+        <artifactId>jboss-osgi-vfs30</artifactId>
+        <version>${version.jboss.osgi.vfs}</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
+  <!-- Profiles -->
+  <profiles>
+  
+    <!-- 
+      Name: distro 
+      Desc: Build the distribution 
+    -->
+    <profile>
+      <id>distro</id>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <skipTests>true</skipTests>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <!--
+      Name: remote-testing 
+      Descr: Setup for remote integration testing
+    -->
+    <profile>
+      <id>remote-testing</id>
+      <activation>
+        <property>
+          <name>target.container</name>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <skipTests>true</skipTests>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
+</project>

Deleted: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs21/pom.xml
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/vfs21/pom.xml	2010-04-01 12:33:35 UTC (rev 103420)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs21/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!-- -->
-<!-- JBoss, the OpenSource J2EE webOS -->
-<!-- -->
-<!-- Distributable under LGPL license. -->
-<!-- See terms of license at http://www.gnu.org. -->
-<!-- -->
-<!-- ====================================================================== -->
-
-<!-- $Id$ -->
-
-<!-- Set these VM properties in your IDE debugger -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} -Dlog4j.configuration=log4j-console.xml -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <name>JBossOSGi Framework - VFS21</name>
-  <groupId>org.jboss.osgi.framework</groupId>
-  <artifactId>jboss-osgi-framework-vfs21</artifactId>
-  <packaging>jar</packaging>
-
-  <parent>
-    <groupId>org.jboss.osgi.framework</groupId>
-    <artifactId>jboss-osgi-framework-parent</artifactId>
-    <version>1.0.0.Alpha5-SNAPSHOT</version>
-  </parent>
-
-  <!-- Properties -->
-  <properties>
-    <version.jboss.classloading>2.2.0.Alpha1</version.jboss.classloading>
-    <version.jboss.deployers>2.2.0.Alpha1</version.jboss.deployers>
-    <version.jboss.kernel>2.2.0.Alpha1</version.jboss.kernel>
-  </properties>
-  
-  <!-- Dependencies -->
-  <dependencies>
-    <dependency>
-      <groupId>org.jboss.osgi.framework</groupId>
-      <artifactId>jboss-osgi-framework-core</artifactId>
-      <version>${version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.deployers</groupId>
-      <artifactId>jboss-osgi-deployers-vfs21</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.vfs</groupId>
-      <artifactId>jboss-osgi-vfs21</artifactId>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-    </plugins>
-  </build>
-</project>

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs21/pom.xml (from rev 103434, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/vfs21/pom.xml)
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs21/pom.xml	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs21/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- -->
+<!-- JBoss, the OpenSource J2EE webOS -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<!-- Set these VM properties in your IDE debugger -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} -Dlog4j.configuration=log4j-console.xml -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <name>JBossOSGi Framework - VFS21</name>
+  <groupId>org.jboss.osgi.framework</groupId>
+  <artifactId>jboss-osgi-framework-vfs21</artifactId>
+  <packaging>jar</packaging>
+
+  <parent>
+    <groupId>org.jboss.osgi.framework</groupId>
+    <artifactId>jboss-osgi-framework-parent</artifactId>
+    <version>1.0.0.Alpha4</version>
+  </parent>
+
+  <!-- Properties -->
+  <properties>
+    <version.jboss.classloading>2.2.0.Alpha1</version.jboss.classloading>
+    <version.jboss.deployers>2.2.0.Alpha1</version.jboss.deployers>
+    <version.jboss.kernel>2.2.0.Alpha1</version.jboss.kernel>
+  </properties>
+  
+  <!-- Dependencies -->
+  <dependencies>
+    <dependency>
+      <groupId>org.jboss.osgi.framework</groupId>
+      <artifactId>jboss-osgi-framework-core</artifactId>
+      <version>${version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.deployers</groupId>
+      <artifactId>jboss-osgi-deployers-vfs21</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.vfs</groupId>
+      <artifactId>jboss-osgi-vfs21</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+    </plugins>
+  </build>
+</project>

Deleted: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs30/pom.xml
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/vfs30/pom.xml	2010-04-01 12:33:35 UTC (rev 103420)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs30/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- ====================================================================== -->
-<!-- -->
-<!-- JBoss, the OpenSource J2EE webOS -->
-<!-- -->
-<!-- Distributable under LGPL license. -->
-<!-- See terms of license at http://www.gnu.org. -->
-<!-- -->
-<!-- ====================================================================== -->
-
-<!-- $Id$ -->
-
-<!-- Set these VM properties in your IDE debugger -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} -Dlog4j.configuration=log4j-console.xml -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <name>JBossOSGi Framework - VFS30</name>
-  <groupId>org.jboss.osgi.framework</groupId>
-  <artifactId>jboss-osgi-framework-vfs30</artifactId>
-  <packaging>jar</packaging>
-
-  <parent>
-    <groupId>org.jboss.osgi.framework</groupId>
-    <artifactId>jboss-osgi-framework-parent</artifactId>
-    <version>1.0.0.Alpha5-SNAPSHOT</version>
-  </parent>
-
-  <!-- Properties -->
-  <properties>
-    <version.jboss.vfs>3.0.0.CR5</version.jboss.vfs>
-  </properties>
-  
-  <!-- Dependencies -->
-  <dependencies>
-    <dependency>
-      <groupId>org.jboss.osgi.framework</groupId>
-      <artifactId>jboss-osgi-framework-core</artifactId>
-      <version>${version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.deployers</groupId>
-      <artifactId>jboss-osgi-deployers-vfs30</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.osgi.vfs</groupId>
-      <artifactId>jboss-osgi-vfs30</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-vfs</artifactId>
-      <version>${version.jboss.vfs}</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-    </plugins>
-  </build>
-</project>

Copied: projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs30/pom.xml (from rev 103434, projects/jboss-osgi/projects/runtime/framework/branches/1.0.0.Alpha4/vfs30/pom.xml)
===================================================================
--- projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs30/pom.xml	                        (rev 0)
+++ projects/jboss-osgi/projects/runtime/framework/tags/jboss-osgi-framework-1.0.0.Alpha4/vfs30/pom.xml	2010-04-01 14:43:57 UTC (rev 103435)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- -->
+<!-- JBoss, the OpenSource J2EE webOS -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- -->
+<!-- ====================================================================== -->
+
+<!-- $Id$ -->
+
+<!-- Set these VM properties in your IDE debugger -Dlog4j.output.dir=${workspace_loc:jboss-osgi-framework/target} -Dlog4j.configuration=log4j-console.xml -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <name>JBossOSGi Framework - VFS30</name>
+  <groupId>org.jboss.osgi.framework</groupId>
+  <artifactId>jboss-osgi-framework-vfs30</artifactId>
+  <packaging>jar</packaging>
+
+  <parent>
+    <groupId>org.jboss.osgi.framework</groupId>
+    <artifactId>jboss-osgi-framework-parent</artifactId>
+    <version>1.0.0.Alpha4</version>
+  </parent>
+
+  <!-- Properties -->
+  <properties>
+    <version.jboss.vfs>3.0.0.CR5</version.jboss.vfs>
+  </properties>
+  
+  <!-- Dependencies -->
+  <dependencies>
+    <dependency>
+      <groupId>org.jboss.osgi.framework</groupId>
+      <artifactId>jboss-osgi-framework-core</artifactId>
+      <version>${version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.deployers</groupId>
+      <artifactId>jboss-osgi-deployers-vfs30</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.osgi.vfs</groupId>
+      <artifactId>jboss-osgi-vfs30</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-vfs</artifactId>
+      <version>${version.jboss.vfs}</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+    </plugins>
+  </build>
+</project>




More information about the jboss-cvs-commits mailing list