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.