You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2010/03/13 17:31:55 UTC

svn commit: r922595 - in /openwebbeans/trunk: ./ samples/conversation-sample/ samples/ejb-sample/ samples/ejb-telephone/ samples/guess/ samples/jms-sample/ samples/jsf2sample/ samples/reservation/ samples/standalone-sample/ samples/tomcat-sample/ webbe...

Author: gerdogdu
Date: Sat Mar 13 16:31:54 2010
New Revision: 922595

URL: http://svn.apache.org/viewvc?rev=922595&view=rev
Log:
[OWB-325] Relocate SPI Classes to SPI Module. Change JSR299, JSR330 as optional pom dependency

Added:
    openwebbeans/trunk/samples/tomcat-sample/
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractEnterpriseProviderPlugin.java   (with props)
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java   (with props)
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java   (with props)
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java   (with props)
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java   (with props)
    openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java   (with props)
    openwebbeans/trunk/webbeans-tomcat/
Removed:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/AbstractEnterpriseProviderPlugin.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java
Modified:
    openwebbeans/trunk/pom.xml
    openwebbeans/trunk/samples/conversation-sample/pom.xml
    openwebbeans/trunk/samples/ejb-sample/pom.xml
    openwebbeans/trunk/samples/ejb-telephone/pom.xml
    openwebbeans/trunk/samples/guess/pom.xml
    openwebbeans/trunk/samples/jms-sample/pom.xml
    openwebbeans/trunk/samples/jsf2sample/pom.xml
    openwebbeans/trunk/samples/reservation/pom.xml
    openwebbeans/trunk/samples/standalone-sample/pom.xml
    openwebbeans/trunk/webbeans-ee-common/pom.xml
    openwebbeans/trunk/webbeans-ee/pom.xml
    openwebbeans/trunk/webbeans-ejb/pom.xml
    openwebbeans/trunk/webbeans-impl/pom.xml
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
    openwebbeans/trunk/webbeans-jms/pom.xml
    openwebbeans/trunk/webbeans-jsf/pom.xml
    openwebbeans/trunk/webbeans-openejb/pom.xml
    openwebbeans/trunk/webbeans-porting/pom.xml
    openwebbeans/trunk/webbeans-resource/pom.xml
    openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java
    openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceProcessor.java
    openwebbeans/trunk/webbeans-tck/pom.xml
    openwebbeans/trunk/webbeans-test/cditest-owb/pom.xml
    openwebbeans/trunk/webbeans-web/pom.xml
    openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java
    openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/lifecycle/WebContainerLifecycle.java

Modified: openwebbeans/trunk/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/pom.xml (original)
+++ openwebbeans/trunk/pom.xml Sat Mar 13 16:31:54 2010
@@ -356,6 +356,7 @@
         <module>webbeans-ejb</module>
         <module>webbeans-ee</module>
         <module>webbeans-openejb</module>
+        <module>webbeans-tomcat</module>
         <module>webbeans-jms</module>
         <module>webbeans-jsf</module>
         <module>webbeans-resource</module>

Modified: openwebbeans/trunk/samples/conversation-sample/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/conversation-sample/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/samples/conversation-sample/pom.xml (original)
+++ openwebbeans/trunk/samples/conversation-sample/pom.xml Sat Mar 13 16:31:54 2010
@@ -29,22 +29,26 @@
 	<name>Apache OpenWebBeans :: JSF Conversation Sample</name>
 
 	<dependencies>
-
+		
+		<!-- JSR-299 Impl -->
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-impl</artifactId>
 		</dependency>
 		
+		<!-- Interceptor API -->
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-interceptor_1.1_spec</artifactId>
 		</dependency>
 				
+		<!-- JSF Plugin -->
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-jsf</artifactId>
 		</dependency>
 		
+		<!-- Web Plugin -->
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-web</artifactId>
@@ -71,6 +75,24 @@
 			<artifactId>jsf-facelets</artifactId>
 			<version>1.1.14</version>
 		</dependency>
+		
+		<!-- JSR-299 API -->
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+		</dependency>
+		
+		<!-- JSR-330 API -->
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+        </dependency>
+        
+        <!-- SPI API -->
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+		</dependency>				
 
 	</dependencies>
 	

Modified: openwebbeans/trunk/samples/ejb-sample/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/ejb-sample/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/samples/ejb-sample/pom.xml (original)
+++ openwebbeans/trunk/samples/ejb-sample/pom.xml Sat Mar 13 16:31:54 2010
@@ -44,13 +44,6 @@
 	
 	<dependencies>
 
-		<!-- For Junit Test -->
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<scope>test</scope>
-		</dependency>
-		
 		<!-- JSF Facelet -->
 		<dependency>
 			<groupId>com.sun.facelets</groupId>
@@ -75,18 +68,27 @@
 			</exclusions>
 		</dependency>		
 		
+		<!-- JSR-299 API -->
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
 			<scope>provided</scope>
 		</dependency>
 
+		<!-- JSR-330 API -->
         <dependency>
              <groupId>org.apache.geronimo.specs</groupId>
              <artifactId>geronimo-atinject_1.0_spec</artifactId>
              <scope>provided</scope>
         </dependency>
-		
+        
+		<!-- SPI API -->
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<version>${project.version}</version>
+			<scope>provided</scope>
+		</dependency>		        		
 		
 		<!-- JSF Plugin -->
 		<dependency>
@@ -144,12 +146,14 @@
 			<version>${project.version}</version>
 		</dependency>
 		
+		<!-- Interceptor API -->
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-interceptor_1.1_spec</artifactId>
 			<scope>provided</scope>
 		</dependency>
 		
+		<!-- JPA API -->
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-jpa_2.0_spec</artifactId>

Modified: openwebbeans/trunk/samples/ejb-telephone/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/ejb-telephone/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/samples/ejb-telephone/pom.xml (original)
+++ openwebbeans/trunk/samples/ejb-telephone/pom.xml Sat Mar 13 16:31:54 2010
@@ -68,17 +68,27 @@
 			</exclusions>
 		</dependency>		
 		
+		<!-- JSR-299 API -->
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
 			<scope>provided</scope>
 		</dependency>
-
+		
+		<!-- JSR-330 API -->
         <dependency>
              <groupId>org.apache.geronimo.specs</groupId>
              <artifactId>geronimo-atinject_1.0_spec</artifactId>
              <scope>provided</scope>
         </dependency>
+        
+        <!-- SPI API -->
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<version>${project.version}</version>
+			<scope>provided</scope>
+		</dependency>		        
 		
 		<!-- JSF Plugin -->
 		<dependency>
@@ -87,6 +97,7 @@
 			<version>${project.version}</version>
 		</dependency>
 		
+		<!-- Web Plugin -->
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-web</artifactId>
@@ -125,22 +136,22 @@
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-ejb</artifactId>
-			<version>${project.version}</version>
 		</dependency>
 		
 		<!-- Resource  PLugin-->	
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-resource</artifactId>
-			<version>${project.version}</version>
 		</dependency>
 		
+		<!-- Interceptor API -->
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-interceptor_1.1_spec</artifactId>
 			<scope>provided</scope>
 		</dependency>
-
+		
+		<!-- JPA API -->
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-jpa_2.0_spec</artifactId>

Modified: openwebbeans/trunk/samples/guess/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/guess/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/samples/guess/pom.xml (original)
+++ openwebbeans/trunk/samples/guess/pom.xml Sat Mar 13 16:31:54 2010
@@ -30,6 +30,16 @@
 
 	<build>
 		<finalName>guess</finalName>
+		<plugins>
+			<plugin>
+				<groupId>org.mortbay.jetty</groupId>
+				<artifactId>maven-jetty-plugin</artifactId>
+				<version>6.1.18</version>
+				<configuration>
+					<scanIntervalSeconds>10</scanIntervalSeconds>
+				</configuration>
+			</plugin>
+		</plugins>		
 	</build>
         
 	<dependencies>
@@ -45,7 +55,7 @@
 		<dependency>
 			<groupId>org.apache.myfaces.core</groupId>
 			<artifactId>myfaces-api</artifactId>
-			<scope>provided</scope>
+			<version>1.2.8</version>
 		</dependency>
 						
 		<!-- JSF Plugin -->
@@ -62,62 +72,50 @@
 			<scope>provided</scope>
 		</dependency>
 
-
-         <!-- OWB implementation per application -->
+         <!-- JSR-299 implementation per application -->
          <dependency>
                  <groupId>org.apache.openwebbeans</groupId>
                  <artifactId>openwebbeans-impl</artifactId>
-                 <version>${project.version}</version>
          </dependency>
+         
+         <!-- Web Plugin -->
          <dependency>
          	<groupId>org.apache.openwebbeans</groupId>
          	<artifactId>openwebbeans-web</artifactId>
          	<version>${project.version}</version>
          </dependency>
+		
+		<!-- JSR-299 API -->
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+		</dependency>
+		
+		<!-- JSR-330 API -->
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+        </dependency>
+        
+        <!-- SPI API -->
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+		</dependency>		
 
-				
-	</dependencies>
+		<!-- Interceptor API -->	
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-interceptor_1.1_spec</artifactId>
+		</dependency>
+
+		<!-- MyFaces IMPL -->
+		<dependency>
+			<groupId>org.apache.myfaces.core</groupId>
+			<artifactId>myfaces-impl</artifactId>
+			<version>1.2.8</version>
+		</dependency>
 
-	<profiles>
-				
-		<profile>
-			<id>jetty</id>
-			<dependencies>				
-       
-				<!-- MyFaces API -->
-				<dependency>
-					<groupId>org.apache.myfaces.core</groupId>
-					<artifactId>myfaces-api</artifactId>
-					<version>1.2.8</version>
-				</dependency>
-				
-				<!-- MyFaces IMPL -->
-				<dependency>
-					<groupId>org.apache.myfaces.core</groupId>
-					<artifactId>myfaces-impl</artifactId>
-					<version>1.2.8</version>
-				</dependency>
 				
-				<!-- Interceptor API -->	
-				<dependency>
-					<groupId>org.apache.geronimo.specs</groupId>
-					<artifactId>geronimo-interceptor_1.1_spec</artifactId>
-				</dependency>
-
-			</dependencies>
-
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.mortbay.jetty</groupId>
-						<artifactId>maven-jetty-plugin</artifactId>
-						<version>6.1.18</version>
-						<configuration>
-							<scanIntervalSeconds>10</scanIntervalSeconds>
-						</configuration>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>		
-	</profiles>
+	</dependencies>
 </project>

Modified: openwebbeans/trunk/samples/jms-sample/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/jms-sample/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/samples/jms-sample/pom.xml (original)
+++ openwebbeans/trunk/samples/jms-sample/pom.xml Sat Mar 13 16:31:54 2010
@@ -40,7 +40,6 @@
 			<artifactId>jsf-facelets</artifactId>
 			<version>1.1.14</version>
 		</dependency>
-
 				
 		<!-- JSF Plugin -->
 		<dependency>
@@ -83,6 +82,28 @@
 			<artifactId>openwebbeans-jms</artifactId>
              <version>${project.version}</version>
 		</dependency>					
+		
+		<!-- JSR-299 API -->
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		
+		<!-- JSR-330 API -->
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <scope>provided</scope>
+        </dependency>
+        
+        <!-- SPI API -->
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<version>${project.version}</version>
+			<scope>provided</scope>
+		</dependency>		
 
 			
 	</dependencies>

Modified: openwebbeans/trunk/samples/jsf2sample/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/jsf2sample/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/samples/jsf2sample/pom.xml (original)
+++ openwebbeans/trunk/samples/jsf2sample/pom.xml Sat Mar 13 16:31:54 2010
@@ -30,57 +30,81 @@
 
 	<dependencies>
 
+		<!-- JSR-299 Impl -->
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-impl</artifactId>
 			<version>${project.version}</version>
 		</dependency>
 		
+		<!-- Interceptor API -->
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-interceptor_1.1_spec</artifactId>
-			<scope>runtime</scope>
 		</dependency>
 				
+		<!-- JSF Plugin -->
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-jsf</artifactId>
 			<version>${project.version}</version>
-			<scope>runtime</scope>
 		</dependency>
 		
+		<!-- Web Plugin -->
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-web</artifactId>
 			<version>${project.version}</version>
 		</dependency>			
 		
+		<!-- JSR250 API -->
 		<dependency>
 			<groupId>javax.annotation</groupId>
 			<artifactId>jsr250-api</artifactId>
 			<version>1.0</version>
 		</dependency>
-
+		
+		<!-- JSF API -->
 		<dependency>
 			<groupId>com.sun.faces</groupId>
 			<artifactId>jsf-api</artifactId>
 			<version>2.0.0-b13</version>
 		</dependency>
 
+		<!-- JSF Impl -->
 		<dependency>
 			<groupId>com.sun.faces</groupId>
 			<artifactId>jsf-impl</artifactId>
 			<version>2.0.0-b13</version>
-			<scope>runtime</scope>
 		</dependency>
-
+		
+		<!-- JSTL -->
 		<dependency>
 			<groupId>javax.servlet</groupId>
 			<artifactId>jstl</artifactId>
 			<version>1.2</version>
-			<scope>runtime</scope>
 		</dependency>
-
+		
+		<!-- JSR 299 API -->
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+		</dependency>
+		
+		<!-- JSR 330 API -->
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+        </dependency>
+        
+        <!-- SPI API -->
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<version>${project.version}</version>
+		</dependency>		
+				
+		<!-- EL Impl -->
 		<dependency>
 			<groupId>org.glassfish.web</groupId>
 			<artifactId>el-impl</artifactId>
@@ -93,13 +117,6 @@
 				</exclusion>
 			</exclusions>			
 		</dependency>
-
-                 <!-- Validator API -->
-                 <dependency>
-                         <groupId>org.apache.geronimo.specs</groupId>
-                          <artifactId>geronimo-validation_1.0_spec</artifactId>
-                  </dependency>
-
 		
 	</dependencies>
 	

Modified: openwebbeans/trunk/samples/reservation/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/reservation/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/samples/reservation/pom.xml (original)
+++ openwebbeans/trunk/samples/reservation/pom.xml Sat Mar 13 16:31:54 2010
@@ -29,8 +29,53 @@
 	<description>Simple hotel reservation application</description>
 
 	<build>
-		<finalName>reservation</finalName>
-	</build>
+	<finalName>reservation</finalName>			
+		<plugins>
+			<plugin>
+				<groupId>org.mortbay.jetty</groupId>
+				<artifactId>maven-jetty-plugin</artifactId>
+				<version>6.1.22</version>
+				<configuration>
+					<scanIntervalSeconds>10</scanIntervalSeconds>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>openjpa-maven-plugin</artifactId>
+				<version>1.0</version>
+				<configuration>
+					<includes>org/apache/webbeans/reservation/entity/*.class</includes>
+					<addDefaultConstructor>true</addDefaultConstructor>
+					<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
+					<sqlAction>build</sqlAction>
+					<sqlFile>${project.build.directory}/database.sql</sqlFile>
+				</configuration>
+				<executions>
+					<execution>
+						<id>mappingtool</id>
+						<phase>process-classes</phase>
+						<goals>
+							<goal>enhance</goal>
+						</goals>
+					</execution>
+				</executions>
+				<dependencies>
+					<dependency>
+						<groupId>log4j</groupId>
+						<artifactId>log4j</artifactId>
+						<version>1.2.14</version>
+					</dependency>
+					<dependency>
+						<groupId>org.apache.openjpa</groupId>
+						<artifactId>openjpa</artifactId>
+						<version>2.0.0-M3</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+			
+		</plugins>
+	</build>		
 
 	<dependencies>
 		
@@ -48,6 +93,7 @@
 			<version>${project.version}</version>
 		</dependency>
 		
+		<!-- Web Plugin -->
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-web</artifactId>
@@ -58,7 +104,7 @@
 		<dependency>
 			<groupId>org.apache.myfaces.core</groupId>
 			<artifactId>myfaces-api</artifactId>
-			<scope>provided</scope>
+			<version>1.2.8</version>
 		</dependency>
 		
 		<!-- Servlet Api -->
@@ -72,7 +118,6 @@
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-jpa_2.0_spec</artifactId>
-			<scope>provided</scope>
 		</dependency>
 		
 		<!-- HSQLDB -->
@@ -86,7 +131,6 @@
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-interceptor_1.1_spec</artifactId>
-			<scope>provided</scope>
 		</dependency>
 
 		<!-- EL API -->
@@ -117,103 +161,35 @@
               <version>${project.version}</version>
         </dependency>
 
-    </dependencies>
-
-	<profiles>
-		<profile>
-			<id>jetty</id>
-			<dependencies>
-				
-				<!-- My Faces API -->
-				<dependency>
-					<groupId>org.apache.myfaces.core</groupId>
-					<artifactId>myfaces-api</artifactId>
-					<version>1.2.8</version>
-				</dependency>
-				
-				<!-- MyFaces IMPL -->
-				<dependency>
-					<groupId>org.apache.myfaces.core</groupId>
-					<artifactId>myfaces-impl</artifactId>
-					<version>1.2.8</version>
-				</dependency>		
-				
-				<!-- JPA API -->
-				<dependency>
-					<groupId>org.apache.geronimo.specs</groupId>
-					<artifactId>geronimo-jpa_2.0_spec</artifactId>
-				</dependency>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+		</dependency>
+		
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+        </dependency>
+        
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+		</dependency>
+		
+		<!-- MyFaces IMPL -->
+		<dependency>
+			<groupId>org.apache.myfaces.core</groupId>
+			<artifactId>myfaces-impl</artifactId>
+			<version>1.2.8</version>
+		</dependency>		
 				
-				<!-- Interceptor API -->		
-				<dependency>
-					<groupId>org.apache.geronimo.specs</groupId>
-					<artifactId>geronimo-interceptor_1.1_spec</artifactId>
-				</dependency>
-
-				<!-- OpenJPA -->
-				<dependency>
-					<groupId>org.apache.openjpa</groupId>
-					<artifactId>openjpa</artifactId>
-					<version>2.0.0-M3</version>
-				</dependency>
-
-		                 <!-- Validator API -->
-                		 <dependency>
-	        	                <groupId>org.apache.geronimo.specs</groupId>
-        	        	        <artifactId>geronimo-validation_1.0_spec</artifactId>
-		                  </dependency>
-
-
-			</dependencies>
-
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.mortbay.jetty</groupId>
-						<artifactId>maven-jetty-plugin</artifactId>
-						<version>6.1.22</version>
-						<configuration>
-							<scanIntervalSeconds>10</scanIntervalSeconds>
-						</configuration>
-					</plugin>
-
-					<plugin>
-						<groupId>org.codehaus.mojo</groupId>
-						<artifactId>openjpa-maven-plugin</artifactId>
-						<version>1.0</version>
-						<configuration>
-							<includes>org/apache/webbeans/reservation/entity/*.class</includes>
-							<addDefaultConstructor>true</addDefaultConstructor>
-							<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
-							<sqlAction>build</sqlAction>
-							<sqlFile>${project.build.directory}/database.sql</sqlFile>
-						</configuration>
-						<executions>
-							<execution>
-								<id>mappingtool</id>
-								<phase>process-classes</phase>
-								<goals>
-									<goal>enhance</goal>
-								</goals>
-							</execution>
-						</executions>
-						<dependencies>
-							<dependency>
-								<groupId>log4j</groupId>
-								<artifactId>log4j</artifactId>
-								<version>1.2.14</version>
-							</dependency>
-							<dependency>
-								<groupId>org.apache.openjpa</groupId>
-								<artifactId>openjpa</artifactId>
-								<version>2.0.0-M3</version>
-							</dependency>
-						</dependencies>
-					</plugin>
-					
-				</plugins>
-			</build>
-		</profile>				
-	</profiles>
+		<!-- OpenJPA -->
+		<dependency>
+			<groupId>org.apache.openjpa</groupId>
+			<artifactId>openjpa</artifactId>
+			<version>2.0.0-M3</version>
+		</dependency>
+
+    </dependencies>
 
 </project>

Modified: openwebbeans/trunk/samples/standalone-sample/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/samples/standalone-sample/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/samples/standalone-sample/pom.xml (original)
+++ openwebbeans/trunk/samples/standalone-sample/pom.xml Sat Mar 13 16:31:54 2010
@@ -59,6 +59,11 @@
 			<optional>true</optional>
                 </dependency>
 
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<version>${project.version}</version>
+		</dependency>	
 
 
 	</dependencies>

Modified: openwebbeans/trunk/webbeans-ee-common/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ee-common/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ee-common/pom.xml (original)
+++ openwebbeans/trunk/webbeans-ee-common/pom.xml Sat Mar 13 16:31:54 2010
@@ -24,7 +24,7 @@
     </parent>
 
     <artifactId>openwebbeans-ee-common</artifactId>
-    <name>Apache OpenWebBeans :: Java EE Common</name>
+    <name>Apache OpenWebBeans :: Java EE Common Utility</name>
     <packaging>jar</packaging>
     <description>OpenWebBeans Java EE Common</description>
 
@@ -35,10 +35,29 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
+        
         <dependency>
         	<groupId>org.apache.openwebbeans</groupId>
         	<artifactId>openwebbeans-impl</artifactId>
         </dependency>
-      
+        
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
+		</dependency>
+		
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
+        </dependency>
+        
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<optional>true</optional>
+		</dependency>		
+              
     </dependencies>
 </project>

Modified: openwebbeans/trunk/webbeans-ee/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ee/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ee/pom.xml (original)
+++ openwebbeans/trunk/webbeans-ee/pom.xml Sat Mar 13 16:31:54 2010
@@ -24,9 +24,9 @@
     </parent>
 
     <artifactId>openwebbeans-ee</artifactId>
-    <name>Apache OpenWebBeans :: Java EE Full Integration</name>
+    <name>Apache OpenWebBeans :: Java EE Utility</name>
     <packaging>jar</packaging>
-    <description>OpenWebBeans Java EE Full Integration</description>
+    <description>OpenWebBeans Java EE Utility</description>
 
     <dependencies>
 
@@ -52,30 +52,53 @@
             <artifactId>geronimo-servlet_2.5_spec</artifactId>
             <optional>true</optional>
         </dependency>
+        
         <dependency>
         	<groupId>org.apache.geronimo.specs</groupId>
         	<artifactId>geronimo-jcdi_1.0_spec</artifactId>
         	<optional>true</optional>
         </dependency>
+        
         <dependency>
         	<groupId>org.apache.geronimo.specs</groupId>
         	<artifactId>geronimo-jta_1.1_spec</artifactId>
         	<optional>true</optional>
         </dependency>
+        
         <dependency>
         	<groupId>org.apache.geronimo.specs</groupId>
         	<artifactId>geronimo-validation_1.0_spec</artifactId>
         	<optional>true</optional>
         </dependency>
+        
         <dependency>
         	<groupId>org.apache.openwebbeans</groupId>
         	<artifactId>openwebbeans-impl</artifactId>
         </dependency>
+        
         <dependency>
         	<groupId>org.apache.openwebbeans</groupId>
         	<artifactId>openwebbeans-ee-common</artifactId>
         	<version>${project.version}</version>
         </dependency>
-      
+        
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
+		</dependency>
+		
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
+        </dependency>
+        
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<optional>true</optional>
+		</dependency>		
+              
     </dependencies>
 </project>

Modified: openwebbeans/trunk/webbeans-ejb/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/pom.xml (original)
+++ openwebbeans/trunk/webbeans-ejb/pom.xml Sat Mar 13 16:31:54 2010
@@ -24,9 +24,9 @@
 		<version>1.0.0-SNAPSHOT</version>
 	</parent>
 	<artifactId>openwebbeans-ejb-common</artifactId>
-	<name>Apache OpenWebBeans :: Java EE EJB integration</name>
+	<name>Apache OpenWebBeans :: Java EE EJB Utility</name>
 	<packaging>jar</packaging>
-	<description>OpenWebBeans Java EE EJB Integration</description>
+	<description>OpenWebBeans Java EE EJB Utility</description>
 	<dependencies>
 		
 	<dependency>
@@ -34,19 +34,30 @@
 	   <artifactId>openwebbeans-impl</artifactId>
 	</dependency>
 		
-	<dependency>
-	   <groupId>org.apache.geronimo.specs</groupId>
-	   <artifactId>geronimo-el_2.2_spec</artifactId>
-           <scope>test</scope>
-	</dependency>
+       <dependency>
+           <groupId>org.apache.geronimo.specs</groupId>
+           <artifactId>geronimo-interceptor_1.1_spec</artifactId>
+           <optional>true</optional>
+       </dependency>
+        
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
+		</dependency>
 		
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-interceptor_1.1_spec</artifactId>
-            <optional>true</optional>
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
         </dependency>
         
-				
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<optional>true</optional>
+		</dependency>		
+        				
 	<dependency>
 	  <groupId>junit</groupId>
 	  <artifactId>junit</artifactId>

Modified: openwebbeans/trunk/webbeans-impl/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/pom.xml (original)
+++ openwebbeans/trunk/webbeans-impl/pom.xml Sat Mar 13 16:31:54 2010
@@ -33,41 +33,53 @@
 			<groupId>dom4j</groupId>
 			<artifactId>dom4j</artifactId>
 		</dependency>
+		
 		<dependency>
 		    <groupId>org.apache.geronimo.specs</groupId>
 		    <artifactId>geronimo-el_2.2_spec</artifactId>
 		    <optional>true</optional>
 		</dependency>
+		
 		<dependency>
 			<groupId>javassist</groupId>
 			<artifactId>javassist</artifactId>
 		</dependency>
+		
 		<dependency>
 			<groupId>net.sf.scannotation</groupId>
 			<artifactId>scannotation</artifactId>
 		</dependency>
+		
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
 		</dependency>
+		
 		<dependency>
-                      <groupId>org.apache.geronimo.specs</groupId>
-                      <artifactId>geronimo-atinject_1.0_spec</artifactId>
-              </dependency>
-		<dependency>
-            	    <groupId>junit</groupId>
-	            <artifactId>junit</artifactId>
-       		    <scope>test</scope>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
         </dependency>
+        
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-spi</artifactId>
-			<version>${project.version}</version>
-		</dependency>
+			<optional>true</optional>
+		</dependency>		
+		        
 		<dependency>
 			<groupId>org.apache.geronimo.specs</groupId>
 			<artifactId>geronimo-interceptor_1.1_spec</artifactId>
+			<optional>true</optional>
 		</dependency>
+		
+		<dependency>
+            	 <groupId>junit</groupId>
+	            <artifactId>junit</artifactId>
+       		    <scope>test</scope>
+        </dependency>		
+		
 	</dependencies>
 
     <build>

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/BeansDeployer.java Sat Mar 13 16:31:54 2010
@@ -64,6 +64,7 @@ import org.apache.webbeans.spi.JNDIServi
 import org.apache.webbeans.spi.ScannerService;
 import org.apache.webbeans.spi.ServiceLoader;
 import org.apache.webbeans.util.AnnotationUtil;
+import org.apache.webbeans.util.ClassUtil;
 import org.apache.webbeans.util.WebBeansAnnotatedTypeUtil;
 import org.apache.webbeans.util.WebBeansUtil;
 import org.apache.webbeans.xml.WebBeansXMLConfigurator;
@@ -200,42 +201,34 @@ public class BeansDeployer
         
         if(beanEeProvider != null)
         {
-            if(beanEeProvider.getValidatorBean() != null)
-            {
-                //Register Validator Bean
-                beanManager.addBean(beanEeProvider.getValidatorBean());                
-            }
-            
-            if(beanEeProvider.getValidatorFactoryBean() != null)
-            {
-                //Register ValidatorFactory Bean
-                beanManager.addBean(beanEeProvider.getValidatorFactoryBean());                
-            }
-            
-            if(beanEeProvider.getPrincipalBean() != null)
-            {
-                //Register Principal Bean
-                beanManager.addBean(beanEeProvider.getPrincipalBean());                
-            }
-            
-            if(beanEeProvider.getUserTransactionBean() != null)
-            {
-                //User Transaction Bean
-                beanManager.addBean(beanEeProvider.getUserTransactionBean());                
-            }
-        }       
+            addDefaultBean(beanManager, "org.apache.webbeans.ee.common.beans.PrinicipalBean");
+            addDefaultBean(beanManager, "org.apache.webbeans.ee.beans.ValidatorBean");
+            addDefaultBean(beanManager, "org.apache.webbeans.ee.beans.ValidatorFactoryBean");
+            addDefaultBean(beanManager, "org.apache.webbeans.ee.beans.UserTransactionBean");
+        }
         else if(beanWebProvider != null)
         {
-            if(beanWebProvider.getPrincipalBean() != null)
-            {
-                //Register Principal Bean
-                beanManager.addBean(beanWebProvider.getPrincipalBean());                
-            }
-            
+            addDefaultBean(beanManager, "org.apache.webbeans.ee.common.beans.PrinicipalBean");
         }
             
     }
     
+    private void addDefaultBean(BeanManagerImpl manager,String className)
+    {
+        Bean<?> bean = null;
+        
+        Class<?> beanClass = ClassUtil.getClassFromName(className);
+        if(beanClass != null)
+        {
+            bean  = (Bean)ClassUtil.newInstance(beanClass);
+        }
+        
+        if(bean != null)
+        {
+            manager.addBean(bean);
+        }
+    }
+    
     /**
      * Fires event before bean discovery.
      */

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/context/AbstractContext.java Sat Mar 13 16:31:54 2010
@@ -238,7 +238,9 @@ public abstract class AbstractContext im
         }
         
         //Clear cache
-        componentInstanceMap.clear();
+        this.componentInstanceMap.clear();
+        this.creationalContextMap.clear();
+        
     }
 
     /**

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java Sat Mar 13 16:31:54 2010
@@ -22,8 +22,6 @@ import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
 
 import javassist.util.proxy.MethodHandler;
 import javassist.util.proxy.ProxyFactory;
@@ -150,9 +148,6 @@ public abstract class InterceptorHandler
     
     protected OwbBean<?> bean = null;
 
-    // TODO this proxy cache should get moved to JavassistProxyFactory
-    private static Map<OwbBean<?>, Class<?>> interceptorProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
-
     protected InterceptorHandler(OwbBean<?> bean)
     {
         this.bean = bean;
@@ -175,13 +170,12 @@ public abstract class InterceptorHandler
 
                     if (injectionTarget.getDecoratorStack().size() > 0)
                     {
-                        // TODO move this part into JavassistProxyFactory
-                        Class<?> proxyClass = interceptorProxyClasses.get(bean);
+                        Class<?> proxyClass = JavassistProxyFactory.getInterceptorProxyClasses().get(bean);
                         if (proxyClass == null)
                         {
                             ProxyFactory delegateFactory = JavassistProxyFactory.createProxyFactory(bean);
                             proxyClass = JavassistProxyFactory.getProxyClass(delegateFactory);
-                            interceptorProxyClasses.put(bean, proxyClass);
+                            JavassistProxyFactory.getInterceptorProxyClasses().put(bean, proxyClass);
                         }
                         Object delegate = proxyClass.newInstance();
                         delegateHandler = new DelegateHandler();

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/AbstractLifeCycle.java Sat Mar 13 16:31:54 2010
@@ -32,6 +32,7 @@ import org.apache.webbeans.logger.WebBea
 import org.apache.webbeans.plugins.PluginLoader;
 import org.apache.webbeans.portable.events.ExtensionLoader;
 import org.apache.webbeans.portable.events.discovery.BeforeShutdownImpl;
+import org.apache.webbeans.proxy.JavassistProxyFactory;
 import org.apache.webbeans.spi.ContainerLifecycle;
 import org.apache.webbeans.spi.ContextsService;
 import org.apache.webbeans.spi.JNDIService;
@@ -151,10 +152,13 @@ public abstract class AbstractLifeCycle 
             
             //Clear singleton list
             WebBeansFinder.clearInstances();
-            
+
+            //Delte proxies
+            JavassistProxyFactory.clear();
+
             //After Stop
             afterStopApplication(endObject);
-            
+                        
         }
         catch (Exception e)
         {

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/plugins/PluginLoader.java Sat Mar 13 16:31:54 2010
@@ -79,7 +79,14 @@ public class PluginLoader
             {
               OpenWebBeansPlugin plugin = pluginIter.next();
               logger.info(OWBLogConst.INFO_0013, new Object[]{plugin.getClass().getSimpleName()});
-              plugin.startUp();
+              try
+            {
+                plugin.startUp();
+            }
+            catch (Exception e)
+            {
+                throwsException(e);
+            }
               ps.add(plugin);
             }   
             
@@ -92,6 +99,18 @@ public class PluginLoader
         }
     }
     
+    public static void throwsException(Exception e) throws WebBeansConfigurationException
+    {
+        if(e instanceof WebBeansConfigurationException)
+        {
+            throw (WebBeansConfigurationException)e;
+        }
+        else
+        {
+            throw new WebBeansConfigurationException(e);
+        }
+    }
+    
     /**
      * Tell all the plugins to free up all locked resources.
      * This must be called before the WebApplication gets undeployed or stopped.

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java Sat Mar 13 16:31:54 2010
@@ -53,7 +53,21 @@ public final class JavassistProxyFactory
     private static Map<OwbBean<?>, Class<?>> normalScopedBeanProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
     
     private static Map<OwbBean<?>, Class<?>> dependentScopedBeanProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
-
+    
+    private static Map<OwbBean<?>, Class<?>> interceptorProxyClasses = new ConcurrentHashMap<OwbBean<?>, Class<?>>();
+    
+    public static  Map<OwbBean<?>, Class<?>> getInterceptorProxyClasses()
+    {
+        return interceptorProxyClasses;
+    }
+    
+    public static void clear()
+    {
+        normalScopedBeanProxyClasses.clear();
+        dependentScopedBeanProxyClasses.clear();
+        interceptorProxyClasses.clear();
+    }
+    
     public static Object createNormalScopedBeanProxy(OwbBean<?> bean, CreationalContext<?> creationalContext)
     {
         Object result = null;

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java Sat Mar 13 16:31:54 2010
@@ -47,6 +47,7 @@ import javax.inject.Provider;
 
 import org.apache.webbeans.config.OwbParametrizedTypeImpl;
 import org.apache.webbeans.exception.WebBeansException;
+import org.apache.webbeans.logger.WebBeansLogger;
 
 /**
  * Utility classes with respect to the class operations.
@@ -64,6 +65,8 @@ public final class ClassUtil
     public static final Map<Class<?>, Class<?>> PRIMITIVE_TO_WRAPPERS_MAP = new HashMap<Class<?>, Class<?>>();
 
     public static final String WEBBEANS_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ";
+    
+    private static final WebBeansLogger logger = WebBeansLogger.getLogger(ClassUtil.class);
 
     static
     { 
@@ -153,6 +156,24 @@ public final class ClassUtil
         return true;
 
     }
+    
+    public static Object newInstance(Class<?> clazz)
+    {
+        try
+        {
+            return clazz.newInstance();
+        }
+        catch (InstantiationException e)
+        {
+            logger.error(e);
+        }
+        catch (IllegalAccessException e)
+        {
+            logger.error(e);
+        }
+        
+        return null;
+    }
 
     public static Class<?> getClassFromName(String name)
     {

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java Sat Mar 13 16:31:54 2010
@@ -343,7 +343,14 @@ public final class WebBeansUtil
         List<OpenWebBeansPlugin> plugins = PluginLoader.getInstance().getPlugins();
         for (OpenWebBeansPlugin plugin : plugins)
         {
-            plugin.isManagedBean(clazz);
+            try
+            {
+                plugin.isManagedBean(clazz);
+            }
+            catch (Exception e)
+            {
+                PluginLoader.throwsException(e);
+            }
         }
     }
 

Modified: openwebbeans/trunk/webbeans-jms/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jms/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-jms/pom.xml (original)
+++ openwebbeans/trunk/webbeans-jms/pom.xml Sat Mar 13 16:31:54 2010
@@ -28,21 +28,43 @@
 	<packaging>jar</packaging>
 	<description>OpenWebBeans JMS Integration</description>
 	<dependencies>
+		
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-impl</artifactId>
 		</dependency>
+		
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
 			<version>4.5</version>
 			<scope>test</scope>
 		</dependency>
+		
 		<dependency>
     		<groupId>org.apache.geronimo.specs</groupId>
     		<artifactId>geronimo-jms_1.1_spec</artifactId>
     		<version>1.1.1</version>
     		<optional>true</optional>
 		</dependency>		
+		
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
+		</dependency>
+		
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
+        </dependency>
+		
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<optional>true</optional>
+		</dependency>		
+		
 	</dependencies>
 </project>

Modified: openwebbeans/trunk/webbeans-jsf/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jsf/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-jsf/pom.xml (original)
+++ openwebbeans/trunk/webbeans-jsf/pom.xml Sat Mar 13 16:31:54 2010
@@ -33,7 +33,12 @@
             <groupId>org.apache.openwebbeans</groupId>
             <artifactId>openwebbeans-impl</artifactId>
         </dependency>
-
+	
+	    <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+			
         <dependency>
             <groupId>org.apache.myfaces.core</groupId>
             <artifactId>myfaces-api</artifactId>
@@ -47,20 +52,28 @@
         </dependency>
 
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-servlet_2.5_spec</artifactId>
             <optional>true</optional>
         </dependency>
+        
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
+		</dependency>
+
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
+        </dependency>
+
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<optional>true</optional>
+		</dependency>		        
       
     </dependencies>
 </project>

Modified: openwebbeans/trunk/webbeans-openejb/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-openejb/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-openejb/pom.xml (original)
+++ openwebbeans/trunk/webbeans-openejb/pom.xml Sat Mar 13 16:31:54 2010
@@ -24,9 +24,9 @@
 		<version>1.0.0-SNAPSHOT</version>
 	</parent>
 	<artifactId>openwebbeans-ejb</artifactId>
-	<name>Apache OpenWebBeans :: Apache OpenEJB integration</name>
+	<name>Apache OpenWebBeans :: Apache OpenEJB Profile</name>
 	<packaging>jar</packaging>
-	<description>OpenWebBeans Apache OpenEJB Integration</description>
+	<description>OpenWebBeans Apache OpenEJB Profile</description>
 	<dependencies>
 		
 		<dependency>
@@ -39,8 +39,7 @@
 		    <artifactId>geronimo-el_2.2_spec</artifactId>
 		    <scope>test</scope>
 		</dependency>
-		
-		
+				
         <dependency>
             <groupId>org.apache.openejb</groupId>
             <artifactId>openejb-core</artifactId>
@@ -53,11 +52,29 @@
             <optional>true</optional>
         </dependency>
         
-				
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
+		</dependency>
+		
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
+        </dependency>
+        
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<optional>true</optional>
+		</dependency>		
+        				
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
 		</dependency>
+		
 		<dependency>
 			<groupId>org.apache.openwebbeans</groupId>
 			<artifactId>openwebbeans-ejb-common</artifactId>

Modified: openwebbeans/trunk/webbeans-porting/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-porting/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-porting/pom.xml (original)
+++ openwebbeans/trunk/webbeans-porting/pom.xml Sat Mar 13 16:31:54 2010
@@ -52,7 +52,7 @@
         </dependency>
     
     	<dependency>
-               <groupId>org.apache.geronimo.specs</groupId>
+            <groupId>org.apache.geronimo.specs</groupId>
     	    <artifactId>geronimo-servlet_2.5_spec</artifactId>
     	</dependency>
     
@@ -86,18 +86,34 @@
             	</exclusion>
             </exclusions>
         </dependency>
-
+        
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+		</dependency>
+		
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+        </dependency>
+        
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+		</dependency>		
+        
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-el_2.2_spec</artifactId>
         </dependency>
         
-	<dependency>
+		<dependency>
         	<groupId>org.apache.tomcat</groupId>
         	<artifactId>jasper-el</artifactId>
         	<version>6.0.20</version>
         </dependency>
-
+        
+        
     </dependencies>
 
 

Modified: openwebbeans/trunk/webbeans-resource/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-resource/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-resource/pom.xml (original)
+++ openwebbeans/trunk/webbeans-resource/pom.xml Sat Mar 13 16:31:54 2010
@@ -38,16 +38,26 @@
 
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-el_2.2_spec</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-jpa_2.0_spec</artifactId>
             <optional>true</optional>
         </dependency>
-
+        
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
+		</dependency>
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
+        </dependency>
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<optional>true</optional>
+		</dependency>		
+        
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>

Modified: openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java (original)
+++ openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceInjectionService.java Sat Mar 13 16:31:54 2010
@@ -51,8 +51,9 @@ public class StandaloneResourceInjection
 
         if(resourceReference.supports(WebServiceRef.class))
         {         
-            //Currently not supported in SE
-            return null;
+            WebServiceRef resource = resourceReference.getAnnotation(WebServiceRef.class);
+            return processor.getWebServiceResource(resource, resourceReference.getResourceType());
+
         }
                 
         if(resourceReference.supports(PersistenceContext.class))

Modified: openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceProcessor.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceProcessor.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceProcessor.java (original)
+++ openwebbeans/trunk/webbeans-resource/src/main/java/org/apache/webbeans/resource/spi/se/StandaloneResourceProcessor.java Sat Mar 13 16:31:54 2010
@@ -24,6 +24,7 @@ import javax.persistence.EntityManagerFa
 import javax.persistence.Persistence;
 import javax.persistence.PersistenceContext;
 import javax.persistence.PersistenceUnit;
+import javax.xml.ws.WebServiceRef;
 
 import org.apache.webbeans.config.OWBLogConst;
 import org.apache.webbeans.logger.WebBeansLogger;
@@ -99,6 +100,26 @@ public class StandaloneResourceProcessor
         
         return resourceType.cast(obj);
     }    
+
+    public <X> X getWebServiceResource(WebServiceRef resource, Class<X> resourceType)
+    {
+        Object obj = null;
+        try
+        {
+            obj = context.lookup("java:/comp/env/"+ resource.name()); 
+            if (obj == null) 
+            {
+                logger.info("Could not find @Resource with name " + resource.name());
+            }
+
+        }
+        catch(Exception e)
+        {
+            logger.error(OWBLogConst.ERROR_0001, new Object[] {resource.toString()});
+        }   
+        
+        return resourceType.cast(obj);
+    }    
     
     /**
      * {@inheritDoc}

Added: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractEnterpriseProviderPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractEnterpriseProviderPlugin.java?rev=922595&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractEnterpriseProviderPlugin.java (added)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractEnterpriseProviderPlugin.java Sat Mar 13 16:31:54 2010
@@ -0,0 +1,47 @@
+/*
+ * 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.webbeans.plugins;
+
+import org.apache.webbeans.spi.SecurityService;
+import org.apache.webbeans.spi.TransactionService;
+import org.apache.webbeans.spi.ValidatorService;
+
+public abstract class AbstractEnterpriseProviderPlugin extends AbstractOwbPlugin implements OpenWebBeansJavaEEPlugin
+{
+    @Override
+    public SecurityService getSecurityService()
+    {
+        
+        return null;
+    }
+
+    @Override
+    public TransactionService getTransactionService()
+    {
+        
+        return null;
+    }
+    @Override
+    public ValidatorService getValidatorService()
+    {
+        
+        return null;
+    }
+
+}

Propchange: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractEnterpriseProviderPlugin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java?rev=922595&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java (added)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java Sat Mar 13 16:31:54 2010
@@ -0,0 +1,52 @@
+/*
+ *  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.webbeans.plugins;
+
+
+/**
+ * Abstract imlpementation of the {@link OpenWebBeansPlugin} interface
+ * contract.
+ * 
+ *  <p>
+ *  This abstraction provides the empty implementation for the interface. If any
+ *  subclass of this class wants to define customize method, it has to override related
+ *  method definition.
+ *  </p>
+ */
+public abstract class AbstractOwbPlugin implements OpenWebBeansPlugin
+{
+    protected AbstractOwbPlugin()
+    {
+        
+    }
+
+    /** @{inheritDoc} */
+    public void isManagedBean(Class<?> clazz) throws Exception
+    {
+    }
+
+    /** @{inheritDoc} */
+    public void shutDown() throws Exception
+    {
+    }
+
+    /** @{inheritDoc} */
+    public void startUp() throws Exception
+    {
+    }
+
+}

Propchange: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/AbstractOwbPlugin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java?rev=922595&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java (added)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java Sat Mar 13 16:31:54 2010
@@ -0,0 +1,73 @@
+/*
+ * 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.webbeans.plugins;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+
+/**
+ * Session bean related plugin contract.
+ * 
+ * @version $Rev$ $Date$
+ */
+public interface OpenWebBeansEjbPlugin extends OpenWebBeansPlugin
+{
+    /**
+     * Returns true if class is an session bean class false otherwise
+     * 
+     * @param clazz class definition
+     * @return true if class is an ejb class false otherwise
+     */
+    public boolean isSessionBean(Class<?> clazz);
+
+    /**
+     * Configures session bean and adds it into the container.
+     * 
+     * @param clazz session bean class
+     */
+    public <T> Bean<T> defineSessionBean(Class<T> clazz);
+
+    /**
+     * Returns true if given class is singleton session bean, false otherwise.
+     * 
+     * @param clazz session bean class
+     * @return true if given class is singleton session bean, false otherwise
+     */
+    public boolean isSingletonBean(Class<?> clazz);
+
+    /**
+     * Returns true if given class is stateless session bean, false otherwise.
+     * 
+     * @param clazz session bean class
+     * @return true if given class is singleton session bean, false otherwise
+     */    
+    public boolean isStatelessBean(Class<?> clazz);
+
+    /**
+     * Returns true if given class is stateful session bean, false otherwise.
+     * 
+     * @param clazz session bean class
+     * @return true if given class is singleton session bean, false otherwise
+     */    
+    public boolean isStatefulBean(Class<?> clazz);
+
+    /**
+     * Returns session bean proxy.
+     * 
+     * @param bean session bean
+     * @param proxy interface
+     * @return session bean proxy
+     */
+    public Object getSessionBeanProxy(Bean<?> bean, Class<?> iface, CreationalContext<?> creationalContext);
+}
\ No newline at end of file

Propchange: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansEjbPlugin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java?rev=922595&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java (added)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java Sat Mar 13 16:31:54 2010
@@ -0,0 +1,49 @@
+/*
+ * 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.webbeans.plugins;
+
+import org.apache.webbeans.spi.TransactionService;
+import org.apache.webbeans.spi.ValidatorService;
+
+/**
+ * In fully Java EE environments, it will be implemented
+ * by the application servers.
+ * <p>
+ * There is no default plugin implementation for any
+ * Java EE application server.
+ * </p>
+ * @version $Rev$ $Date$
+ *
+ */
+public interface OpenWebBeansJavaEEPlugin extends OpenWebBeansWebPlugin
+{        
+    /**
+     * Gets application server transaction
+     * service implementation.
+     * @return transaction service
+     */
+    public TransactionService getTransactionService();
+    
+    /**
+     * Gets application server validator service
+     * implementation.
+     * @return validator service
+     */
+    public ValidatorService getValidatorService();     
+}

Propchange: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansJavaEEPlugin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java?rev=922595&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java (added)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java Sat Mar 13 16:31:54 2010
@@ -0,0 +1,58 @@
+/*
+ * 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.webbeans.plugins;
+
+
+/**
+ * <p>Interface which all OpenWebBeans plugins has to implement to 
+ * extend the webbeans-core with additional IOC functionality.</p>
+ * 
+ * <p>There are 4 different types of functions for this interface:
+ * <ol>
+ *  <li>
+ *    plugin lifecycle like {@code #startUp()} and {@code #shutDown()}
+ *  </li>
+ *  <li>
+ *    injection execution will be called every time a been get's
+ *    injected like {@code #injectResource(Type, Annotation[])}
+ *  </li>
+ * </ol> 
+ * @see PluginLoader for documentation of the whole mechanism
+ */
+public interface OpenWebBeansPlugin
+{
+    /**
+     * initialise the plugin.
+     * This is called once after the very plugin has been loaded.
+     * @throws WebBeansConfigurationException
+     */
+    public void startUp() throws Exception;
+
+    /**
+     * At shutdown, the plugin must release all locked resources.
+     * This is called once before the very plugin gets destroyed.
+     * This is usually the case when the WebApplication gets stopped.
+     * @throws WebBeansConfigurationException
+     */
+    public void shutDown() throws Exception;
+    
+
+    /**
+     * Make sure that the given class is ok for simple web bean conditions, 
+     * otherwise throw a {@code WebBeansConfigurationException}
+     * @param clazz the class to check
+     * @throws WebBeansConfigurationException if the given clazz cannot be used as simple web bean.
+     */
+    public void isManagedBean(Class<?> clazz) throws Exception;
+}

Propchange: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansPlugin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java?rev=922595&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java (added)
+++ openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java Sat Mar 13 16:31:54 2010
@@ -0,0 +1,39 @@
+/*
+ * 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.webbeans.plugins;
+
+import org.apache.webbeans.spi.SecurityService;
+
+/**
+ * OpenWebBeans plugin point for Web Containers.
+ * Currently there is no default implementation
+ * for this plugin. Each web container that wants 
+ * to support OpenWebBeans, implements this plugin
+ * and register it via META-INF/services/org.apache.webbeans.plugins.OpenWebBeansWebPlugin
+ * @version $Rev$ $Date$
+ *
+ */
+public interface OpenWebBeansWebPlugin extends OpenWebBeansPlugin
+{
+    /**
+     * Gets web container security service implementation.
+     * @return security service
+     */
+    public SecurityService getSecurityService();    
+}

Propchange: openwebbeans/trunk/webbeans-spi/src/main/java/org/apache/webbeans/plugins/OpenWebBeansWebPlugin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: openwebbeans/trunk/webbeans-tck/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-tck/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-tck/pom.xml (original)
+++ openwebbeans/trunk/webbeans-tck/pom.xml Sat Mar 13 16:31:54 2010
@@ -51,10 +51,12 @@
             <groupId>org.apache.myfaces.core</groupId>
             <artifactId>myfaces-api</artifactId>
         </dependency>
+        
         <dependency>
             <groupId>org.apache.myfaces.core</groupId>
             <artifactId>myfaces-impl</artifactId>
         </dependency>
+        
         <dependency>
             <groupId>org.apache.openwebbeans</groupId>
             <artifactId>openwebbeans-resource</artifactId>
@@ -87,16 +89,29 @@
         </dependency>
 
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
         	<groupId>org.apache.openwebbeans</groupId>
         	<artifactId>openwebbeans-ejb</artifactId>
         	<version>${project.version}</version>
         </dependency>
 
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
+		</dependency>
+
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
+        </dependency>
+
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<optional>true</optional>
+		</dependency>		
+
 
     </dependencies>
 
@@ -258,8 +273,7 @@
 									<version>0.4</version>
 									<outputDirectory>${project.build.directory}/dependency/lib</outputDirectory>
 								</artifactItem>
-							
-							
+														
 								<!-- xml-apis -->
 								<artifactItem>
 									<groupId>xml-apis</groupId>
@@ -269,16 +283,6 @@
 									<outputDirectory>${project.build.directory}/dependency/lib</outputDirectory>
 								</artifactItem>
 							
-								<!-- log4j -->
-								<artifactItem>
-									<groupId>log4j</groupId>
-									<artifactId>log4j</artifactId>
-									<overWrite>true</overWrite>
-									<outputDirectory>${project.build.directory}/dependency/lib</outputDirectory>
-								</artifactItem>
-							
-							
-                                                                                                                                
                             </artifactItems>
                         </configuration>
                     </execution>

Modified: openwebbeans/trunk/webbeans-test/cditest-owb/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-test/cditest-owb/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-test/cditest-owb/pom.xml (original)
+++ openwebbeans/trunk/webbeans-test/cditest-owb/pom.xml Sat Mar 13 16:31:54 2010
@@ -63,20 +63,22 @@
             <artifactId>geronimo-interceptor_1.1_spec</artifactId>
         </dependency>
         
-        
-        <!-- TODO REMOVE! this should not be needed for M5 -->
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jta_1.1_spec</artifactId>
-            <optional>true</optional>
-        </dependency>
-
-        <!-- TODO REMOVE! this should not be needed for M5 -->
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-validation_1.0_spec</artifactId>
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+		</dependency>
+		
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
         </dependency>
         
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<version>${project.version}</version>
+		</dependency>		
+                
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>

Modified: openwebbeans/trunk/webbeans-web/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-web/pom.xml?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-web/pom.xml (original)
+++ openwebbeans/trunk/webbeans-web/pom.xml Sat Mar 13 16:31:54 2010
@@ -24,9 +24,9 @@
     </parent>
 
     <artifactId>openwebbeans-web</artifactId>
-    <name>Apache OpenWebBeans :: Java EE Web Integration</name>
+    <name>Apache OpenWebBeans :: Java EE Web Utility</name>
     <packaging>jar</packaging>
-    <description>OpenWebBeans Java EE Web Integration</description>
+    <description>OpenWebBeans Java EE Web Utility</description>
 
     <dependencies>
 
@@ -65,6 +65,23 @@
 		    <optional>true</optional>
 		</dependency>
         
+		<dependency>
+			<groupId>org.apache.geronimo.specs</groupId>
+			<artifactId>geronimo-jcdi_1.0_spec</artifactId>
+			<optional>true</optional>
+		</dependency>
+		<dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-atinject_1.0_spec</artifactId>
+                <optional>true</optional>
+        </dependency>
+		
+		<dependency>
+			<groupId>org.apache.openwebbeans</groupId>
+			<artifactId>openwebbeans-spi</artifactId>
+			<optional>true</optional>
+		</dependency>		
+        
       
     </dependencies>
 </project>

Modified: openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java (original)
+++ openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/context/WebContextsService.java Sat Mar 13 16:31:54 2010
@@ -113,6 +113,26 @@ public class WebContextsService implemen
     {
         endContext(ApplicationScoped.class, destroyObject);
         endContext(Singleton.class, destroyObject);
+        
+        requestContext.remove();
+        requestContext = null;        
+        dependentContext.remove();
+        dependentContext = null;
+        sessionContext.remove();
+        sessionContext = null;
+        conversationContext.remove();
+        conversationContext = null;
+        applicationContext.remove();
+        applicationContext = null;
+        singletonContext.remove();
+        singletonContext = null;
+        
+        currentApplicationContexts.clear();
+        currentApplicationContexts = null;
+        currentSingletonContexts.clear();
+        currentSingletonContexts = null;
+        sessionCtxManager = null;
+        conversationManager = null;
     }    
     
     

Modified: openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/lifecycle/WebContainerLifecycle.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/lifecycle/WebContainerLifecycle.java?rev=922595&r1=922594&r2=922595&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/lifecycle/WebContainerLifecycle.java (original)
+++ openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/web/lifecycle/WebContainerLifecycle.java Sat Mar 13 16:31:54 2010
@@ -125,7 +125,17 @@ public final class WebContainerLifecycle
      */
     protected void afterStopApplication(Object stopObject) throws Exception
     {                
-        ServletContext servletContext = getServletContext(stopObject);
+        ServletContext servletContext = null;
+        
+        if(stopObject instanceof ServletContext)
+        {
+            servletContext = (ServletContext)stopObject;
+        }
+        else
+        {
+            servletContext = getServletContext(stopObject);
+        }
+        
         logger.info(OWBLogConst.INFO_0003, new Object[]{servletContext != null ? servletContext.getContextPath() : null});
     }