You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ti...@apache.org on 2011/08/25 19:26:20 UTC

svn commit: r1161653 [1/2] - in /aries/trunk/ejb: ./ ejb-modeller-itest/ ejb-modeller-itest/src/test/java/org/apache/aries/ejb/container/itest/ openejb-extender-itest/ openejb-extender-itest/src/ openejb-extender-itest/src/test/ openejb-extender-itest/...

Author: timothyjward
Date: Thu Aug 25 17:26:19 2011
New Revision: 1161653

URL: http://svn.apache.org/viewvc?rev=1161653&view=rev
Log:
ARIES-718: Support for modular EJBs using OpenEJB

Added:
    aries/trunk/ejb/openejb-extender/
    aries/trunk/ejb/openejb-extender-itest/
    aries/trunk/ejb/openejb-extender-itest/pom.xml
    aries/trunk/ejb/openejb-extender-itest/src/
    aries/trunk/ejb/openejb-extender-itest/src/test/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatefulSessionBean.java
    aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatelessSessionBean.java
    aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/LocalIface.java
    aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/RemoteIface.java
    aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/XMLBean.java
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/ejb/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/ejb/openejb/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/ejb/openejb/extender/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/ejb/openejb/extender/itest/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/ejb/openejb/extender/itest/EJBBundleTest.java
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/runner/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/runner/platform/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/runner/platform/equinox/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/
    aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_1.MF
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_2.MF
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_3.MF
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_4.MF
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/META-INF/
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/META-INF/platform-equinox/
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/ejb-jar.xml
    aries/trunk/ejb/openejb-extender-itest/src/test/resources/ss-runner.properties
    aries/trunk/ejb/openejb-extender/pom.xml
    aries/trunk/ejb/openejb-extender/src/
    aries/trunk/ejb/openejb-extender/src/main/
    aries/trunk/ejb/openejb-extender/src/main/java/
    aries/trunk/ejb/openejb-extender/src/main/java/org/
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/AllCollection.java
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/AriesProxyService.java
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/EJBExtender.java
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/EJBServiceFactory.java
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/OSGiFinder.java
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/OSGiTransactionManager.java
    aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/RunningApplication.java
    aries/trunk/ejb/openejb-extender/src/test/
    aries/trunk/ejb/openejb-extender/src/test/java/
Modified:
    aries/trunk/ejb/ejb-modeller-itest/pom.xml
    aries/trunk/ejb/ejb-modeller-itest/src/test/java/org/apache/aries/ejb/container/itest/EJBModellingTest.java
    aries/trunk/ejb/pom.xml

Modified: aries/trunk/ejb/ejb-modeller-itest/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/ejb-modeller-itest/pom.xml?rev=1161653&r1=1161652&r2=1161653&view=diff
==============================================================================
--- aries/trunk/ejb/ejb-modeller-itest/pom.xml (original)
+++ aries/trunk/ejb/ejb-modeller-itest/pom.xml Thu Aug 25 17:26:19 2011
@@ -56,11 +56,13 @@
             <groupId>org.ops4j.pax.logging</groupId>
             <artifactId>pax-logging-api</artifactId>
             <scope>test</scope>
+            <version>1.6.3</version>
         </dependency>
         <dependency>
             <groupId>org.ops4j.pax.logging</groupId>
             <artifactId>pax-logging-service</artifactId>
             <scope>test</scope>
+            <version>1.6.3</version>
         </dependency>
         <dependency>
           <groupId>org.ops4j.pax.runner</groupId>
@@ -272,6 +274,31 @@
     		<version>1.0</version>
 		</dependency>
 		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
+    		<version>1.1.2</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jaspic_1.0_spec</artifactId>
+    		<version>1.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jaxb_2.2_spec</artifactId>
+    		<version>1.0.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-stax-api_1.2_spec</artifactId>
+    		<version>1.1</version>
+		</dependency>
+		<dependency>
+		    <groupId>org.apache.geronimo.specs</groupId>
+		    <artifactId>geronimo-jaxws_2.2_spec</artifactId>
+		    <version>1.1</version>
+		</dependency>
+		<dependency>
 			<groupId>org.apache.servicemix.bundles</groupId>
 			<artifactId>org.apache.servicemix.bundles.wsdl4j-1.6.1</artifactId>
 			<version>4.0-m1</version>
@@ -279,6 +306,11 @@
 			<scope>test</scope>
 		</dependency>
 		<dependency>
+    		<groupId>org.apache.servicemix.bundles</groupId>
+    		<artifactId>org.apache.servicemix.bundles.jaxb-impl</artifactId>
+    		<version>2.2.1.1_2</version>
+		</dependency>
+		<dependency>
     		<groupId>commons-cli</groupId>
     		<artifactId>commons-cli</artifactId>
     		<version>1.2</version>

Modified: aries/trunk/ejb/ejb-modeller-itest/src/test/java/org/apache/aries/ejb/container/itest/EJBModellingTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/ejb-modeller-itest/src/test/java/org/apache/aries/ejb/container/itest/EJBModellingTest.java?rev=1161653&r1=1161652&r2=1161653&view=diff
==============================================================================
--- aries/trunk/ejb/ejb-modeller-itest/src/test/java/org/apache/aries/ejb/container/itest/EJBModellingTest.java (original)
+++ aries/trunk/ejb/ejb-modeller-itest/src/test/java/org/apache/aries/ejb/container/itest/EJBModellingTest.java Thu Aug 25 17:26:19 2011
@@ -19,10 +19,10 @@ import static org.apache.aries.itest.Ext
 import static org.apache.aries.itest.ExtraOptions.paxLogging;
 import static org.apache.aries.itest.ExtraOptions.testOptions;
 import static org.apache.aries.itest.ExtraOptions.transactionBootDelegation;
-import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.ops4j.pax.exam.CoreOptions.equinox;
+import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -374,7 +374,7 @@ public class EJBModellingTest extends Ab
     return testOptions(
         paxLogging("DEBUG"),
         transactionBootDelegation(),
-        vmOption("-Dorg.osgi.framework.system.packages.extra=sun.misc"),
+        vmOption("-Dorg.osgi.framework.system.packages.extra=sun.misc,javax.xml.namespace;version=1.1"),
         // Bundles
         mavenBundle("org.apache.aries", "org.apache.aries.util"),
         mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"),
@@ -397,6 +397,7 @@ public class EJBModellingTest extends Ab
         mavenBundle("org.apache.openwebbeans", "openwebbeans-web"),
         mavenBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.javassist"),
         mavenBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.wsdl4j-1.6.1"),
+        mavenBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.jaxb-impl"),
         mavenBundle("org.apache.geronimo.specs", "geronimo-annotation_1.1_spec"),
         mavenBundle("org.apache.geronimo.specs", "geronimo-ejb_3.1_spec"),
         mavenBundle("org.apache.geronimo.specs", "geronimo-jcdi_1.0_spec"),
@@ -415,6 +416,11 @@ public class EJBModellingTest extends Ab
         mavenBundle("org.apache.geronimo.specs", "geronimo-jacc_1.4_spec"),
         mavenBundle("org.apache.geronimo.specs", "geronimo-validation_1.0_spec"),
         mavenBundle("org.apache.geronimo.specs", "geronimo-jaxrs_1.1_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-ws-metadata_2.0_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jaspic_1.0_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jaxb_2.2_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-stax-api_1.2_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jaxws_2.2_spec"),
         mavenBundle("commons-cli", "commons-cli"),
         mavenBundle("commons-lang", "commons-lang"),
         mavenBundle("commons-beanutils", "commons-beanutils"),

Added: aries/trunk/ejb/openejb-extender-itest/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/pom.xml?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/pom.xml (added)
+++ aries/trunk/ejb/openejb-extender-itest/pom.xml Thu Aug 25 17:26:19 2011
@@ -0,0 +1,463 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <groupId>org.apache.aries</groupId>
+        <artifactId>java5-parent</artifactId>
+        <version>0.4.1-SNAPSHOT</version>
+        <relativePath />
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.aries.ejb</groupId>
+    <artifactId>org.apache.aries.ejb.openejb.extender.itest</artifactId>
+    <version>0.1-SNAPSHOT</version>
+    <name>Aries EJB Extender iTests</name>
+
+     <scm>
+         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/ejb/ejb-modeller-itest</connection>
+         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/ejb/ejb-modeller-itest</developerConnection>
+         <url>http://svn.apache.org/viewvc/aries/trunk/ejb/ejb-modeller-itest</url>
+     </scm>
+   
+    <dependencies>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse.tycho</groupId>
+            <artifactId>org.eclipse.osgi</artifactId>
+            <version>3.7.0.v20110613</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.logging</groupId>
+            <artifactId>pax-logging-api</artifactId>
+            <scope>test</scope>
+            <version>1.6.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.logging</groupId>
+            <artifactId>pax-logging-service</artifactId>
+            <scope>test</scope>
+            <version>1.6.3</version>
+        </dependency>
+        <dependency>
+          <groupId>org.ops4j.pax.runner</groupId>
+          <artifactId>pax-runner-no-jcl</artifactId>
+          <version>1.7.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam-container-default</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam-junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries</groupId>
+            <artifactId>org.apache.aries.util</artifactId>
+            <version>0.4-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries.proxy</groupId>
+            <artifactId>org.apache.aries.proxy</artifactId>
+            <version>0.4-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>asm</groupId>
+            <artifactId>asm-all</artifactId>
+            <version>3.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries.blueprint</groupId>
+            <artifactId>org.apache.aries.blueprint</artifactId>
+            <version>0.3.2-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.aries.transaction</groupId>
+            <artifactId>org.apache.aries.transaction.manager</artifactId>
+            <version>0.3</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.url</groupId>
+            <artifactId>pax-url-mvn</artifactId>
+            <scope>test</scope>
+        </dependency>
+        
+        <dependency>
+          <groupId>org.apache.aries.testsupport</groupId>
+          <artifactId>org.apache.aries.testsupport.unit</artifactId>
+          <version>0.3.1-SNAPSHOT</version>
+          <scope>test</scope>
+        </dependency>        
+        <dependency>
+        	<groupId>org.apache.aries.ejb</groupId>
+        	<artifactId>org.apache.aries.ejb.openejb.extender</artifactId>
+        	<version>0.1-SNAPSHOT</version>
+        	<type>bundle</type>
+        	<scope>test</scope>
+        </dependency>
+        <dependency>
+    		<groupId>org.apache.openejb</groupId>
+    		<artifactId>openejb-core</artifactId>
+    		<version>4.0.0-SNAPSHOT</version>
+    		<type>jar</type>
+    		<scope>test</scope>
+    	</dependency>
+    	<dependency>
+    		<groupId>org.apache.openejb</groupId>
+    		<artifactId>openejb-api</artifactId>
+    		<version>4.0.0-SNAPSHOT</version>
+    		<type>jar</type>
+    		<scope>test</scope>
+    	</dependency>
+    	<dependency>
+    		<groupId>org.apache.openejb</groupId>
+    		<artifactId>openejb-javaagent</artifactId>
+    		<version>4.0.0-SNAPSHOT</version>
+    		<type>jar</type>
+    		<scope>test</scope>
+    	</dependency>
+    	<dependency>
+			<groupId>org.apache.openejb</groupId>
+			<artifactId>openejb-jee</artifactId>
+			<version>4.0.0-SNAPSHOT</version>
+			<type>pom</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.openejb</groupId>
+			<artifactId>openejb-loader</artifactId>
+			<version>4.0.0-SNAPSHOT</version>
+			<type>pom</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.servicemix.bundles</groupId>
+    		<artifactId>org.apache.servicemix.bundles.javassist</artifactId>
+    		<version>3.12.1.ga_1</version>
+		</dependency>
+		<dependency>
+   	 		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-annotation_1.1_spec</artifactId>
+    		<version>1.0.1</version>
+		</dependency>
+		<dependency>
+   	 		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-ejb_3.1_spec</artifactId>
+    		<version>1.0.2</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+    		<version>1.0</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-el_2.2_spec</artifactId>
+    		<version>1.0.2</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jta_1.1_spec</artifactId>
+    		<version>1.1.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jaxrpc_1.1_spec</artifactId>
+    		<version>2.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-atinject_1.0_spec</artifactId>
+    		<version>1.0</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-servlet_3.0_spec</artifactId>
+    		<version>1.0</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jsp_2.2_spec</artifactId>
+    		<version>1.0</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-interceptor_1.1_spec</artifactId>
+    		<version>1.0</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-saaj_1.3_spec</artifactId>
+    		<version>1.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-activation_1.1_spec</artifactId>
+    		<version>1.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
+    		<version>1.0.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jpa_2.0_spec</artifactId>
+    		<version>1.1</version>
+    	</dependency>
+    	<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-j2ee-connector_1.6_spec</artifactId>
+    		<version>1.0</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jacc_1.4_spec</artifactId>
+    		<version>1.0</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-validation_1.0_spec</artifactId>
+    		<version>1.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jaxrs_1.1_spec</artifactId>
+    		<version>1.0</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
+    		<version>1.1.2</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jaspic_1.0_spec</artifactId>
+    		<version>1.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jaxb_2.2_spec</artifactId>
+    		<version>1.0.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-stax-api_1.2_spec</artifactId>
+    		<version>1.1</version>
+		</dependency>
+		<dependency>
+		    <groupId>org.apache.geronimo.specs</groupId>
+		    <artifactId>geronimo-jaxws_2.2_spec</artifactId>
+		    <version>1.1</version>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.specs</groupId>
+    		<artifactId>geronimo-jms_1.1_spec</artifactId>
+    		<version>1.1.1</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.servicemix.bundles</groupId>
+			<artifactId>org.apache.servicemix.bundles.wsdl4j-1.6.1</artifactId>
+			<version>4.0-m1</version>
+			<type>bundle</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.servicemix.bundles</groupId>
+    		<artifactId>org.apache.servicemix.bundles.jaxb-impl</artifactId>
+    		<version>2.2.1.1_2</version>
+		</dependency>
+		<dependency>
+    		<groupId>commons-cli</groupId>
+    		<artifactId>commons-cli</artifactId>
+    		<version>1.2</version>
+		</dependency>
+		<dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.6</version>
+        </dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.components</groupId>
+			<artifactId>geronimo-connector</artifactId>
+			<version>3.0</version>
+			<type>bundle</type>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.components</groupId>
+			<artifactId>geronimo-transaction</artifactId>
+			<version>3.0</version>
+			<type>bundle</type>
+			<scope>compile</scope>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<version>1.1.1-SNAPSHOT</version>
+			<type>jar</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-impl</artifactId>
+			<version>1.1.1-SNAPSHOT</version>
+			<type>jar</type>
+			<scope>test</scope>
+		</dependency>
+	    <dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-ee</artifactId>
+			<version>1.1.1-SNAPSHOT</version>
+			<type>jar</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-ejb</artifactId>
+			<version>1.1.1-SNAPSHOT</version>
+			<type>jar</type>
+			<scope>test-SNAPSHOT</scope>
+		</dependency>
+	    <dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-web</artifactId>
+			<version>1.1.1-SNAPSHOT</version>
+			<type>jar</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.apache.geronimo.bundles</groupId>
+    		<artifactId>scannotation</artifactId>
+    		<version>1.0.2_1</version>
+		</dependency>
+		
+		<dependency>
+			<groupId>org.apache.xbean</groupId>
+			<artifactId>xbean-asm-shaded</artifactId>
+			<version>3.8-SNAPSHOT</version>
+			<type>bundle</type>
+			<scope>test</scope>
+		</dependency>
+	    <dependency>
+			<groupId>org.apache.xbean</groupId>
+			<artifactId>xbean-finder-shaded</artifactId>
+			<version>3.8-SNAPSHOT</version>
+			<type>bundle</type>
+			<scope>test</scope>
+		</dependency>
+	    <dependency>
+			<groupId>org.apache.xbean</groupId>
+			<artifactId>xbean-naming</artifactId>
+			<version>3.8-SNAPSHOT</version>
+			<type>bundle</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.xbean</groupId>
+			<artifactId>xbean-reflect</artifactId>
+			<version>3.8-SNAPSHOT</version>
+			<type>bundle</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>commons-beanutils</groupId>
+			<artifactId>commons-beanutils</artifactId>
+			<version>1.8.3</version>
+			<type>jar</type>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>commons-collections</groupId>
+			<artifactId>commons-collections</artifactId>
+			<version>3.2.1</version>
+			<type>jar</type>
+			<scope>test</scope>
+		</dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.servicemix.tooling</groupId>
+                <artifactId>depends-maven-plugin</artifactId>
+                <version>1.2</version>
+                <executions>
+                    <execution>
+                        <id>generate-depends-file</id>
+                        <goals>
+                            <goal>generate-depends-file</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>ci-build-profile</id>
+            <activation>
+                <property>
+                    <name>maven.repo.local</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <!--
+                              when the local repo location has been specified, we need
+                              to pass on this information to PAX mvn url
+                            -->
+                            <argLine>-Dorg.ops4j.pax.url.mvn.localRepository=${maven.repo.local}
+                            </argLine>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>

Added: aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatefulSessionBean.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatefulSessionBean.java?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatefulSessionBean.java (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatefulSessionBean.java Thu Aug 25 17:26:19 2011
@@ -0,0 +1,24 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package beans;
+
+import javax.ejb.Stateful;
+
+@Stateful(name="Stateful")
+public class StatefulSessionBean {
+
+}

Added: aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatelessSessionBean.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatelessSessionBean.java?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatelessSessionBean.java (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/StatelessSessionBean.java Thu Aug 25 17:26:19 2011
@@ -0,0 +1,27 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package beans;
+
+import javax.ejb.Stateless;
+
+@Stateless(name="Annotated")
+public class StatelessSessionBean {
+
+  public String getStatelessString() {
+    return "A Stateless Call";
+  }
+}

Added: aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/LocalIface.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/LocalIface.java?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/LocalIface.java (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/LocalIface.java Thu Aug 25 17:26:19 2011
@@ -0,0 +1,5 @@
+package beans.xml;
+
+public interface LocalIface {
+  public String getLocalString();
+}

Added: aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/RemoteIface.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/RemoteIface.java?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/RemoteIface.java (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/RemoteIface.java Thu Aug 25 17:26:19 2011
@@ -0,0 +1,5 @@
+package beans.xml;
+
+public interface RemoteIface {
+  public String getRemoteString();
+}

Added: aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/XMLBean.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/XMLBean.java?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/XMLBean.java (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/java/beans/xml/XMLBean.java Thu Aug 25 17:26:19 2011
@@ -0,0 +1,14 @@
+package beans.xml;
+
+public class XMLBean implements LocalIface, RemoteIface {
+
+  public String getRemoteString() {
+    return "A Remote Call";
+  }
+
+  public String getLocalString() {
+    
+    return "A Local Call";
+  }
+
+}

Added: aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/ejb/openejb/extender/itest/EJBBundleTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/ejb/openejb/extender/itest/EJBBundleTest.java?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/ejb/openejb/extender/itest/EJBBundleTest.java (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/java/org/apache/aries/ejb/openejb/extender/itest/EJBBundleTest.java Thu Aug 25 17:26:19 2011
@@ -0,0 +1,483 @@
+/*  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.aries.ejb.openejb.extender.itest;
+
+import static org.apache.aries.itest.ExtraOptions.mavenBundle;
+import static org.apache.aries.itest.ExtraOptions.paxLogging;
+import static org.apache.aries.itest.ExtraOptions.testOptions;
+import static org.apache.aries.itest.ExtraOptions.transactionBootDelegation;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.ops4j.pax.exam.CoreOptions.equinox;
+import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
+
+import org.apache.aries.itest.AbstractIntegrationTest;
+import org.apache.aries.util.io.IOUtils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Option;
+import org.ops4j.pax.exam.container.def.PaxRunnerOptions;
+import org.ops4j.pax.exam.junit.JUnit4TestRunner;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.ServiceReference;
+
+import beans.StatelessSessionBean;
+import beans.xml.LocalIface;
+import beans.xml.RemoteIface;
+
+@RunWith(JUnit4TestRunner.class)
+public class EJBBundleTest extends AbstractIntegrationTest {
+
+  private void assertXML(Bundle test, boolean exists) throws Exception {
+    ServiceReference[] local = context().getAllServiceReferences(LocalIface.class.getName(), 
+        "(&(ejb.name=XML)(ejb.type=Singleton))");
+    if(exists) {
+      assertNotNull(local);
+      assertEquals(1, local.length);
+      Object svc = context().getService(local[0]);
+      assertNotNull(svc);
+      assertEquals("A Local Call", svc.getClass().getMethod("getLocalString").invoke(svc));
+    } else {
+      assertNull(local);
+    }
+    
+    ServiceReference[] remote = context().getAllServiceReferences(RemoteIface.class.getName(), 
+    "(&(ejb.name=XML)(ejb.type=Singleton))");
+    if(exists) {
+      assertNotNull(remote);
+      assertEquals(1, remote.length);
+      Object svc = context().getService(remote[0]);
+      assertNotNull(svc);
+      assertEquals("A Remote Call", svc.getClass().getMethod("getRemoteString").invoke(svc));
+    } else {
+      assertNull(remote);
+    }
+  }
+  
+  private void assertAnnotations(Bundle test, boolean exists) throws Exception {
+    ServiceReference[] stateless = context().getAllServiceReferences(StatelessSessionBean.class.getName(), 
+        "(&(ejb.name=Annotated)(ejb.type=Stateless))");
+    if(exists) {
+      assertNotNull(stateless);
+      assertEquals(1, stateless.length);
+      Object svc = context().getService(stateless[0]);
+      assertNotNull(svc);
+      assertEquals("A Stateless Call", svc.getClass().getMethod("getStatelessString").invoke(svc));
+    } else {
+      assertNull(stateless);
+    }
+  }
+  
+  @Test
+  public void testEJBJARInZip() throws Exception {
+    
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_1.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "ejb-jar.xml", "META-INF/ejb-jar.xml");
+    addToZip(zos, "beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+
+    try {
+      test.start();
+      assertXML(test, true);
+      test.stop();
+      assertXML(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+  
+  @Test
+  public void testEJBJARAndAnnotatedInZip() throws Exception {
+    
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_1.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "ejb-jar.xml", "META-INF/ejb-jar.xml");
+    addToZip(zos, "beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class");
+    addToZip(zos, "beans/StatelessSessionBean.class");
+    addToZip(zos, "beans/StatefulSessionBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+
+    try {
+      test.start();
+      assertXML(test, true);
+      assertAnnotations(test, true);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+  
+  @Test
+  public void testAnnotatedOnlyInZip() throws Exception {
+    
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_1.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class");
+    addToZip(zos, "beans/StatelessSessionBean.class");
+    addToZip(zos, "beans/StatefulSessionBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+
+    try {
+      test.start();
+      assertXML(test, false);
+      assertAnnotations(test, true);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+  
+  @Test
+  public void testEJBJARAndAnnotatedNotOnClasspathInZip() throws Exception {
+
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_2.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "ejb-jar.xml", "META-INF/ejb-jar.xml");
+    addToZip(zos, "beans/xml/LocalIface.class", "yes/beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class", "yes/beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class", "yes/beans/xml/XMLBean.class");
+    addToZip(zos, "beans/StatelessSessionBean.class", "no/beans/StatelessSessionBean.class");
+    addToZip(zos, "beans/StatefulSessionBean.class", "no/beans/StatefulSessionBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+
+    try {
+      test.start();
+      assertXML(test, true);
+      assertAnnotations(test, false);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+
+  @Test
+  public void testEJBJARAndAnnotatedOnClasspathInZip() throws Exception {
+
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_2.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "ejb-jar.xml", "META-INF/ejb-jar.xml");
+    addToZip(zos, "beans/xml/LocalIface.class", "yes/beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class", "yes/beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class", "yes/beans/xml/XMLBean.class");
+    addToZip(zos, "beans/StatelessSessionBean.class", "yes/beans/StatelessSessionBean.class");
+    addToZip(zos, "beans/StatefulSessionBean.class", "yes/beans/StatefulSessionBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+
+    try {
+      test.start();
+      assertXML(test, true);
+      assertAnnotations(test, true);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+  
+  @Test
+  public void testEJBJARInWebZip() throws Exception {
+
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_3.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "ejb-jar.xml", "WEB-INF/ejb-jar.xml");
+    addToZip(zos, "beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+
+    try {
+      test.start();
+      assertXML(test, true);
+      assertAnnotations(test, false);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+
+  @Test
+  public void testEJBJARInWrongPlaceWebZip() throws Exception {
+
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_3.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "ejb-jar.xml", "META-INF/ejb-jar.xml");
+    addToZip(zos, "beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+    
+    try {
+      test.start();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+  
+  @Test
+  public void testEJBJARAndAnnotatedInWebZip() throws Exception {
+
+    
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_3.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "ejb-jar.xml", "WEB-INF/ejb-jar.xml");
+    addToZip(zos, "beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class");
+    addToZip(zos, "beans/StatelessSessionBean.class");
+    addToZip(zos, "beans/StatefulSessionBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+    
+    try {
+      test.start();
+      assertXML(test, true);
+      assertAnnotations(test, true);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+  
+  @Test
+  public void testAnnotatedOnlyInWebZip() throws Exception {
+
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_3.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class");
+    addToZip(zos, "beans/StatelessSessionBean.class");
+    addToZip(zos, "beans/StatefulSessionBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+    
+    try {
+      test.start();
+      assertXML(test, false);
+      assertAnnotations(test, true);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+  
+  @Test
+  public void testEJBJARAndAnnotatedNotOnClasspathInWebZip() throws Exception {
+
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_4.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "ejb-jar.xml", "WEB-INF/ejb-jar.xml");
+    addToZip(zos, "beans/xml/LocalIface.class", "yes/beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class", "yes/beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class", "yes/beans/xml/XMLBean.class");
+    addToZip(zos, "beans/StatelessSessionBean.class", "no/beans/StatelessSessionBean.class");
+    addToZip(zos, "beans/StatefulSessionBean.class", "no/beans/StatefulSessionBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+    
+    try {
+      test.start();
+      assertXML(test, true);
+      assertAnnotations(test, false);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+  
+  @Test
+  public void testEJBJARAndAnnotatedOnClasspathInWebZip() throws Exception {
+
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ZipOutputStream zos = new ZipOutputStream(baos);
+    addToZip(zos, "MANIFEST_4.MF", "META-INF/MANIFEST.MF");
+    addToZip(zos, "ejb-jar.xml", "WEB-INF/ejb-jar.xml");
+    addToZip(zos, "beans/xml/LocalIface.class", "yes/beans/xml/LocalIface.class");
+    addToZip(zos, "beans/xml/RemoteIface.class", "yes/beans/xml/RemoteIface.class");
+    addToZip(zos, "beans/xml/XMLBean.class", "yes/beans/xml/XMLBean.class");
+    addToZip(zos, "beans/StatelessSessionBean.class", "yes/beans/StatelessSessionBean.class");
+    addToZip(zos, "beans/StatefulSessionBean.class", "yes/beans/StatefulSessionBean.class");
+    zos.close();
+    
+    Bundle test = context().installBundle("", new ByteArrayInputStream(baos.toByteArray()));
+    
+    try {
+      test.start();
+      assertXML(test, true);
+      assertAnnotations(test, true);
+      test.stop();
+      assertXML(test, false);
+      assertAnnotations(test, false);
+      
+    } finally {
+      test.uninstall();
+    }
+  }
+  
+  private void addToZip(ZipOutputStream zos, String src) throws IOException {
+    addToZip(zos, src, src);
+  }
+  
+  private void addToZip(ZipOutputStream zos, String src, String outLocation) throws IOException {
+    zos.putNextEntry(new ZipEntry(outLocation));
+    IOUtils.copy(getClass().getClassLoader().
+        getResourceAsStream(src), zos);
+    zos.closeEntry();
+  }
+
+  @org.ops4j.pax.exam.junit.Configuration
+  public static Option[] configuration() {
+    return testOptions(
+        paxLogging("DEBUG"),
+        transactionBootDelegation(),
+        vmOption("-Dorg.osgi.framework.system.packages.extra=sun.misc,javax.xml.namespace;version=1.1"),
+        // Bundles
+        mavenBundle("org.apache.aries", "org.apache.aries.util"),
+        mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint"),
+        mavenBundle("asm", "asm-all"),
+        mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy"),
+        mavenBundle("org.apache.aries.transaction", "org.apache.aries.transaction.manager"),
+        mavenBundle("org.osgi", "org.osgi.compendium"),
+        mavenBundle("org.apache.aries.ejb", "org.apache.aries.ejb.openejb.extender"),
+        mavenBundle("org.apache.openejb", "openejb-core"),
+        mavenBundle("org.apache.openejb", "openejb-api"),
+        mavenBundle("org.apache.openejb", "openejb-javaagent"),
+        mavenBundle("org.apache.openejb", "openejb-jee"),
+        mavenBundle("org.apache.openejb", "openejb-loader"),
+        mavenBundle("org.apache.openwebbeans", "openwebbeans-impl"),
+        mavenBundle("org.apache.openwebbeans", "openwebbeans-spi"),
+        mavenBundle("org.apache.openwebbeans", "openwebbeans-ee"),
+        mavenBundle("org.apache.openwebbeans", "openwebbeans-ejb"),
+        mavenBundle("org.apache.openwebbeans", "openwebbeans-web"),
+        mavenBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.javassist"),
+        mavenBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.wsdl4j-1.6.1"),
+        mavenBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.jaxb-impl"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-annotation_1.1_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-ejb_3.1_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jcdi_1.0_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-el_2.2_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jta_1.1_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jaxrpc_1.1_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-atinject_1.0_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-servlet_3.0_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jsp_2.2_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-interceptor_1.1_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-saaj_1.3_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-activation_1.1_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-j2ee-management_1.1_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jpa_2.0_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-j2ee-connector_1.6_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jacc_1.4_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-validation_1.0_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jaxrs_1.1_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-ws-metadata_2.0_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jaspic_1.0_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jaxb_2.2_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-stax-api_1.2_spec"),
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jaxws_2.2_spec"),
+        //JMS is non optional if *any* EJBs are going to work, not just ones that use it :/
+        mavenBundle("org.apache.geronimo.specs", "geronimo-jms_1.1_spec"),
+        mavenBundle("commons-cli", "commons-cli"),
+        mavenBundle("commons-lang", "commons-lang"),
+        mavenBundle("commons-beanutils", "commons-beanutils"),
+        mavenBundle("commons-collections", "commons-collections"),
+        mavenBundle("org.apache.geronimo.components", "geronimo-connector"),
+        mavenBundle("org.apache.geronimo.components", "geronimo-transaction"),
+        mavenBundle("org.apache.geronimo.bundles", "scannotation"),
+        mavenBundle("org.apache.xbean", "xbean-asm-shaded"),
+        mavenBundle("org.apache.xbean", "xbean-finder-shaded"),
+        mavenBundle("org.apache.xbean", "xbean-naming"),
+        mavenBundle("org.apache.xbean", "xbean-reflect"),
+//        vmOption ("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"),
+//        waitForFrameworkStartup(),
+        
+
+        PaxRunnerOptions.rawPaxRunnerOption("config", "classpath:ss-runner.properties"),
+        equinox().version("3.7.0.v20110613"));
+  }
+
+}

Added: aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/java/org/ops4j/pax/runner/platform/equinox/internal/SsActivator.java Thu Aug 25 17:26:19 2011
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.ops4j.pax.runner.platform.equinox.internal;
+
+import org.ops4j.pax.runner.platform.PlatformBuilder;
+import org.ops4j.pax.runner.platform.builder.AbstractPlatformBuilderActivator;
+import org.osgi.framework.BundleContext;
+
+public class SsActivator extends AbstractPlatformBuilderActivator
+{
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected PlatformBuilder[] createPlatformBuilders( final BundleContext bundleContext )
+    {
+        return new PlatformBuilder[]{
+            new EquinoxPlatformBuilder( bundleContext, "3.2.1" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.3.0" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.3.1" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.3.2" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.4.0" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.4.1" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.4.2" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.5.0" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.5.1" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.6.0" ),
+            new EquinoxPlatformBuilder( bundleContext, "3.7.0.V20110613" ),
+            new EquinoxPlatformBuilderSnapshot( bundleContext )
+        };
+    }
+
+}

Added: aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_1.MF
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_1.MF?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_1.MF (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_1.MF Thu Aug 25 17:26:19 2011
@@ -0,0 +1,5 @@
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: foo
+Export-EJB: ALL
+Import-Package: javax.ejb
+

Added: aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_2.MF
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_2.MF?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_2.MF (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_2.MF Thu Aug 25 17:26:19 2011
@@ -0,0 +1,6 @@
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: foo
+Bundle-ClassPath: yes/
+Export-EJB: ALL
+Import-Package: javax.ejb
+

Added: aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_3.MF
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_3.MF?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_3.MF (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_3.MF Thu Aug 25 17:26:19 2011
@@ -0,0 +1,6 @@
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: foo
+Export-EJB: ALL
+Web-ContextPath: test
+Import-Package: javax.ejb
+

Added: aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_4.MF
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_4.MF?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_4.MF (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/resources/MANIFEST_4.MF Thu Aug 25 17:26:19 2011
@@ -0,0 +1,7 @@
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: foo
+Bundle-ClassPath: yes/
+Export-EJB: ALL
+Web-ContextPath: test
+Import-Package: javax.ejb
+

Added: aries/trunk/ejb/openejb-extender-itest/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/resources/META-INF/platform-equinox/definition-3.7.0.V20110613.xml Thu Aug 25 17:26:19 2011
@@ -0,0 +1,8 @@
+<platform>
+
+  <name>Equinox 3.7.0</name>
+  <system>mvn:org.eclipse.tycho/org.eclipse.osgi/3.7.0.v20110613</system>
+
+  <profile name="minimal" default="true"/>
+
+</platform>

Added: aries/trunk/ejb/openejb-extender-itest/src/test/resources/ejb-jar.xml
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/resources/ejb-jar.xml?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/resources/ejb-jar.xml (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/resources/ejb-jar.xml Thu Aug 25 17:26:19 2011
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+    <!--
+        Licensed to the Apache Software Foundation (ASF) under one or more
+        contributor license agreements. See the NOTICE file distributed with
+        this work for additional information regarding copyright ownership.
+        The ASF licenses this file to You under the Apache License, Version
+        2.0 (the "License"); you may not use this file except in compliance
+        with the License. You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+        applicable law or agreed to in writing, software distributed under the
+        License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+        CONDITIONS OF ANY KIND, either express or implied. See the License for
+        the specific language governing permissions and limitations under the
+        License.
+    -->
+<ejb-jar version="3.1" xmlns="http://java.sun.com/xml/ns/javaee" 
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
+                             http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd">
+
+<enterprise-beans>
+	<session>
+		<ejb-name>XML</ejb-name>
+		<business-local>beans.xml.LocalIface</business-local>
+		<business-remote>beans.xml.RemoteIface</business-remote>
+		<ejb-class>beans.xml.XMLBean</ejb-class>
+		<session-type>Singleton</session-type>
+	</session>
+</enterprise-beans>
+</ejb-jar>
\ No newline at end of file

Added: aries/trunk/ejb/openejb-extender-itest/src/test/resources/ss-runner.properties
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender-itest/src/test/resources/ss-runner.properties?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender-itest/src/test/resources/ss-runner.properties (added)
+++ aries/trunk/ejb/openejb-extender-itest/src/test/resources/ss-runner.properties Thu Aug 25 17:26:19 2011
@@ -0,0 +1,225 @@
+# --------------------------------------------------------------------------------------------------------------------
+# The following bundles will always be instantiated
+# --------------------------------------------------------------------------------------------------------------------
+# handler service (extender for url stream handlers)
+handler.service=org.ops4j.pax.runner.handler.internal.Activator
+# provision service (extender for scanners)
+provision.service=org.ops4j.pax.scanner.internal.Activator
+# platform service (extender for platforms)
+platform.service=org.ops4j.pax.runner.platform.internal.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Known handlers
+# --------------------------------------------------------------------------------------------------------------------
+# assembly protocol handler
+handler.assembly=org.ops4j.pax.url.assembly.internal.Activator
+# cache protocol handler
+handler.cache=org.ops4j.pax.url.cache.internal.Activator
+# classpath protocol handler
+handler.classpath=org.ops4j.pax.url.classpath.internal.Activator
+# dir protocol handler
+handler.dir=org.ops4j.pax.url.dir.internal.Activator
+# mvn protocol handler
+handler.mvn=org.ops4j.pax.url.mvn.internal.Activator
+# link protocol handler
+handler.link=org.ops4j.pax.url.link.internal.Activator
+# obr protocol handler
+handler.obr=org.ops4j.pax.url.obr.internal.Activator
+# war protocol handler
+handler.war=org.ops4j.pax.url.war.internal.Activator
+# wrap protocol handler
+handler.wrap=org.ops4j.pax.url.wrap.internal.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Known scanners
+# --------------------------------------------------------------------------------------------------------------------
+# scan-bundle
+scanner.bundle=org.ops4j.pax.scanner.bundle.internal.Activator
+# scan-composite
+scanner.composite=org.ops4j.pax.scanner.composite.internal.Activator
+# scan-dir
+scanner.dir=org.ops4j.pax.scanner.dir.internal.Activator
+# scan-file
+scanner.features=org.ops4j.pax.scanner.features.internal.Activator
+# scan-file
+scanner.file=org.ops4j.pax.scanner.file.internal.Activator
+# scan-obr
+scanner.obr=org.ops4j.pax.scanner.obr.internal.Activator
+# scan-pom
+scanner.pom=org.ops4j.pax.scanner.pom.internal.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Known platforms
+# --------------------------------------------------------------------------------------------------------------------
+## Equinox
+platform.equinox.3.2.1=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.3.0=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.3.1=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.3.2=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.4.0=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.4.1=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.4.2=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.5.0=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.5.1=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.6.0=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.SNAPSHOT=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.V43PROTOTYPE-3.6.0.201003231329=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+platform.equinox.3.7.0.V20110613=org.ops4j.pax.runner.platform.equinox.internal.SsActivator
+# Felix
+platform.felix.1.0.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.0.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.0.3=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.0.4=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.2.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.2.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.2.2=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.4.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.4.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.6.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.6.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.8.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.1.8.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.2.0.0=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.2.0.1=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.2.0.2=org.ops4j.pax.runner.platform.felix.internal.Activator
+platform.felix.SNAPSHOT=org.ops4j.pax.runner.platform.felix.internal.Activator
+# Knopflerfish
+platform.knopflerfish.2.0.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.1=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.2=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.3=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.4=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.0.5=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.1.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.1.1=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.2.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.3.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.3.1=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.3.2=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.2.3.3=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.3.0.0=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+platform.knopflerfish.SNAPSHOT=org.ops4j.pax.runner.platform.knopflerfish.internal.Activator
+#Concierge
+platform.concierge.1.0.0=org.ops4j.pax.runner.platform.concierge.internal.Activator
+platform.concierge.SNAPSHOT=org.ops4j.pax.runner.platform.concierge.internal.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Aditional Services
+# --------------------------------------------------------------------------------------------------------------------
+service.obr=org.apache.felix.bundlerepository.Activator
+
+# --------------------------------------------------------------------------------------------------------------------
+# Default values.
+# Default values are used in case that an option / configuration property is not set.
+# --------------------------------------------------------------------------------------------------------------------
+# defaults for runner options
+# default list of handlers
+default.handlers=handler.mvn,handler.classpath,handler.war,handler.wrap,handler.obr,handler.link,handler.cache,handler.assembly,handler.dir
+# default list of scanners
+default.scanners=scanner.bundle,scanner.composite,scanner.dir,scanner.features,scanner.file,scanner.obr,scanner.pom
+# default platfom
+default.platform=platform.felix
+# default felix platform version
+default.platform.felix.version=2.0.2
+# default equinox platform version
+default.platform.equinox.version=3.5.1
+# default knopflerfish platform version
+default.platform.knopflerfish.version=2.3.3
+# default concierge platform version
+default.platform.concierge.version=1.0.0
+# default list of additional services
+default.services=service.obr
+# default obr repositories
+default.obr.repository.url=http://bundles.osgi.org/obr/browse?_xml=1&cmd=repository
+# default profiles repository
+default.profilesRepositories=http://scm.ops4j.org/repos/ops4j/projects/pax/runner-repository
+# default group id
+default.profilesGroupId=org.ops4j.pax.runner.profiles
+# default "snapshot" platform definition repository
+default.snapshotsRepository=http://scm.ops4j.org/repos/ops4j/projects/pax/runner-repository
+# default "snapshot" Felix platform definition URL
+default.felix.snapshot.definition.url=mvn:${snapshotsRepository}!org.ops4j.pax.runner.platforms/felix//xml
+# default "snapshot" Equinox platform definition URL
+default.equinox.snapshot.definition.url=mvn:${snapshotsRepository}!org.ops4j.pax.runner.platforms/equinox//xml
+# default "snapshot" Knopflerfish platform definition URL
+default.knopflerfish.snapshot.definition.url=mvn:${snapshotsRepository}!org.ops4j.pax.runner.platforms/knopflerfish//xml
+# default "snapshot" Concierge platform definition URL
+default.concierge.snapshot.definition.url=mvn:${snapshotsRepository}!org.ops4j.pax.runner.platforms/concierge//xml
+# default working directory
+default.workingDirectory=runner
+# default caching directory
+default.org.ops4j.pax.url.cache.workingDirectory=${workingDirectory}/cache
+# default platform working directory
+default.org.ops4j.pax.runner.platform.workingDirectory=${workingDirectory}
+
+
+# --------------------------------------------------------------------------------------------------------------------
+# Configuration properties alias
+# Alias are used to transform configuration properties from the fully qualified ones to simple option name or
+# to convert simple values from start arguments to the actual ones.
+# --------------------------------------------------------------------------------------------------------------------
+# aliases for runner options
+alias.platform=p
+alias.platform.equinox=platform.equinox
+alias.platform.e=platform.equinox
+alias.platform.eq=platform.equinox
+alias.platform.felix=platform.felix
+alias.platform.f=platform.felix
+alias.platform.knopflerfish=platform.knopflerfish
+alias.platform.k=platform.knopflerfish
+alias.platform.kf=platform.knopflerfish
+alias.platform.concierge=platform.concierge
+alias.platform.c=platform.concierge
+alias.version=v
+alias.snapshot=s
+alias.workingDirectory=dir
+
+# aliases for handlers
+alias.org.ops4j.pax.url.mvn.certificateCheck=certificateCheck
+alias.org.ops4j.pax.url.mvn.defaultRepositories=defaultRepositories,dr
+alias.org.ops4j.pax.url.mvn.localRepository=localRepository,lr,maven.repo.local
+alias.org.ops4j.pax.url.mvn.repositories=repositories,repos
+alias.org.ops4j.pax.url.mvn.settings=settings
+alias.org.ops4j.pax.url.mvn.useFallbackRepositories=useFallbackRepositories,ufr
+alias.org.ops4j.pax.url.obr.certificateCheck=certificateCheck
+alias.org.ops4j.pax.url.war.certificateCheck=certificateCheck
+alias.org.ops4j.pax.url.wrap.certificateCheck=certificateCheck
+alias.org.ops4j.pax.scanner.composite.certificateCheck=certificateCheck
+alias.org.ops4j.pax.scanner.features.certificateCheck=certificateCheck
+
+# aliases for platform options
+alias.org.ops4j.pax.runner.platform.bootDelegation=bootDelegation,bd
+alias.org.ops4j.pax.runner.platform.bundleStartLevel=bundleStartLevel,bsl
+alias.org.ops4j.pax.runner.platform.classpath=classPath,cp
+alias.org.ops4j.pax.runner.platform.console=console
+alias.org.ops4j.pax.runner.platform.definitionURL=definitionURL
+alias.org.ops4j.pax.runner.platform.frameworkProfile=frameworkProfile,fp
+alias.org.ops4j.pax.runner.platform.ee=ee
+alias.org.ops4j.pax.runner.platform.javaHome=javaHome,home
+alias.org.ops4j.pax.runner.platform.overwrite=overwrite
+alias.org.ops4j.pax.runner.platform.overwriteUserBundles=overwriteUserBundles
+alias.org.ops4j.pax.runner.platform.overwriteSystemBundles=overwriteSystemBundles
+alias.org.ops4j.pax.runner.platform.profileStartLevel=profileStartLevel,psl
+alias.org.ops4j.pax.runner.platform.startLevel=startLevel,sl
+alias.org.ops4j.pax.runner.platform.systemPackages=systemPackages,sp
+alias.org.ops4j.pax.runner.platform.usePersistedState=usePersistedState,ups
+alias.org.ops4j.pax.runner.platform.vmOptions=vmOptions,vmo
+alias.org.ops4j.pax.runner.platform.debugClassLoading=debugClassLoading,dcl
+alias.org.ops4j.pax.runner.platform.downloadFeedback=downloadFeedback,df
+alias.org.ops4j.pax.runner.platform.autoWrap=autoWrap
+alias.org.ops4j.pax.runner.platform.keepOriginalUrls=keepOriginalUrls,kou
+alias.org.ops4j.pax.runner.platform.bundleValidation=bundleValidation
+alias.org.ops4j.pax.runner.platform.skipInvalidBundles=skipInvalidBundles,sib
+alias.org.ops4j.pax.runner.platform.useAbsoluteFilePaths=useAbsoluteFilePaths,absoluteFilePaths,uafp
+
+# aliases for scanners
+alias.org.ops4j.pax.scanner.bundle.start=start
+alias.org.ops4j.pax.scanner.composite.start=start
+alias.org.ops4j.pax.scanner.dir.start=start
+alias.org.ops4j.pax.scanner.features.start=start
+alias.org.ops4j.pax.scanner.file.start=start
+alias.org.ops4j.pax.scanner.obr.start=start
+alias.org.ops4j.pax.scanner.pom.start=start
+
+# aliases for additional services
+alias.obr.repository.url=obrRepositories|obrRepos

Added: aries/trunk/ejb/openejb-extender/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender/pom.xml?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender/pom.xml (added)
+++ aries/trunk/ejb/openejb-extender/pom.xml Thu Aug 25 17:26:19 2011
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+     http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <groupId>org.apache.aries</groupId>
+        <artifactId>java5-parent</artifactId>
+        <version>0.4.1-SNAPSHOT</version>
+        <relativePath />
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.aries.ejb</groupId>
+    <artifactId>org.apache.aries.ejb.openejb.extender</artifactId>
+    <packaging>bundle</packaging>
+    <name>Aries OpenEJB Runtime Extender</name>
+    <version>0.1-SNAPSHOT</version>
+
+     <scm>
+         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/ejb/openejb-extender</connection>
+         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/ejb/openejb-extender</developerConnection>
+         <url>http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender</url>
+     </scm>
+
+    <properties>
+		<aries.osgi.export/>
+        <aries.osgi.private.pkg>
+          org.apache.aries.ejb.*
+        </aries.osgi.private.pkg>
+		<aries.osgi.activator>
+          org.apache.aries.ejb.openejb.extender.EJBExtender
+        </aries.osgi.activator>
+    </properties>
+
+    <dependencies>
+    	<dependency>
+    		<groupId>org.apache.aries</groupId>
+    		<artifactId>org.apache.aries.util</artifactId>
+    		<version>0.4-SNAPSHOT</version>
+    		<type>bundle</type>
+    		<scope>compile</scope>
+    	</dependency>
+    	<dependency>
+    		<groupId>org.apache.openejb</groupId>
+    		<artifactId>openejb-core</artifactId>
+    		<version>4.0.0-SNAPSHOT</version>
+    		<type>jar</type>
+    		<scope>compile</scope>
+    	</dependency>
+    	<dependency>
+    		<groupId>org.osgi</groupId>
+    		<artifactId>org.osgi.core</artifactId>
+    		<version>4.3.0</version>
+    		<type>jar</type>
+    		<scope>compile</scope>
+    	</dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+        	<groupId>org.apache.aries.testsupport</groupId>
+        	<artifactId>org.apache.aries.testsupport.unit</artifactId>
+        	<version>0.3.1-SNAPSHOT</version>
+        	<scope>compile</scope>
+        </dependency>
+        <dependency>
+        	<groupId>org.apache.geronimo.specs</groupId>
+        	<artifactId>geronimo-ejb_3.1_spec</artifactId>
+        	<version>1.0.2</version>
+        	<type>bundle</type>
+        	<scope>test</scope>
+        </dependency>
+        <dependency>
+        	<groupId>org.osgi</groupId>
+        	<artifactId>org.osgi.compendium</artifactId>
+        	<version>4.2.0</version>
+        	<type>jar</type>
+        	<scope>compile</scope>
+        </dependency>
+        <dependency>
+        	<groupId>org.apache.aries.proxy</groupId>
+        	<artifactId>org.apache.aries.proxy.api</artifactId>
+        	<version>0.4-SNAPSHOT</version>
+        	<type>jar</type>
+        	<scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+</project>

Added: aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/AllCollection.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/AllCollection.java?rev=1161653&view=auto
==============================================================================
--- aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/AllCollection.java (added)
+++ aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/AllCollection.java Thu Aug 25 17:26:19 2011
@@ -0,0 +1,77 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.aries.ejb.openejb.extender;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+public class  AllCollection<T> implements Collection<T> {
+
+  public boolean add(T object) {
+    throw new UnsupportedOperationException();
+  }
+
+  public boolean addAll(Collection<? extends T> collection) {
+    throw new UnsupportedOperationException();
+  }
+
+  public void clear() {
+    throw new UnsupportedOperationException();
+  }
+
+  public boolean contains(Object object) {
+    return true;
+  }
+
+  public boolean containsAll(Collection<?> collection) {
+    return true;
+  }
+
+  public boolean isEmpty() {
+    return false;
+  }
+
+  public Iterator<T> iterator() {
+    throw new UnsupportedOperationException();
+  }
+
+  public boolean remove(Object object) {
+    throw new UnsupportedOperationException();
+  }
+
+  public boolean removeAll(Collection<?> collection) {
+    throw new UnsupportedOperationException();
+  }
+
+  public boolean retainAll(Collection<?> collection) {
+    throw new UnsupportedOperationException();
+  }
+
+  public int size() {
+    throw new UnsupportedOperationException();
+  }
+
+  public Object[] toArray() {
+    throw new UnsupportedOperationException();
+  }
+
+  public <T> T[] toArray(T[] array) {
+    throw new UnsupportedOperationException();
+  }
+
+ 
+}