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 2009/02/19 22:17:28 UTC

svn commit: r745998 - in /incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans: container/ManagerImpl.java lifecycle/WebBeansLifeCycle.java xml/WebBeansXMLConfigurator.java

Author: gerdogdu
Date: Thu Feb 19 21:17:24 2009
New Revision: 745998

URL: http://svn.apache.org/viewvc?rev=745998&view=rev
Log:
OWB-69 Manager#parse implementation

Modified:
    incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java
    incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java
    incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java

Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java?rev=745998&r1=745997&r2=745998&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java Thu Feb 19 21:17:24 2009
@@ -13,6 +13,7 @@
  */
 package org.apache.webbeans.container;
 
+import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
@@ -60,6 +61,7 @@
 import org.apache.webbeans.util.Asserts;
 import org.apache.webbeans.util.ClassUtil;
 import org.apache.webbeans.util.WebBeansUtil;
+import org.apache.webbeans.xml.WebBeansXMLConfigurator;
 
 /**
  * Implementation of the {@link WebBeansManager} contract of the web beans
@@ -84,6 +86,8 @@
     private InjectionResolver injectionResolver = null;
 
     private Map<Bean<?>, Object> proxyMap = Collections.synchronizedMap(new IdentityHashMap<Bean<?>, Object>());
+    
+    private WebBeansXMLConfigurator xmlConfigurator = null;
 
     public ManagerImpl()
     {
@@ -98,6 +102,16 @@
         return instance;
     }
 
+    public void setXMLConfigurator(WebBeansXMLConfigurator xmlConfigurator)
+    {
+        if(xmlConfigurator != null)
+        {
+            throw new IllegalStateException("There is already defined WebBeansXMLConfigurator");
+        }
+        
+        this.xmlConfigurator = xmlConfigurator;
+    }
+    
     public Context getContext(Class<? extends Annotation> scopType)
     {
         Asserts.assertNotNull(scopType, "scopeType paramter can not be null");
@@ -418,4 +432,17 @@
         return new Reference(ManagerImpl.class.getName(), new StringRefAddr("ManagerImpl", "ManagerImpl"), ManagerObjectFactory.class.getName(), null);
     }
 
+    /**
+     * Parse the given XML input stream for adding XML defined artifacts.
+     * 
+     * @param xmlStream beans xml definitions
+     * @return {@link Manager} instance 
+     */
+    public Manager parse(InputStream xmlStream)
+    {
+        this.xmlConfigurator.configure(xmlStream);
+        
+        return this;
+    }
+
 }
\ No newline at end of file

Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java?rev=745998&r1=745997&r2=745998&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/lifecycle/WebBeansLifeCycle.java Thu Feb 19 21:17:24 2009
@@ -29,7 +29,9 @@
 
 import org.apache.webbeans.WebBeansConstants;
 import org.apache.webbeans.config.WebBeansContainerDeployer;
+import org.apache.webbeans.config.WebBeansFinder;
 import org.apache.webbeans.config.WebBeansScanner;
+import org.apache.webbeans.container.ManagerImpl;
 import org.apache.webbeans.context.ContextFactory;
 import org.apache.webbeans.el.WebBeansELResolver;
 import org.apache.webbeans.exception.WebBeansException;
@@ -59,6 +61,8 @@
         this.xmlDeployer = new WebBeansXMLConfigurator();
         this.deployer = new WebBeansContainerDeployer(xmlDeployer);
         this.jndiService = ServiceLoader.getService(JNDIService.class);
+        
+        ManagerImpl.getManager().setXMLConfigurator(this.xmlDeployer);
     }
 
     public void requestStarted(ServletRequestEvent event)
@@ -159,7 +163,9 @@
         this.scanner = null;
         this.service = null;
         this.xmlDeployer = null;
+        
+        WebBeansFinder.clearInstances();
 
     }
 
-}
+}
\ No newline at end of file

Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java?rev=745998&r1=745997&r2=745998&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java Thu Feb 19 21:17:24 2009
@@ -106,6 +106,11 @@
     {
 
     }
+    
+    public void configure(InputStream xmlStream)
+    {
+        configure(xmlStream, "No-name XML Stream");
+    }
 
     /**
      * Configures the web beans from the given input stream.