You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2013/03/05 21:12:46 UTC

svn commit: r1452973 - in /openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone: OwbArquillianScannerService.java OwbArquillianSingletonService.java OwbStandaloneContainer.java

Author: struberg
Date: Tue Mar  5 20:12:45 2013
New Revision: 1452973

URL: http://svn.apache.org/r1452973
Log:
OWB-710 finish OWB Arquillian Container

Modified:
    openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java
    openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianSingletonService.java
    openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbStandaloneContainer.java

Modified: openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java?rev=1452973&r1=1452972&r2=1452973&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java (original)
+++ openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianScannerService.java Tue Mar  5 20:12:45 2013
@@ -45,7 +45,7 @@ public class OwbArquillianScannerService
 
     private final static String WEB_INF_CLASS_FOLDER = "/WEB-INF/classes/";
 
-    private final boolean beansXmlBdaScanningEnabled;
+    private boolean beansXmlBdaScanningEnabled;
     private Archive archive;
 
     private Set<URL> beansXmls = new HashSet<URL>();
@@ -94,7 +94,7 @@ public class OwbArquillianScannerService
         else
         {
             //X TODO
-            throw new IllegalStateException("Not yet implemented");
+            throw new IllegalStateException("Scanning of Archive " + archive.getClass().getName() + "Not yet implemented");
         }
     }
 
@@ -266,4 +266,11 @@ public class OwbArquillianScannerService
     }
 
 
+    public void clear()
+    {
+        archive = null;
+
+        beansXmls = new HashSet<URL>();
+        beanClasses = new HashSet<Class<?>>();
+    }
 }

Modified: openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianSingletonService.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianSingletonService.java?rev=1452973&r1=1452972&r2=1452973&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianSingletonService.java (original)
+++ openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbArquillianSingletonService.java Tue Mar  5 20:12:45 2013
@@ -34,10 +34,15 @@ import org.apache.webbeans.spi.Singleton
 public class OwbArquillianSingletonService implements SingletonService<WebBeansContext>
 {
 
-    private final WebBeansContext webBeansContext;
+    private WebBeansContext webBeansContext;
 
     public OwbArquillianSingletonService()
     {
+        initOwb();
+    }
+
+    public synchronized void initOwb()
+    {
         ScannerService dummyScannerService = new OwbArquillianScannerService();
 
         Map<Class<?>, Object> initialServices = new HashMap<Class<?>, Object>();
@@ -55,6 +60,7 @@ public class OwbArquillianSingletonServi
     @Override
     public void clear(Object key)
     {
+        webBeansContext.clear();
     }
 
     @Override

Modified: openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbStandaloneContainer.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbStandaloneContainer.java?rev=1452973&r1=1452972&r2=1452973&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbStandaloneContainer.java (original)
+++ openwebbeans/trunk/webbeans-arquillian/owb-arquillian-standalone/src/main/java/org/apache/webbeans/arquillian/standalone/OwbStandaloneContainer.java Tue Mar  5 20:12:45 2013
@@ -51,6 +51,7 @@ public class OwbStandaloneContainer impl
     @DeploymentScoped
     private InstanceProducer<BeanManager> beanManagerProducer;
 
+    private OwbArquillianSingletonService singletonService;
     private WebBeansContext webBeansContext;
 
     public Class<OwbStandaloneConfiguration> getConfigurationClass()
@@ -67,19 +68,22 @@ public class OwbStandaloneContainer impl
     {
         LOG.fine("OpenWebBeans Arquillian setup started");
 
-        WebBeansFinder.setSingletonService(new OwbArquillianSingletonService());
+        singletonService = new OwbArquillianSingletonService();
+        WebBeansFinder.setSingletonService(singletonService);
 
     }
 
     public void start() throws LifecycleException
     {
         LOG.fine("OpenWebBeans Arquillian starting");
-
-        webBeansContext = WebBeansContext.getInstance();
     }
 
     public ProtocolMetaData deploy(Archive<?> archive) throws DeploymentException
     {
+        singletonService.initOwb();
+
+        webBeansContext = WebBeansContext.getInstance();
+
         LOG.fine("OpenWebBeans Arquillian starting deployment");
 
         ContainerLifecycle lifecycle = webBeansContext.getService(ContainerLifecycle.class);
@@ -99,6 +103,8 @@ public class OwbStandaloneContainer impl
     {
         LOG.fine("OpenWebBeans Arquillian undeploying");
 
+        OwbArquillianScannerService dummyScannerService = (OwbArquillianScannerService) webBeansContext.getScannerService();
+        dummyScannerService.clear();
         ContainerLifecycle lifecycle = lifecycleProducer.get();
         if (lifecycle != null)
         {