You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ge...@apache.org on 2010/04/14 10:48:23 UTC

svn commit: r933880 - in /geronimo/sandbox/shawn/openwebbeans: geronimo-openwebbeans-builder/ geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/ geronimo-openwebbeans/ openwebbeans-deployer/ openwebbeans/ openwebbe...

Author: genspring
Date: Wed Apr 14 08:48:23 2010
New Revision: 933880

URL: http://svn.apache.org/viewvc?rev=933880&view=rev
Log:
Add the web bean scanner to OpenWebBeansModuleBuilder.

Added:
    geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/WebBeansScanner.java   (with props)
Modified:
    geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/pom.xml
    geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java
    geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans/pom.xml
    geronimo/sandbox/shawn/openwebbeans/openwebbeans-deployer/pom.xml
    geronimo/sandbox/shawn/openwebbeans/openwebbeans/pom.xml
    geronimo/sandbox/shawn/openwebbeans/openwebbeans/src/main/history/dependencies.xml

Modified: geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/pom.xml?rev=933880&r1=933879&r2=933880&view=diff
==============================================================================
--- geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/pom.xml (original)
+++ geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/pom.xml Wed Apr 14 08:48:23 2010
@@ -44,7 +44,7 @@
             <groupId>org.apache.geronimo.modules</groupId>
             <artifactId>geronimo-openwebbeans</artifactId>
             <version>${version}</version>
-        </dependency>
+        </dependency>        
         
     </dependencies>
 

Modified: geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java?rev=933880&r1=933879&r2=933880&view=diff
==============================================================================
--- geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java (original)
+++ geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java Wed Apr 14 08:48:23 2010
@@ -17,14 +17,23 @@
 
 package org.apache.geronimo.openwebbeans.deployment;
 
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.jar.JarFile;
+
+import javax.enterprise.inject.spi.Bean;
+
 import org.apache.geronimo.common.DeploymentException;
 import org.apache.geronimo.deployment.ModuleIDBuilder;
 import org.apache.geronimo.deployment.service.EnvironmentBuilder;
 import org.apache.geronimo.gbean.AbstractName;
-import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.gbean.GBeanData;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.annotation.GBean;
 import org.apache.geronimo.gbean.annotation.ParamAttribute;
 import org.apache.geronimo.gbean.annotation.ParamReference;
 import org.apache.geronimo.j2ee.annotation.Holder;
@@ -39,29 +48,18 @@ import org.apache.geronimo.kernel.config
 import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.xbeans.javaee6.FullyQualifiedClassType;
 import org.apache.geronimo.xbeans.javaee6.ListenerType;
-import org.apache.geronimo.xbeans.javaee6.ServletType;
 import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.webbeans.servlet.WebBeansConfigurationListener;
 import org.apache.xbean.finder.ClassFinder;
 import org.apache.xmlbeans.XmlObject;
+import org.osgi.framework.Bundle;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.jar.JarFile;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-
 /**
  * @version $Rev $Date
  */
+@GBean(j2eeType = NameFactory.MODULE_BUILDER)
 public class OpenWebBeansModuleBuilderExtension implements ModuleBuilderExtension {
 
     private static final Logger log = LoggerFactory.getLogger(OpenWebBeansModuleBuilderExtension.class);
@@ -69,66 +67,67 @@ public class OpenWebBeansModuleBuilderEx
     private final Environment defaultEnvironment;
     private final NamingBuilder namingBuilders;
 
-    private static final String CONTEXT_LISTENER_NAME = "";
+    private static final String CONTEXT_LISTENER_NAME = WebBeansConfigurationListener.class.getName();
 
-    public OpenWebBeansModuleBuilderExtension(Environment defaultEnvironment, NamingBuilder namingBuilders) {
+    public OpenWebBeansModuleBuilderExtension(
+            @ParamAttribute(name = "defaultEnvironment") Environment defaultEnvironment,
+            @ParamReference(name = "NamingBuilders", namingType = NameFactory.MODULE_BUILDER) NamingBuilder namingBuilders) {
         this.defaultEnvironment = defaultEnvironment;
         this.namingBuilders = namingBuilders;
     }
-    
-    
-    public void createModule(Module module, Bundle bundle, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
+
+    public void createModule(Module module, Bundle bundle, Naming naming, ModuleIDBuilder idBuilder)
+            throws DeploymentException {
         if (!(module instanceof WebModule)) {
-            //not a web module, nothing to do
+            // not a web module, nothing to do
             return;
         }
 
         EnvironmentBuilder.mergeEnvironments(module.getEnvironment(), defaultEnvironment);
-    
+
     }
 
-    
-    public void createModule(Module module, Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment environment, Object moduleContextInfo, AbstractName earName, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
-    
+    public void createModule(Module module, Object plan, JarFile moduleFile, String targetPath, URL specDDUrl,
+            Environment environment, Object moduleContextInfo, AbstractName earName, Naming naming,
+            ModuleIDBuilder idBuilder) throws DeploymentException {
+
         if (!(module instanceof WebModule)) {
-            //not a web module, nothing to do
+            // not a web module, nothing to do
             return;
         }
 
         EnvironmentBuilder.mergeEnvironments(module.getEnvironment(), defaultEnvironment);
-    
-    }
 
-    
-    
+    }
 
-    public void installModule(JarFile earFile, EARContext earContext, Module module, Collection configurationStores, ConfigurationStore targetConfigurationStore, Collection repository) throws DeploymentException {
+    public void installModule(JarFile earFile, EARContext earContext, Module module, Collection configurationStores,
+            ConfigurationStore targetConfigurationStore, Collection repository) throws DeploymentException {
     }
 
     public void initContext(EARContext earContext, Module module, Bundle bundle) throws DeploymentException {
     }
 
-    public void addGBeans(EARContext earContext, Module module, Bundle bundle, Collection repository) throws DeploymentException {
+    public void addGBeans(EARContext earContext, Module module, Bundle bundle, Collection repository)
+            throws DeploymentException {
         if (!(module instanceof WebModule)) {
-            //not a web module, nothing to do
+            // not a web module, nothing to do
             return;
         }
         WebModule webModule = (WebModule) module;
         WebAppType webApp = (WebAppType) webModule.getSpecDD();
 
-
         EARContext moduleContext = module.getEarContext();
         Map sharedContext = module.getSharedContext();
 
-        //add the ServletContextListener to the web app context
+        // add the ServletContextListener to the web app context
         GBeanData webAppData = (GBeanData) sharedContext.get(WebModule.WEB_APP_DATA);
 
-        //jetty specific support
+        // jetty specific support
         Object value = webAppData.getAttribute("listenerClassNames");
         if (value instanceof Collection && !((Collection) value).contains(CONTEXT_LISTENER_NAME)) {
             ((Collection<String>) value).add(CONTEXT_LISTENER_NAME);
         } else {
-            //try to add listener to the web app xml
+            // try to add listener to the web app xml
             ListenerType listenerType = webApp.addNewListener();
             FullyQualifiedClassType className = listenerType.addNewListenerClass();
             className.setStringValue(CONTEXT_LISTENER_NAME);
@@ -138,11 +137,11 @@ public class OpenWebBeansModuleBuilderEx
         Map<NamingBuilder.Key, Object> buildingContext = new HashMap<NamingBuilder.Key, Object>();
         buildingContext.put(NamingBuilder.GBEAN_NAME_KEY, moduleName);
 
-        //use the same jndi context as the web app
+        // use the same jndi context as the web app
         Map compContext = NamingBuilder.JNDI_KEY.get(module.getSharedContext());
         buildingContext.put(NamingBuilder.JNDI_KEY, compContext);
 
-        //use the same holder object as the web app.
+        // use the same holder object as the web app.
         Holder holder = NamingBuilder.INJECTION_KEY.get(sharedContext);
         buildingContext.put(NamingBuilder.INJECTION_KEY, holder);
 
@@ -155,47 +154,65 @@ public class OpenWebBeansModuleBuilderEx
 
     }
 
-    protected ClassFinder createOpenWebBeansClassFinder(WebAppType webApp, WebModule webModule) throws DeploymentException {
+    protected ClassFinder createOpenWebBeansClassFinder(WebAppType webApp, WebModule webModule)
+            throws DeploymentException {
 
         List<Class> classes = getManagedClasses(webApp, webModule);
         return new ClassFinder(classes);
     }
 
-
+    /**
+     * getManagedClasses()
+     * <p/>
+     * <p>
+     * Locations to search for the webbean configuration file(s):
+     * <ol>
+     * <li>META-INF/beans.xml
+     * <li>WEB-INF/beans.xml
+     * </ol>
+     * <p/>
+     * <p>
+     * <strong>Notes:</strong>
+     * <ul>
+     * </ul>
+     * 
+     * @param webApp
+     *            spec DD for module
+     * @param webModule
+     *            module being deployed
+     * @return list of all managed bean classes from all faces-config xml files.
+     * @throws org.apache.geronimo.common.DeploymentException
+     *             if a faces-config.xml file is located but cannot be parsed.
+     */
     private List<Class> getManagedClasses(WebAppType webApp, WebModule webModule) throws DeploymentException {
-        log.debug("getManagedClasses( " + webApp.toString() + "," + '\n' +
-                (webModule != null ? webModule.getName() : null) + " ): Entry");
+        log.debug("getFacesClasses( " + webApp.toString() + "," + '\n'
+                + (webModule != null ? webModule.getName() : null) + " ): Entry");
+
 
-        // Get the classloader from the module's EARContext
         Bundle bundle = webModule.getEarContext().getDeploymentBundle();
+        
+        
 
+        // 1. META-INF/beans.xml
         List<Class> classes = new ArrayList<Class>();
-
-        // Look for all META-INF/beans.xml files and process those urls
-
-        // Add the managed bean classes
-
-        log.debug("getManagedClasses() Exit: " + classes.size() + " " + classes.toString());
-
-        // return the managed bean classes
+        
+        WebBeansScanner ws=new WebBeansScanner(bundle);
+        
+        ws.scanWebBeans();
+        
+        Set<Bean<?>> beanSet=ws.getWebBeans();
+        
+        for (Bean<?> bean:beanSet){
+            
+            classes.add(bean.getBeanClass()) ;
+            
+            log.error("-------------------------------bean.getBeanClass()="+bean.getBeanClass());
+            
+        }
+        
         return classes;
     }
 
-    public static final GBeanInfo GBEAN_INFO;
-
-    static {
-        GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(OpenWebBeansModuleBuilderExtension.class, NameFactory.MODULE_BUILDER);
-        infoBuilder.addAttribute("defaultEnvironment", Environment.class, true, true);
-        infoBuilder.addReference("NamingBuilders", NamingBuilder.class, NameFactory.MODULE_BUILDER);
-
-        infoBuilder.setConstructor(new String[]{
-                "defaultEnvironment",
-                "NamingBuilders"});
-        GBEAN_INFO = infoBuilder.getBeanInfo();
-    }
-
-    public static GBeanInfo getGBeanInfo() {
-        return GBEAN_INFO;
-    }
+    
 
 }

Added: geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/WebBeansScanner.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/WebBeansScanner.java?rev=933880&view=auto
==============================================================================
--- geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/WebBeansScanner.java (added)
+++ geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/WebBeansScanner.java Wed Apr 14 08:48:23 2010
@@ -0,0 +1,115 @@
+/*
+ * 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.geronimo.openwebbeans.deployment;
+
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+
+import org.apache.geronimo.kernel.osgi.BundleClassLoader;
+import org.apache.webbeans.config.WebBeansContainerDeployer;
+import org.apache.webbeans.container.BeanManagerImpl;
+import org.apache.webbeans.container.activity.ActivityManager;
+import org.apache.webbeans.plugins.PluginLoader;
+import org.apache.webbeans.spi.ServiceLoader;
+import org.apache.webbeans.spi.deployer.MetaDataDiscoveryService;
+import org.apache.webbeans.xml.WebBeansXMLConfigurator;
+import org.osgi.framework.Bundle;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @version $Rev $Date
+ */
+public final class WebBeansScanner {
+    // Logger instance
+    private static final Logger logger = LoggerFactory.getLogger(WebBeansScanner.class);
+
+    /** Root container. */
+    // Activities are removed from the specification.
+    private final BeanManagerImpl rootManager;
+
+    /** XML discovery. */
+    // XML discovery is removed from the specification. It is here for next revisions of spec.
+    private final WebBeansXMLConfigurator xmlDeployer;
+
+    /** Discover bean classes */
+    private MetaDataDiscoveryService discovery = null;
+
+    /** Deploy discovered beans */
+    private final WebBeansContainerDeployer deployer;
+
+    private final Bundle bundle;
+
+    /**
+     * Creates a new WebBeansScanner instance and initializes the instance variables.
+     */
+    public WebBeansScanner(Bundle bundle) {
+        
+        this.bundle = bundle;
+        ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
+        BundleClassLoader bundleClassloader = new BundleClassLoader(bundle);
+        Thread.currentThread().setContextClassLoader(bundleClassloader);
+        
+
+        this.rootManager = new BeanManagerImpl();
+        this.xmlDeployer = new WebBeansXMLConfigurator();
+        this.deployer = new WebBeansContainerDeployer(this.xmlDeployer);
+        this.rootManager.setXMLConfigurator(this.xmlDeployer);
+        ActivityManager.getInstance().setRootActivity(this.rootManager);
+        
+        
+
+        Thread.currentThread().setContextClassLoader(oldCL);
+    }
+
+    public void scanWebBeans() {
+
+        long begin = System.currentTimeMillis();
+
+        this.discovery = ServiceLoader.getService(MetaDataDiscoveryService.class);
+        this.discovery.init(null);
+
+        // load all optional plugins
+        PluginLoader.getInstance().startUp();
+
+        ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
+
+        BundleClassLoader bundleClassloader = new BundleClassLoader(bundle);
+        Thread.currentThread().setContextClassLoader(bundleClassloader);
+
+        this.discovery.scan();
+
+        Thread.currentThread().setContextClassLoader(oldCL);
+
+        logger.info("Scanning is ended");
+
+        logger.info("Deploying the scanned beans artifacts");
+
+        deployer.deploy(this.discovery);
+
+        logger.info("Deploying is ended");
+
+        long end = System.currentTimeMillis();
+        logger.info("Dependency injection container configuration is ended, takes " + Long.toString(end - begin)
+                + " ms.");
+
+    }
+
+    Set<Bean<?>> getWebBeans() {
+
+        return rootManager.getBeans();
+    }
+
+}
\ No newline at end of file

Propchange: geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/WebBeansScanner.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans/pom.xml?rev=933880&r1=933879&r2=933880&view=diff
==============================================================================
--- geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans/pom.xml (original)
+++ geronimo/sandbox/shawn/openwebbeans/geronimo-openwebbeans/pom.xml Wed Apr 14 08:48:23 2010
@@ -34,6 +34,7 @@
     <name>Geronimo Plugins, OpenWebBeans :: Core</name>
     
     <dependencies>
+    
         <dependency>
             <groupId>org.apache.geronimo.modules</groupId>
             <artifactId>geronimo-j2ee</artifactId>
@@ -46,10 +47,83 @@
             <version>${version}</version>
         </dependency>
         
+ 
+        <dependency>
+            <groupId>org.apache.geronimo.bundles</groupId>
+            <artifactId>atinject-api</artifactId>
+            <version>1.0.0-incubating-M3_1-SNAPSHOT</version>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-interceptor_1.1_spec</artifactId>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-el_2.2_spec</artifactId>
+        </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-servlet_3.0_spec</artifactId>
+		</dependency>        
+		
         <dependency>
-            <groupId>org.apache.openwebbeans</groupId>
-            <artifactId>openwebbeans-impl</artifactId>
+		    <groupId>org.apache.geronimo.specs</groupId>
+		    <artifactId>geronimo-jsp_2.2_spec</artifactId>
+		</dependency>
+  
+        <dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-annotation_1.1_spec</artifactId>
+		        <optional>true</optional>
+        </dependency>
+  
+        <dependency>
+             <groupId>org.apache.geronimo.bundles</groupId>
+             <artifactId>openwebbeans-api</artifactId>
+            <version>1.0.0-incubating-M3_1-SNAPSHOT</version>
         </dependency>
+
+
+        
+        <dependency>
+            <groupId>org.apache.servicemix.bundles</groupId>
+            <artifactId>org.apache.servicemix.bundles.dom4j</artifactId>
+            <version>1.6.1_3-SNAPSHOT</version>
+        </dependency>
+
+		<dependency>
+            <groupId>org.apache.servicemix.bundles</groupId>
+            <artifactId>org.apache.servicemix.bundles.javassist</artifactId>
+            <version>3.7.ga_1-SNAPSHOT</version>
+		</dependency>
+        
+        <dependency>
+             <groupId>org.apache.geronimo.bundles</groupId>
+             <artifactId>scannotation</artifactId>
+            <version>1.0.2_1-SNAPSHOT</version>
+        </dependency>
+        
+        <dependency>
+             <groupId>org.apache.geronimo.bundles</groupId>
+             <artifactId>openwebbeans-impl</artifactId>
+            <version>1.0.0-incubating-M3_1-SNAPSHOT</version>
+        </dependency>
+        
+        <dependency>
+             <groupId>org.apache.geronimo.bundles</groupId>
+            <artifactId>openwebbeans-jsf</artifactId>
+            <version>1.0.0-incubating-M3_1-SNAPSHOT</version>            
+        </dependency>
+
     </dependencies>
 
 </project>

Modified: geronimo/sandbox/shawn/openwebbeans/openwebbeans-deployer/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/shawn/openwebbeans/openwebbeans-deployer/pom.xml?rev=933880&r1=933879&r2=933880&view=diff
==============================================================================
--- geronimo/sandbox/shawn/openwebbeans/openwebbeans-deployer/pom.xml (original)
+++ geronimo/sandbox/shawn/openwebbeans/openwebbeans-deployer/pom.xml Wed Apr 14 08:48:23 2010
@@ -1,38 +1,42 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-    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.
--->
+    <!--
+        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.
+    -->
+
+    <!--
+        $Rev: 805240 $ $Date: 2009-08-17 18:02:22 -0700 (Mon, 17 Aug
+        2009) $
+    -->
 
-<!-- $Rev: 805240 $ $Date: 2009-08-17 18:02:22 -0700 (Mon, 17 Aug 2009) $ -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
     <modelVersion>4.0.0</modelVersion>
-    
+
     <parent>
         <groupId>org.apache.geronimo.plugins</groupId>
         <artifactId>openwebbeans</artifactId>
         <version>3.0-SNAPSHOT</version>
     </parent>
-    
+
     <groupId>org.apache.geronimo.configs</groupId>
     <artifactId>openwebbeans-deployer</artifactId>
     <name>Geronimo Plugins, OpenWebBeans :: Deployer</name>
     <packaging>car</packaging>
-    
+
     <dependencies>
         <!-- parent -->
         <dependency>
@@ -41,14 +45,15 @@
             <version>${version}</version>
             <type>car</type>
         </dependency>
-        
+
+
         <dependency>
             <groupId>org.apache.geronimo.configs</groupId>
             <artifactId>openwebbeans</artifactId>
             <version>${version}</version>
             <type>car</type>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.geronimo.modules</groupId>
             <artifactId>geronimo-openwebbeans-builder</artifactId>
@@ -73,8 +78,10 @@
                     </dependencies>
                     <instance>
                         <plugin-artifact>
-                            <config-xml-content server="default" />
-                            <config-xml-content server="offline" />
+                            <config-xml-content
+                                server="default" />
+                            <config-xml-content
+                                server="offline" />
                         </plugin-artifact>
                     </instance>
                 </configuration>

Modified: geronimo/sandbox/shawn/openwebbeans/openwebbeans/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/shawn/openwebbeans/openwebbeans/pom.xml?rev=933880&r1=933879&r2=933880&view=diff
==============================================================================
--- geronimo/sandbox/shawn/openwebbeans/openwebbeans/pom.xml (original)
+++ geronimo/sandbox/shawn/openwebbeans/openwebbeans/pom.xml Wed Apr 14 08:48:23 2010
@@ -58,10 +58,6 @@
             <version>${version}</version>
         </dependency>
 
-        <dependency>
-            <groupId>org.apache.openwebbeans</groupId>
-            <artifactId>openwebbeans-impl</artifactId>
-        </dependency>
 
     </dependencies>
 

Modified: geronimo/sandbox/shawn/openwebbeans/openwebbeans/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/shawn/openwebbeans/openwebbeans/src/main/history/dependencies.xml?rev=933880&r1=933879&r2=933880&view=diff
==============================================================================
--- geronimo/sandbox/shawn/openwebbeans/openwebbeans/src/main/history/dependencies.xml (original)
+++ geronimo/sandbox/shawn/openwebbeans/openwebbeans/src/main/history/dependencies.xml Wed Apr 14 08:48:23 2010
@@ -7,22 +7,27 @@
         <type>car</type>
     </module-id>
     <dependency>
-        <groupId>dom4j</groupId>
-        <artifactId>dom4j</artifactId>
+        <groupId>org.apache.geronimo.bundles</groupId>
+        <artifactId>atinject-api</artifactId>
         <type>jar</type>
     </dependency>
     <dependency>
-        <groupId>javassist</groupId>
-        <artifactId>javassist</artifactId>
+        <groupId>org.apache.geronimo.bundles</groupId>
+        <artifactId>openwebbeans-api</artifactId>
         <type>jar</type>
     </dependency>
     <dependency>
-        <groupId>log4j</groupId>
-        <artifactId>log4j</artifactId>
+        <groupId>org.apache.geronimo.bundles</groupId>
+        <artifactId>openwebbeans-impl</artifactId>
         <type>jar</type>
     </dependency>
     <dependency>
-        <groupId>net.sf.scannotation</groupId>
+        <groupId>org.apache.geronimo.bundles</groupId>
+        <artifactId>openwebbeans-jsf</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.bundles</groupId>
         <artifactId>scannotation</artifactId>
         <type>jar</type>
     </dependency>
@@ -37,18 +42,33 @@
         <type>jar</type>
     </dependency>
     <dependency>
-        <groupId>org.apache.openwebbeans</groupId>
-        <artifactId>atinject-api</artifactId>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-el_2.2_spec</artifactId>
         <type>jar</type>
     </dependency>
     <dependency>
-        <groupId>org.apache.openwebbeans</groupId>
-        <artifactId>openwebbeans-api</artifactId>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-interceptor_1.1_spec</artifactId>
         <type>jar</type>
     </dependency>
     <dependency>
-        <groupId>org.apache.openwebbeans</groupId>
-        <artifactId>openwebbeans-impl</artifactId>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jsp_2.2_spec</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-servlet_3.0_spec</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.servicemix.bundles</groupId>
+        <artifactId>org.apache.servicemix.bundles.dom4j</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.servicemix.bundles</groupId>
+        <artifactId>org.apache.servicemix.bundles.javassist</artifactId>
         <type>jar</type>
     </dependency>
     <dependency>