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();
+ }
+
+
+}