You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2010/09/07 02:34:47 UTC

svn commit: r993185 [1/2] - in /geronimo/server/trunk: framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/ plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/con...

Author: djencks
Date: Tue Sep  7 00:34:46 2010
New Revision: 993185

URL: http://svn.apache.org/viewvc?rev=993185&view=rev
Log:
GERONIMO-5567 rewrite jetty integration to use a openejb-like info tree and the *Registration interfaces.  This gets everything started in the right order and is a lot simpler.  Old code still needs to be removed

Added:
    geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/DefaultWebAppInfoFactory.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/StandardWebAppInfoFactory.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoBuilder.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoFactory.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/utils/WebAppXmlAttributeBuilder.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/assembler/
    geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/assembler/Assembler.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/
    geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterInfo.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterMappingInfo.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/MultipartConfigInfo.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/ServletInfo.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/WebAppInfo.java
    geronimo/server/trunk/plugins/j2ee/javaee-builder-support/
      - copied from r991050, geronimo/server/trunk/plugins/j2ee/j2ee-deployer/
Modified:
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/GBeanBuilder.java
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeBuilder.java
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeEditor.java
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/SingleGBeanBuilder.java
    geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/XmlAttributeBuilder.java
    geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/css/CSSConfigEditor.java
    geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/tss/TSSConfigEditor.java
    geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/test/java/org/apache/geronimo/corba/security/config/tss/TSSConfigEditorTest.java
    geronimo/server/trunk/plugins/corba/geronimo-yoko/src/test/java/org/apache/geronimo/yoko/TSSConfigEditorTest.java
    geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java
    geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/CredentialStoreBuilder.java
    geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/LoginConfigBuilder.java
    geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/j2ee/javaee-builder-support/pom.xml
    geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/plan/plan.xml
    geronimo/server/trunk/plugins/j2ee/pom.xml
    geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java
    geronimo/server/trunk/plugins/jetty8/jetty8-deployer/pom.xml
    geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/jetty8/jetty8-deployer/src/main/plan/plan.xml

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/EnvironmentBuilder.java Tue Sep  7 00:34:46 2010
@@ -285,7 +285,7 @@ public class EnvironmentBuilder extends 
         return NAMESPACE;
     }
 
-    public Object getValue(XmlObject xmlObject, String type, Bundle bundle) throws DeploymentException {
+    public Object getValue(XmlObject xmlObject, XmlObject enclosing, String type, Bundle bundle) throws DeploymentException {
 
         EnvironmentType environmentType;
         if (xmlObject instanceof EnvironmentType) {
@@ -321,7 +321,7 @@ public class EnvironmentBuilder extends 
         try {
             EnvironmentDocument environmentDocument = EnvironmentDocument.Factory.parse(text);
             EnvironmentType environmentType = environmentDocument.getEnvironment();
-            Environment environment = (Environment) getValue(environmentType, null, null);
+            Environment environment = (Environment) getValue(environmentType, null, null, null);
             setValue(environment);
 
         } catch (XmlException e) {

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/GBeanBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/GBeanBuilder.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/GBeanBuilder.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/GBeanBuilder.java Tue Sep  7 00:34:46 2010
@@ -133,7 +133,7 @@ public class GBeanBuilder implements Nam
                 if (anys.length != 1) {
                     throw new DeploymentException("Unexpected count of xs:any elements in xml-attribute " + anys.length + " qnameset: " + XmlAttributeType.type.qnameSetForWildcardElements());
                 }
-                builder.setXmlAttribute(name, anys[0]);
+                builder.setXmlAttribute(name, anys[0], xmlAttributeType);
             }
         }
 

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeBuilder.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeBuilder.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeBuilder.java Tue Sep  7 00:34:46 2010
@@ -45,7 +45,7 @@ public class JavaBeanXmlAttributeBuilder
         return NAMESPACE;
     }
 
-    public Object getValue(XmlObject xmlObject, String type, Bundle bundle) throws DeploymentException {
+    public Object getValue(XmlObject xmlObject, XmlObject enclosing, String type, Bundle bundle) throws DeploymentException {
         JavabeanType javabean = (JavabeanType) xmlObject.copy().changeType(JavabeanType.type);
         return internalGetValue(javabean, type, bundle);
     }
@@ -125,7 +125,7 @@ public class JavaBeanXmlAttributeBuilder
                 PropertyDescriptor propertyDescriptor = propertyDescriptors[j];
                 if (propertyName.equals(propertyDescriptor.getName())) {
                     String propertyType = propertyDescriptor.getPropertyType().getName();
-                    Object value = getValue(innerBean, propertyType, bundle);
+                    Object value = getValue(innerBean, beanProperty, propertyType, bundle);
                     Method m = propertyDescriptor.getWriteMethod();
                     try {
                         m.invoke(instance, new Object[] {value});

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeEditor.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeEditor.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeEditor.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/JavaBeanXmlAttributeEditor.java Tue Sep  7 00:34:46 2010
@@ -81,7 +81,7 @@ public class JavaBeanXmlAttributeEditor 
             JavabeanType javaBeanType = document.getJavabean();
             
             Object javabean = xmlAttributeBuilder.getValue(javaBeanType,
-                javaBeanClazz.getName(),
+                    document, javaBeanClazz.getName(),
                 bundle);
 
             setValue(javabean);

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/SingleGBeanBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/SingleGBeanBuilder.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/SingleGBeanBuilder.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/SingleGBeanBuilder.java Tue Sep  7 00:34:46 2010
@@ -92,7 +92,7 @@ public class SingleGBeanBuilder {
         }
     }
 
-    public void setXmlAttribute(String name, XmlObject xmlObject) throws DeploymentException {
+    public void setXmlAttribute(String name, XmlObject xmlObject, XmlObject enclosing) throws DeploymentException {
         String namespace = xmlObject.getDomNode().getNamespaceURI();
         XmlAttributeBuilder builder = (XmlAttributeBuilder) xmlAttributeBuilderMap.get(namespace);
         if (builder == null) {
@@ -103,7 +103,7 @@ public class SingleGBeanBuilder {
             throw new DeploymentException("Unknown attribute " + name + " on " + gbean.getAbstractName());
         }
         String type = attribute.getType();
-        Object value = builder.getValue(xmlObject, type, bundle);
+        Object value = builder.getValue(xmlObject, enclosing, type, bundle);
         gbean.setAttribute(name, value);
     }
 

Modified: geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/XmlAttributeBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/XmlAttributeBuilder.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/XmlAttributeBuilder.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-service-builder/src/main/java/org/apache/geronimo/deployment/service/XmlAttributeBuilder.java Tue Sep  7 00:34:46 2010
@@ -27,6 +27,6 @@ public interface XmlAttributeBuilder {
 
     String getNamespace();
 
-    Object getValue(XmlObject xmlObject, String type, Bundle bundle) throws DeploymentException;
+    Object getValue(XmlObject xmlObject, XmlObject enclosing, String type, Bundle bundle) throws DeploymentException;
 
 }

Modified: geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/css/CSSConfigEditor.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/css/CSSConfigEditor.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/css/CSSConfigEditor.java (original)
+++ geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/css/CSSConfigEditor.java Tue Sep  7 00:34:46 2010
@@ -78,7 +78,7 @@ public class CSSConfigEditor implements 
     }
 
     @Override
-    public Object getValue(XmlObject xmlObject, String type, Bundle bundle) throws DeploymentException {
+    public Object getValue(XmlObject xmlObject, XmlObject enclosing, String type, Bundle bundle) throws DeploymentException {
 
         CSSCssType css;
         if (xmlObject instanceof CSSCssType) {

Modified: geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/tss/TSSConfigEditor.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/tss/TSSConfigEditor.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/tss/TSSConfigEditor.java (original)
+++ geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/main/java/org/apache/geronimo/corba/deployment/security/config/tss/TSSConfigEditor.java Tue Sep  7 00:34:46 2010
@@ -90,7 +90,7 @@ public class TSSConfigEditor implements 
      *          An IOException occured.
      */
     @Override
-    public Object getValue(XmlObject xmlObject, String type, Bundle bundle) throws DeploymentException {
+    public Object getValue(XmlObject xmlObject, XmlObject enclosing, String type, Bundle bundle) throws DeploymentException {
         TSSTssType tss;
         if (xmlObject instanceof TSSTssType) {
             tss = (TSSTssType) xmlObject;

Modified: geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/test/java/org/apache/geronimo/corba/security/config/tss/TSSConfigEditorTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/test/java/org/apache/geronimo/corba/security/config/tss/TSSConfigEditorTest.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/test/java/org/apache/geronimo/corba/security/config/tss/TSSConfigEditorTest.java (original)
+++ geronimo/server/trunk/plugins/corba/geronimo-corba-builder/src/test/java/org/apache/geronimo/corba/security/config/tss/TSSConfigEditorTest.java Tue Sep  7 00:34:46 2010
@@ -67,7 +67,7 @@ public class TSSConfigEditorTest extends
     public void testSimple1() throws Exception {
         XmlObject xmlObject = getXmlObject(TEST_XML1);
         TSSConfigEditor editor = new TSSConfigEditor();
-        Object o = editor.getValue(xmlObject, null, null);
+        Object o = editor.getValue(xmlObject, null, null, null);
         TSSConfig tss = (TSSConfig) o;
         assertFalse(tss.isInherit());
         assertNotNull(tss.getTransport_mech());
@@ -76,7 +76,7 @@ public class TSSConfigEditorTest extends
     public void testSimple2() throws Exception {
         XmlObject xmlObject = getXmlObject(TEST_XML2);
         TSSConfigEditor editor = new TSSConfigEditor();
-        TSSConfig tss = (TSSConfig) editor.getValue(xmlObject, null, null);
+        TSSConfig tss = (TSSConfig) editor.getValue(xmlObject, null, null, null);
         assertTrue(tss.isInherit());
         assertNotNull(tss.getTransport_mech());
         assertTrue(tss.getTransport_mech() instanceof TSSNULLTransportConfig);
@@ -86,7 +86,7 @@ public class TSSConfigEditorTest extends
         try {
             XmlObject xmlObject = getXmlObject(TEST_XML3);
             TSSConfigEditor editor = new TSSConfigEditor();
-            TSSConfig tss = (TSSConfig) editor.getValue(xmlObject, null, null);
+            TSSConfig tss = (TSSConfig) editor.getValue(xmlObject, null, null, null);
             fail("Should fail");
         } catch (DeploymentException e) {
         }

Modified: geronimo/server/trunk/plugins/corba/geronimo-yoko/src/test/java/org/apache/geronimo/yoko/TSSConfigEditorTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/corba/geronimo-yoko/src/test/java/org/apache/geronimo/yoko/TSSConfigEditorTest.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/corba/geronimo-yoko/src/test/java/org/apache/geronimo/yoko/TSSConfigEditorTest.java (original)
+++ geronimo/server/trunk/plugins/corba/geronimo-yoko/src/test/java/org/apache/geronimo/yoko/TSSConfigEditorTest.java Tue Sep  7 00:34:46 2010
@@ -73,7 +73,7 @@ public class TSSConfigEditorTest extends
         CORBABean corbaBean = new CORBABean(testName, configAdapter, "localhost", 8050, getClass().getClassLoader(), null, null);
         XmlObject xmlObject = getXmlObject(TEST_XML4);
         TSSConfigEditor editor = new TSSConfigEditor();
-        Object o = editor.getValue(xmlObject, null, bundle);
+        Object o = editor.getValue(xmlObject, null, null, bundle);
         TSSConfig tss = (TSSConfig) o;
 
         corbaBean.setTssConfig(tss);

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java Tue Sep  7 00:34:46 2010
@@ -34,6 +34,7 @@ import org.apache.xmlbeans.XmlObject;
 public class WebModule extends Module<WebApp, XmlObject> {
     private final String contextRoot;
     public static final String WEB_APP_DATA = "WEB_APP_DATA";
+    public static final String WEB_APP_INFO = "WEB_APP_INFO";
 
     public WebModule(boolean standAlone,
                      AbstractName moduleName,

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/CredentialStoreBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/CredentialStoreBuilder.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/CredentialStoreBuilder.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/CredentialStoreBuilder.java Tue Sep  7 00:34:46 2010
@@ -46,7 +46,7 @@ public class CredentialStoreBuilder impl
         return NAMESPACE;
     }
 
-    public Object getValue(XmlObject xmlObject, String type, Bundle bundle) throws DeploymentException {
+    public Object getValue(XmlObject xmlObject, XmlObject enclosing, String type, Bundle bundle) throws DeploymentException {
         Map<String, Map<String, Map<String, String>>> credentialStore = new HashMap<String, Map<String, Map<String, String>>>();
         CredentialStoreType cst = (CredentialStoreType) xmlObject.copy().changeType(CredentialStoreType.type);
         for (RealmType realmType: cst.getRealmArray()) {

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/LoginConfigBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/LoginConfigBuilder.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/LoginConfigBuilder.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-security-builder/src/main/java/org/apache/geronimo/security/deployment/LoginConfigBuilder.java Tue Sep  7 00:34:46 2010
@@ -183,7 +183,7 @@ public class LoginConfigBuilder implemen
                             if (builder == null) {
                                 throw new DeploymentException("No attribute builder deployed for namespace: " + namespace);
                             }
-                            Object value = builder.getValue(xmlObject, null, bundle);
+                            Object value = builder.getValue(anys[0], xmlOptionType, null, bundle);
                             options.put(key, value);
                         }
                     }

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/DefaultWebAppInfoFactory.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/DefaultWebAppInfoFactory.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/DefaultWebAppInfoFactory.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/DefaultWebAppInfoFactory.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,54 @@
+/*
+ * 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.web25.deployment;
+
+import org.apache.geronimo.web.info.FilterInfo;
+import org.apache.geronimo.web.info.ServletInfo;
+import org.apache.geronimo.web.info.WebAppInfo;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class DefaultWebAppInfoFactory implements WebAppInfoFactory{
+    @Override
+    public WebAppInfo newWebAppInfo() {
+        return new WebAppInfo();
+    }
+
+    @Override
+    public FilterInfo newFilterInfo() {
+        return new FilterInfo();
+    }
+
+    @Override
+    public ServletInfo newServletInfo() {
+        return new ServletInfo();
+    }
+
+    @Override
+    public void complete(WebAppInfo webAppInfo) {
+    }
+
+    @Override
+    public ServletInfo newJspInfo(String jspFile) {
+        throw new IllegalStateException("default does not support jsps");
+    }
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/StandardWebAppInfoFactory.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/StandardWebAppInfoFactory.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/StandardWebAppInfoFactory.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/StandardWebAppInfoFactory.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,84 @@
+/*
+ * 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.web25.deployment;
+
+import java.util.ArrayList;
+
+import org.apache.geronimo.web.info.FilterInfo;
+import org.apache.geronimo.web.info.ServletInfo;
+import org.apache.geronimo.web.info.WebAppInfo;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class StandardWebAppInfoFactory extends DefaultWebAppInfoFactory {
+
+    private final ServletInfo jspServletInfo;
+    private final WebAppInfo defaultWebAppInfo;
+
+    public StandardWebAppInfoFactory(WebAppInfo defaultWebAppInfo, ServletInfo jspServletInfo) {
+        this.defaultWebAppInfo = defaultWebAppInfo;
+        this.jspServletInfo = jspServletInfo;
+    }
+
+    @Override
+    public void complete(WebAppInfo webAppInfo) {
+        for (ServletInfo servletInfo: defaultWebAppInfo.servlets) {
+            webAppInfo.servlets.add(copy(servletInfo));
+        }
+        for (FilterInfo filterInfo: defaultWebAppInfo.filters) {
+            webAppInfo.filters.add(copy(filterInfo));
+        }
+        webAppInfo.listeners.addAll(defaultWebAppInfo.listeners);
+        webAppInfo.contextParams.putAll(defaultWebAppInfo.contextParams);
+        webAppInfo.contextRoot = defaultWebAppInfo.contextRoot;
+    }
+
+    @Override
+    public ServletInfo newJspInfo(String jspFile) {
+        ServletInfo servletInfo = copy(jspServletInfo);
+        servletInfo.initParams.put("jspFile", jspFile);
+        return servletInfo;
+    }
+
+    protected ServletInfo copy(ServletInfo servletInfo) {
+        ServletInfo copy = new ServletInfo();
+        copy.servletClass = servletInfo.servletClass;
+        copy.servletMappings.addAll(servletInfo.servletMappings);
+        copy.servletName = servletInfo.servletName;
+        copy.asyncSupported = servletInfo.asyncSupported;
+        copy.initParams.putAll(servletInfo.initParams);
+        copy.loadOnStartup = servletInfo.loadOnStartup;
+        copy.runAsRole = servletInfo.runAsRole;
+        return copy;
+    }
+
+    protected FilterInfo copy(FilterInfo filterInfo) {
+        FilterInfo copy = new FilterInfo();
+        copy.filterName = filterInfo.filterName;
+        copy.filterClass = filterInfo.filterClass;
+        copy.servletMappings.addAll(filterInfo.servletMappings);
+        copy.urlMappings.addAll(filterInfo.urlMappings);
+        copy.asyncSupported = filterInfo.asyncSupported;
+        copy.initParams.putAll(filterInfo.initParams);
+        return copy;
+    }
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoBuilder.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoBuilder.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoBuilder.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,184 @@
+/*
+ * 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.web25.deployment;
+
+import java.util.ArrayList;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.DispatcherType;
+import org.apache.geronimo.common.DeploymentException;
+import org.apache.geronimo.web.info.FilterInfo;
+import org.apache.geronimo.web.info.FilterMappingInfo;
+import org.apache.geronimo.web.info.MultipartConfigInfo;
+import org.apache.geronimo.web.info.ServletInfo;
+import org.apache.geronimo.web.info.WebAppInfo;
+import org.apache.openejb.jee.Dispatcher;
+import org.apache.openejb.jee.Filter;
+import org.apache.openejb.jee.FilterMapping;
+import org.apache.openejb.jee.Listener;
+import org.apache.openejb.jee.MultipartConfig;
+import org.apache.openejb.jee.ParamValue;
+import org.apache.openejb.jee.Servlet;
+import org.apache.openejb.jee.ServletMapping;
+import org.apache.openejb.jee.WebApp;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class WebAppInfoBuilder {
+
+    private final WebApp webApp;
+    private final WebAppInfoFactory webAppInfoFactory;
+
+    public WebAppInfoBuilder(WebApp webApp, WebAppInfoFactory webAppInfoFactory) {
+        this.webApp = webApp;
+        this.webAppInfoFactory = webAppInfoFactory;
+    }
+
+    public WebAppInfo build() throws DeploymentException {
+        List<String> problems = new ArrayList<String>();
+        WebAppInfo webAppInfo = webAppInfoFactory.newWebAppInfo();
+        addParams(webApp.getContextParam(), webAppInfo.contextParams);
+        webAppInfo.contextRoot = webApp.getContextRoot();
+
+        for (Listener listener: webApp.getListener()) {
+            webAppInfo.listeners.add(listener.getListenerClass());
+        }
+
+        Map<String, ServletInfo> servletMap = new HashMap<String, ServletInfo>();
+        for (Servlet servlet: webApp.getServlet()) {
+            ServletInfo servletInfo;
+            if (servlet.getServletClass() != null) {
+                servletInfo = webAppInfoFactory.newServletInfo();
+                servletInfo.servletClass = servlet.getServletClass();
+            } else if (servlet.getJspFile() != null) {
+                servletInfo = webAppInfoFactory.newJspInfo(servlet.getJspFile());
+            } else {
+                problems.add("\nNo servlet class or jsp file for servlet " + servlet.getServletName());
+                continue;
+            }
+            servletInfo.servletName = servlet.getServletName();
+            if (servlet.getAsyncSupported() != null) {
+                servletInfo.asyncSupported = servlet.getAsyncSupported();
+            }
+            servletInfo.loadOnStartup = servlet.getLoadOnStartup();
+            if (servlet.getRunAs() != null) {
+                servletInfo.runAsRole = servlet.getRunAs().getRoleName();
+            }
+            if (servlet.getMultipartConfig() != null) {
+                MultipartConfig multipartConfig = servlet.getMultipartConfig();
+                MultipartConfigInfo multipartConfigInfo = new MultipartConfigInfo();
+                multipartConfigInfo.location = multipartConfig.getLocation();
+                multipartConfigInfo.maxFileSize = multipartConfig.getMaxFileSize();
+                multipartConfigInfo.maxRequestSize = multipartConfig.getMaxRequestSize();
+                multipartConfigInfo.fileSizeThreshold = multipartConfig.getFileSizeThreshold();
+                servletInfo.multipartConfigInfo = multipartConfigInfo;
+            }
+            addParams(servlet.getInitParam(), servletInfo.initParams);
+            webAppInfo.servlets.add(servletInfo);
+            servletMap.put(servletInfo.servletName, servletInfo);
+        }
+        for (ServletMapping servletMapping: webApp.getServletMapping()) {
+            String servletName = servletMapping.getServletName();
+            ServletInfo servletInfo = servletMap.get(servletName);
+            if (servletInfo == null) {
+                problems.add("\nNo servlet matching servlet mappings for " + servletName);
+            } else {
+                normalizeUrlPatterns(servletMapping.getUrlPattern(), servletInfo.servletMappings);
+            }
+        }
+
+        Map<String, FilterInfo> filterMap = new HashMap<String, FilterInfo>();
+        for (Filter filter: webApp.getFilter()) {
+            FilterInfo filterInfo = webAppInfoFactory.newFilterInfo();
+            filterInfo.filterName = filter.getFilterName();
+            filterInfo.filterClass = filter.getFilterClass();
+            filterInfo.asyncSupported = filter.isAsyncSupported();
+            addParams(filter.getInitParam(), filterInfo.initParams);
+            webAppInfo.filters.add(filterInfo);
+            filterMap.put(filterInfo.filterName, filterInfo);
+        }
+        for (FilterMapping filterMapping: webApp.getFilterMapping()) {
+            String filterName = filterMapping.getFilterName();
+            FilterInfo filterInfo = filterMap.get(filterName);
+            if (filterInfo == null) {
+                problems.add("\nNo filter matching filter mappings for " + filterName);
+            } else {
+                if (!filterMapping.getServletName().isEmpty()) {
+                    FilterMappingInfo servletMapping = new FilterMappingInfo();
+                    servletMapping.dispatchers = toEnumSet(filterMapping.getDispatcher());
+                    servletMapping.mapping.addAll(filterMapping.getServletName());
+                    filterInfo.servletMappings.add(servletMapping);
+                }
+                if (!filterMapping.getUrlPattern().isEmpty()) {
+                    FilterMappingInfo urlMapping = new FilterMappingInfo();
+                    urlMapping.dispatchers = toEnumSet(filterMapping.getDispatcher());
+                    normalizeUrlPatterns(filterMapping.getUrlPattern(), urlMapping.mapping);
+                    filterInfo.urlMappings.add(urlMapping);
+                }
+            }
+        }
+
+        webAppInfoFactory.complete(webAppInfo);
+
+        if (!problems.isEmpty()) {
+            throw new DeploymentException("Problems encountered parsing web.xml: " + problems);
+        }
+        return webAppInfo;
+    }
+
+    public static void normalizeUrlPatterns(List<String> source, List<String> target) {
+        for (String pattern: source) {
+            pattern = pattern.trim();
+            if (!pattern.startsWith("*") && !pattern.startsWith("/")) {
+                pattern = "/" + pattern;
+                //log.info("corrected url pattern to " + pattern);
+            }
+            target.add(pattern);
+        }
+    }
+
+    protected void addParams(List<ParamValue> params, Map<String, String> paramMap) {
+        for (ParamValue paramValue: params) {
+            if (!paramMap.containsKey(paramValue.getParamName())) {
+                paramMap.put(paramValue.getParamName(), paramValue.getParamValue());
+            }
+        }
+    }
+
+    private EnumSet<DispatcherType> toEnumSet(List<Dispatcher> dispatchers) {
+        if (dispatchers.isEmpty()) {
+            return EnumSet.of(DispatcherType.REQUEST);
+        }
+        List<DispatcherType> types = new ArrayList<DispatcherType>(dispatchers.size());
+        for (Dispatcher dispatcher: dispatchers) {
+            types.add(toDispatcherType(dispatcher));
+        }
+        return EnumSet.copyOf(types);
+    }
+
+    private DispatcherType toDispatcherType(Dispatcher dispatcher) {
+        return DispatcherType.valueOf(dispatcher.name());
+    }
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoFactory.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoFactory.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoFactory.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/WebAppInfoFactory.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,40 @@
+/*
+ * 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.web25.deployment;
+
+import org.apache.geronimo.web.info.FilterInfo;
+import org.apache.geronimo.web.info.ServletInfo;
+import org.apache.geronimo.web.info.WebAppInfo;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public interface WebAppInfoFactory {
+
+    WebAppInfo newWebAppInfo();
+    FilterInfo newFilterInfo();
+    ServletInfo newServletInfo();
+
+    void complete(WebAppInfo webAppInfo);
+
+    ServletInfo newJspInfo(String jspFile);
+
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/utils/WebAppXmlAttributeBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/utils/WebAppXmlAttributeBuilder.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/utils/WebAppXmlAttributeBuilder.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/utils/WebAppXmlAttributeBuilder.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,89 @@
+/*
+ * 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.web25.deployment.utils;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.ValidationEvent;
+import javax.xml.bind.ValidationEventHandler;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import org.apache.geronimo.common.DeploymentException;
+import org.apache.geronimo.deployment.service.XmlAttributeBuilder;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.web25.deployment.DefaultWebAppInfoFactory;
+import org.apache.geronimo.web25.deployment.WebAppInfoBuilder;
+import org.apache.openejb.jee.JAXBContextFactory;
+import org.apache.openejb.jee.Servlet;
+import org.apache.openejb.jee.WebApp;
+import org.apache.xmlbeans.XmlObject;
+import org.osgi.framework.Bundle;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+
+@GBean(j2eeType = "XmlAttributeBuilder")
+public class WebAppXmlAttributeBuilder implements XmlAttributeBuilder {
+
+    @Override
+    public String getNamespace() {
+        return "http://java.sun.com/xml/ns/javaee";
+    }
+
+    @Override
+    public Object getValue(XmlObject xmlObject, XmlObject enclosing, String s, Bundle bundle) throws DeploymentException {
+        try {
+            XMLStreamReader reader = enclosing.newXMLStreamReader();
+            while (reader.hasNext() && reader.next() != 1);
+            if (s.endsWith("WebAppInfo")) {
+                WebApp webApp = (WebApp) unmarshalJavaee(WebApp.class, reader);
+                return new WebAppInfoBuilder(webApp, new DefaultWebAppInfoFactory()).build();
+            }
+            throw new DeploymentException("Unrecognized xml: " + enclosing.xmlText());
+        } catch (XMLStreamException e) {
+            throw new DeploymentException("xml problem", e);
+        }
+    }
+
+    public static <T>Object unmarshalJavaee(Class<T> type, XMLStreamReader in) throws DeploymentException {
+
+        try {
+            JAXBContext ctx = JAXBContextFactory.newInstance(type);
+            Unmarshaller unmarshaller = ctx.createUnmarshaller();
+            unmarshaller.setEventHandler(new ValidationEventHandler(){
+                public boolean handleEvent(ValidationEvent validationEvent) {
+                    System.out.println(validationEvent);
+                    return false;
+                }
+            });
+
+
+            JAXBElement<T> element = unmarshaller.unmarshal(in, type);
+            return element.getValue();
+        } catch (JAXBException e) {
+            throw new DeploymentException("parsing problem", e);
+        }
+    }
+
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/assembler/Assembler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/assembler/Assembler.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/assembler/Assembler.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/assembler/Assembler.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,91 @@
+/*
+ * 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.web.assembler;
+
+import java.util.Map;
+
+import javax.servlet.FilterRegistration;
+import javax.servlet.MultipartConfigElement;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletRegistration;
+import org.apache.geronimo.web.info.FilterInfo;
+import org.apache.geronimo.web.info.FilterMappingInfo;
+import org.apache.geronimo.web.info.ServletInfo;
+import org.apache.geronimo.web.info.WebAppInfo;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class Assembler {
+
+    public void assemble(ServletContext servletContext, WebAppInfo webAppInfo) {
+        for (Map.Entry<String, String> entry: webAppInfo.contextParams.entrySet()) {
+            servletContext.setInitParameter(entry.getKey(), entry.getValue());
+        }
+        for (ServletInfo servletInfo: webAppInfo.servlets) {
+            addServlet(servletContext, servletInfo);
+        }
+        for (FilterInfo filterInfo: webAppInfo.filters) {
+            addFilter(servletContext, filterInfo);
+        }
+        for (String listener: webAppInfo.listeners) {
+            addListener(servletContext, listener);
+        }
+//        servletContext.declareRoles();
+//        servletContext.setSessionTrackingModes();
+    }
+
+    private void addListener(ServletContext servletContext, String listener) {
+        servletContext.addListener(listener);
+    }
+
+    private FilterRegistration.Dynamic addFilter(ServletContext servletContext, FilterInfo filterInfo) {
+        FilterRegistration.Dynamic filterRegistration = servletContext.addFilter(filterInfo.filterName, filterInfo.filterClass);
+        filterRegistration.setAsyncSupported(filterInfo.asyncSupported);
+        filterRegistration.setInitParameters(filterInfo.initParams);
+        for (FilterMappingInfo servletMapping: filterInfo.servletMappings) {
+            filterRegistration.addMappingForServletNames(servletMapping.dispatchers, true, servletMapping.mapping.toArray(new String[servletMapping.mapping.size()]));
+        }
+        for (FilterMappingInfo urlMapping: filterInfo.urlMappings) {
+            filterRegistration.addMappingForUrlPatterns(urlMapping.dispatchers, true, urlMapping.mapping.toArray(new String[urlMapping.mapping.size()]));
+        }
+        return filterRegistration;
+    }
+
+    protected ServletRegistration.Dynamic addServlet(ServletContext servletContext, ServletInfo servletInfo) {
+        ServletRegistration.Dynamic servletRegistration = servletContext.addServlet(servletInfo.servletName, servletInfo.servletClass);
+        servletRegistration.setInitParameters(servletInfo.initParams);
+        servletRegistration.setAsyncSupported(servletInfo.asyncSupported);
+        if (servletInfo.loadOnStartup != null) {
+            servletRegistration.setLoadOnStartup(servletInfo.loadOnStartup);
+        }
+        if (servletInfo.multipartConfigInfo != null) {
+            servletRegistration.setMultipartConfig(new MultipartConfigElement(servletInfo.multipartConfigInfo.location,
+                    servletInfo.multipartConfigInfo.maxFileSize,
+                    servletInfo.multipartConfigInfo.maxRequestSize,
+                    servletInfo.multipartConfigInfo.fileSizeThreshold));
+        }
+        servletRegistration.setRunAsRole(servletInfo.runAsRole);
+//        servletRegistration.setServletSecurity();
+        servletRegistration.addMapping(servletInfo.servletMappings.toArray(new String[servletInfo.servletMappings.size()]));
+        return servletRegistration;
+    }
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterInfo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterInfo.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterInfo.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterInfo.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,41 @@
+/*
+ * 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.web.info;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class FilterInfo implements Serializable {
+
+    public String filterName;
+    public String filterClass;
+    public boolean asyncSupported;
+    public final List<FilterMappingInfo> urlMappings = new ArrayList<FilterMappingInfo>();
+    public final List<FilterMappingInfo> servletMappings = new ArrayList<FilterMappingInfo>();
+    public final Map<String, String> initParams = new HashMap<String, String>();
+    
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterMappingInfo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterMappingInfo.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterMappingInfo.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/FilterMappingInfo.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,37 @@
+/*
+ * 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.web.info;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.EnumSet;
+import java.util.List;
+
+import javax.servlet.DispatcherType;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class FilterMappingInfo implements Serializable {
+
+    public EnumSet<DispatcherType> dispatchers;
+    public final List<String> mapping = new ArrayList<String>();
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/MultipartConfigInfo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/MultipartConfigInfo.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/MultipartConfigInfo.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/MultipartConfigInfo.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,35 @@
+/*
+ * 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.web.info;
+
+import java.io.Serializable;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class MultipartConfigInfo implements Serializable {
+
+    public String location;
+    public long maxFileSize;
+    public long maxRequestSize;
+    public int fileSizeThreshold;
+
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/ServletInfo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/ServletInfo.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/ServletInfo.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/ServletInfo.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,43 @@
+/*
+ * 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.web.info;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class ServletInfo implements Serializable {
+
+    public String servletName;
+    public String servletClass;
+    public final Map<String, String> initParams = new HashMap<String, String>();
+    public boolean asyncSupported;
+    public List<String> servletMappings = new ArrayList<String>();
+    public Integer loadOnStartup;
+    public String runAsRole;
+    public MultipartConfigInfo multipartConfigInfo;
+
+}

Added: geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/WebAppInfo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/WebAppInfo.java?rev=993185&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/WebAppInfo.java (added)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web/src/main/java/org/apache/geronimo/web/info/WebAppInfo.java Tue Sep  7 00:34:46 2010
@@ -0,0 +1,40 @@
+/*
+ * 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.web.info;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class WebAppInfo implements Serializable {
+
+    public String contextRoot;
+    public final List<FilterInfo> filters = new ArrayList<FilterInfo>();
+    public final List<ServletInfo> servlets = new ArrayList<ServletInfo>();
+    public final List<String> listeners = new ArrayList<String>();
+    public final Map<String, String> contextParams = new HashMap<String, String>();
+    
+}

Modified: geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml Tue Sep  7 00:34:46 2010
@@ -27,8 +27,33 @@
         <type>jar</type>
     </dependency>
     <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-osgi-registry</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
         <groupId>org.apache.servicemix.bundles</groupId>
         <artifactId>org.apache.servicemix.bundles.howl</artifactId>
         <type>jar</type>
     </dependency>
+    <dependency>
+        <groupId>org.apache.servicemix.bundles</groupId>
+        <artifactId>org.apache.servicemix.bundles.xpp3</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.xbean</groupId>
+        <artifactId>xbean-bundleutils</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.xbean</groupId>
+        <artifactId>xbean-finder</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.xbean</groupId>
+        <artifactId>xbean-reflect</artifactId>
+        <type>jar</type>
+    </dependency>
 </plugin-artifact>

Modified: geronimo/server/trunk/plugins/j2ee/javaee-builder-support/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/javaee-builder-support/pom.xml?rev=993185&r1=991050&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/javaee-builder-support/pom.xml (original)
+++ geronimo/server/trunk/plugins/j2ee/javaee-builder-support/pom.xml Tue Sep  7 00:34:46 2010
@@ -29,12 +29,12 @@
     </parent>
     
     <groupId>org.apache.geronimo.configs</groupId>
-    <artifactId>j2ee-deployer</artifactId>
-    <name>Geronimo Plugins, J2EE :: Deployer</name>
+    <artifactId>javaee-builder-support</artifactId>
+    <name>Geronimo Plugins, JavaEE :: Builder Support</name>
     <packaging>car</packaging>
 
     <description>
-        Basic JavaEE deployer functionality including the ear deployer.
+        XMLAttributeBuilder for default javaee descriptors as builder attributes
     </description>
 
     <dependencies>
@@ -45,26 +45,6 @@
             <type>car</type>
         </dependency>
 
-        <dependency>
-            <groupId>org.apache.geronimo.configs</groupId>
-            <artifactId>j2ee-server</artifactId>
-            <version>${project.version}</version>
-            <type>car</type>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.framework</groupId>
-            <artifactId>server-security-config</artifactId>
-            <version>${project.version}</version>
-            <type>car</type>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.modules</groupId>
-            <artifactId>geronimo-j2ee-schema</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
         <!--<dependency>-->
             <!--<groupId>org.apache.geronimo.schema</groupId>-->
             <!--<artifactId>geronimo-schema-javaee_6</artifactId>-->
@@ -86,17 +66,11 @@
             <!--<version>${project.version}</version>-->
         <!--</dependency>-->
 
-        <dependency>
-            <groupId>org.apache.geronimo.modules</groupId>
-            <artifactId>geronimo-naming-builder</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.modules</groupId>
-            <artifactId>geronimo-j2ee-builder</artifactId>
-            <version>${project.version}</version>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>org.apache.geronimo.modules</groupId>-->
+            <!--<artifactId>geronimo-naming-builder</artifactId>-->
+            <!--<version>${project.version}</version>-->
+        <!--</dependency>-->
 
         <dependency>
             <groupId>org.apache.geronimo.modules</groupId>
@@ -104,100 +78,54 @@
             <version>${project.version}</version>
         </dependency>
 
-        <dependency>
-            <groupId>org.apache.geronimo.modules</groupId>
-            <artifactId>geronimo-test-ddbean</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>org.apache.geronimo.modules</groupId>-->
+            <!--<artifactId>geronimo-web-2.5-builder</artifactId>-->
+            <!--<version>${project.version}</version>-->
+        <!--</dependency>-->
 
-        <dependency>
-            <groupId>org.apache.geronimo.modules</groupId>
-            <artifactId>geronimo-security-builder</artifactId>
-            <version>${project.version}</version>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>org.apache.geronimo.modules</groupId>-->
+            <!--<artifactId>geronimo-test-ddbean</artifactId>-->
+            <!--<version>${project.version}</version>-->
+            <!--<scope>test</scope>-->
+        <!--</dependency>-->
 
-        <dependency>
-            <groupId>org.apache.xbean</groupId>
-            <artifactId>xbean-finder</artifactId>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>org.apache.geronimo.modules</groupId>-->
+            <!--<artifactId>geronimo-security-builder</artifactId>-->
+            <!--<version>${project.version}</version>-->
+        <!--</dependency>-->
+
+        <!--<dependency>-->
+            <!--<groupId>org.apache.xbean</groupId>-->
+            <!--<artifactId>xbean-finder</artifactId>-->
+        <!--</dependency>-->
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.directory}/resources/schema</outputDirectory>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.apache.geronimo.modules</groupId>
-                                    <artifactId>geronimo-j2ee-builder</artifactId>
-                                    <version>${project.version}</version>
-                                </artifactItem>
-                                <artifactItem>
-                                    <groupId>org.apache.geronimo.modules</groupId>
-                                    <artifactId>geronimo-naming-builder</artifactId>
-                                    <version>${project.version}</version>
-                                </artifactItem>
-                                <artifactItem>
-                                    <groupId>org.apache.geronimo.modules</groupId>
-                                    <artifactId>geronimo-security-builder</artifactId>
-                                    <version>${project.version}</version>
-                                </artifactItem>
-                            </artifactItems>
-                            <includes>**/*.xsd</includes>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.geronimo.buildsupport</groupId>
                 <artifactId>car-maven-plugin</artifactId>
                 <configuration>
                     <category>JavaEE deployment</category>
-                    <dependencies>
-                        <dependency>
-                            <groupId>org.apache.geronimo.configs</groupId>
-                            <artifactId>j2ee-server</artifactId>
-                            <type>car</type>
-                            <import>classes</import>
-                        </dependency>
-                        <dependency>
-                            <groupId>org.apache.geronimo.framework</groupId>
-                            <artifactId>server-security-config</artifactId>
-                            <type>car</type>
-                            <import>classes</import>
-                        </dependency>
-                    </dependencies>
+                    <!--<dependencies>-->
+                        <!--<dependency>-->
+                            <!--<groupId>org.apache.geronimo.configs</groupId>-->
+                            <!--<artifactId>j2ee-server</artifactId>-->
+                            <!--<type>car</type>-->
+                            <!--<import>classes</import>-->
+                        <!--</dependency>-->
+                        <!--<dependency>-->
+                            <!--<groupId>org.apache.geronimo.framework</groupId>-->
+                            <!--<artifactId>server-security-config</artifactId>-->
+                            <!--<type>car</type>-->
+                            <!--<import>classes</import>-->
+                        <!--</dependency>-->
+                    <!--</dependencies>-->
 
                     <instance>
-                        <plugin-artifact>
-                            <config-xml-content>
-                                <gbean name="WebBuilder">
-                                    <attribute name="defaultNamespace">http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0</attribute>
-                                </gbean>
-                                <gbean name="EnvironmentEntryBuilder">
-                                    <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
-                                </gbean>
-                            </config-xml-content>
-                            <config-xml-content server="offline">
-                                <gbean name="WebBuilder">
-                                    <attribute name="defaultNamespace">http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0</attribute>
-                                </gbean>
-                                <gbean name="EnvironmentEntryBuilder">
-                                    <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
-                                </gbean>
-                            </config-xml-content>
-                            <copy-file dest-dir="schema">schema/schemaorg_apache_xmlbeans/src/</copy-file>
-                        </plugin-artifact>
                     </instance>
                 </configuration>
             </plugin>

Modified: geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/history/dependencies.xml?rev=993185&r1=991050&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/history/dependencies.xml Tue Sep  7 00:34:46 2010
@@ -2,14 +2,19 @@
 <plugin-artifact xmlns:ns2="http://geronimo.apache.org/xml/ns/attributes-1.2" xmlns="http://geronimo.apache.org/xml/ns/plugins-1.3">
     <module-id>
         <groupId>org.apache.geronimo.configs</groupId>
-        <artifactId>j2ee-deployer</artifactId>
+        <artifactId>javaee-builder-support</artifactId>
         <version>3.0-SNAPSHOT</version>
         <type>car</type>
     </module-id>
     <dependency>
-        <groupId>org.apache.geronimo.configs</groupId>
-        <artifactId>j2ee-server</artifactId>
-        <type>car</type>
+        <groupId>org.apache.geronimo.components</groupId>
+        <artifactId>geronimo-jaspi</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.components</groupId>
+        <artifactId>geronimo-transaction</artifactId>
+        <type>jar</type>
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.framework</groupId>
@@ -23,8 +28,13 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.framework</groupId>
-        <artifactId>server-security-config</artifactId>
-        <type>car</type>
+        <artifactId>geronimo-security</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.modules</groupId>
+        <artifactId>geronimo-j2ee</artifactId>
+        <type>jar</type>
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.modules</groupId>
@@ -63,6 +73,21 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-j2ee-connector_1.6_spec</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jacc_1.4_spec</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jaspic_1.0_spec</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
         <artifactId>geronimo-jaxws_2.2_spec</artifactId>
         <type>jar</type>
     </dependency>
@@ -72,11 +97,26 @@
         <type>jar</type>
     </dependency>
     <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-jta_1.1_spec</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-osgi-locator</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
         <groupId>org.apache.openejb</groupId>
         <artifactId>openejb-jee</artifactId>
         <type>jar</type>
     </dependency>
     <dependency>
+        <groupId>org.apache.servicemix.bundles</groupId>
+        <artifactId>org.apache.servicemix.bundles.howl</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
         <groupId>org.apache.xbean</groupId>
         <artifactId>xbean-bundleutils</artifactId>
         <type>jar</type>

Modified: geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/plan/plan.xml?rev=993185&r1=991050&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/plugins/j2ee/javaee-builder-support/src/main/plan/plan.xml Tue Sep  7 00:34:46 2010
@@ -20,160 +20,6 @@
 
 <module xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">
 
-    <gbean name="EARBuilder" class="org.apache.geronimo.j2ee.deployment.EARConfigBuilder">
-        <attribute name="transactionManagerAbstractName">?name=TransactionManager</attribute>
-        <attribute name="connectionTrackerAbstractName">?name=ConnectionTracker</attribute>
-        <attribute name="globalContextAbstractName">?name=JavaGlobalContext</attribute>
-        <attribute name="corbaGBeanAbstractName">?name=Server</attribute>
-        <attribute name="serverName">?j2eeType=J2EEServer#org.apache.geronimo.management.geronimo.J2EEServer</attribute>
-        <reference name="Repositories">
-            <!--<gbean-name>*:name=Repository,*</gbean-name>-->
-        </reference>
-        <reference name="WebConfigBuilder">
-            <name>WebBuilder</name>
-        </reference>
-        <references name="ServiceBuilders">
-            <pattern>
-                <name>GBeanBuilder</name>
-            </pattern>
-            <pattern>
-                <name>SecurityBuilder</name>
-            </pattern>
-        </references>
-        <references name="PersistenceUnitBuilders">
-            <pattern>
-                <name>PersistenceUnitBuilder</name>
-            </pattern>
-        </references>
-        <references name="EJBConfigBuilder">
-            <pattern>
-                <name>EJBBuilder</name>
-            </pattern>
-            <pattern>
-                <name>UnavailableEJBBuilder</name>
-            </pattern>
-        </references>
-        <reference name="ConnectorConfigBuilder">
-            <name>ConnectorBuilder</name>
-        </reference>
-        <references name="AppClientConfigBuilder">
-            <pattern>
-                <name>AppClientBuilder</name>
-            </pattern>
-            <pattern>
-                <name>UnavailableAppClientBuilder</name>
-            </pattern>
-        </references>
-        <reference name="NamingBuilders">
-            <name>NamingBuilders</name>
-        </reference>
-        <reference name="ArtifactResolvers">
-            <name>ArtifactResolver</name>
-        </reference>
-        <xml-attribute name="defaultEnvironment">
-            <environment xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">
-                <dependencies>
-                    <dependency>
-                        <groupId>${pom.groupId}</groupId>
-                        <artifactId>j2ee-server</artifactId>
-                        <type>car</type>
-                    </dependency>
-                </dependencies>
-            </environment>
-        </xml-attribute>
-    </gbean>
-
-    <!-- web switching builder -->
-    <gbean name="WebBuilder" class="org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder">
-        <attribute name="defaultNamespace">http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-${geronimoSchemaVersion}</attribute>
-        <references name="ModuleBuilders">
-            <pattern>
-                <name>JettyWebBuilder</name>
-            </pattern>
-            <pattern>
-                <name>TomcatWebBuilder</name>
-            </pattern>
-        </references>
-    </gbean>
-
-    <!--<gbean name="SecurityBuilder" class="org.apache.geronimo.security.deployment.rbac.RbacSecurityBuilder">-->
-        <!--<attribute name="credentialStoreName">?name=CredentialStore#</attribute>-->
-        <!--<attribute name="defaultSystemRbacName">?name=SystemRbac#</attribute>-->
-    <!--</gbean>-->
-
-    <gbean name="SecurityBuilder" class="org.apache.geronimo.security.deployment.GeronimoSecurityBuilderImpl">
-        <attribute name="credentialStoreName">?name=CredentialStore#</attribute>
-    </gbean>
-
-    <gbean name="LoginConfigurationBuilder" class="org.apache.geronimo.security.deployment.LoginConfigBuilder"/>
-
-    <gbean name="CredentialStoreBuilder" class="org.apache.geronimo.security.deployment.CredentialStoreBuilder"/>
-
-    <gbean name="NamingBuilders" class="org.apache.geronimo.j2ee.deployment.NamingBuilderCollection">
-        <references name="NamingBuilders">
-            <pattern>
-                <name>GBeanRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>PersistenceRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>DataSourceBuilder</name>
-            </pattern>
-            <pattern>
-                <name>ResourceRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>AdminObjectRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>EnvironmentEntryBuilder</name>
-            </pattern>
-            <pattern>
-                <name>SwitchingServiceRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>EjbRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>OpenEjbCorbaRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>CorbaRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>LifecycleMethodBuilder</name>
-            </pattern>
-            <pattern>
-                <name>ManagedResourceRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>BValNamingBuilder</name>
-            </pattern>
-        </references>
-    </gbean>
-
-    <gbean name="GBeanRefBuilder" class="org.apache.geronimo.naming.deployment.GBeanRefBuilder"/>
-    <gbean name="EnvironmentEntryBuilder" class="org.apache.geronimo.naming.deployment.EnvironmentEntryBuilder">
-        <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
-    </gbean>
-
-    <gbean name="SwitchingServiceRefBuilder" class="org.apache.geronimo.naming.deployment.SwitchingServiceRefBuilder">
-        <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
-        <references name="JAXRPCBuilder">
-            <pattern>
-                <name>AxisServiceRefBuilder</name>
-            </pattern>
-        </references>
-        <references name="JAXWSBuilder">
-            <pattern>
-                <name>CXFServiceRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>Axis2ServiceRefBuilder</name>
-            </pattern>
-        </references>
-    </gbean>
-    <gbean name="LifecycleMethodBuilder" class="org.apache.geronimo.naming.deployment.LifecycleMethodBuilder"/>
+    <gbean name="WebAppXmlAttributeBuilder" class="org.apache.geronimo.web25.deployment.utils.WebAppXmlAttributeBuilder"/>
 
 </module>

Modified: geronimo/server/trunk/plugins/j2ee/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/pom.xml?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/pom.xml (original)
+++ geronimo/server/trunk/plugins/j2ee/pom.xml Tue Sep  7 00:34:46 2010
@@ -37,6 +37,7 @@
     <modules>
         <module>geronimo-j2ee</module>
         <module>geronimo-j2ee-builder</module>
+        <module>javaee-builder-support</module>
         <module>j2ee-deployer</module>
         <module>geronimo-j2ee-schema</module>
         <module>geronimo-naming-builder</module>

Modified: geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java?rev=993185&r1=993184&r2=993185&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java (original)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java Tue Sep  7 00:34:46 2010
@@ -58,6 +58,7 @@ import org.apache.geronimo.kernel.GBeanA
 import org.apache.geronimo.kernel.Naming;
 import org.apache.geronimo.kernel.config.ConfigurationStore;
 import org.apache.geronimo.kernel.repository.Environment;
+import org.apache.geronimo.web.info.WebAppInfo;
 import org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder;
 import org.apache.openejb.jee.JaxbJavaee;
 import org.apache.openejb.jee.JspConfig;
@@ -127,14 +128,6 @@ public class JspModuleBuilderExtension i
 
         EARContext moduleContext = module.getEarContext();
         Map sharedContext = module.getSharedContext();
-        GBeanData jspServletData = AbstractWebModuleBuilder.DEFAULT_JSP_SERVLET_KEY.get(sharedContext);
-        if (jspServletData != null) {
-            try {
-                moduleContext.addGBean(jspServletData);
-            } catch (GBeanAlreadyExistsException e) {
-                throw new DeploymentException("jsp servlet already present", e);
-            }
-        }
 
         GBeanData webAppData = (GBeanData) sharedContext.get(WebModule.WEB_APP_DATA);
 
@@ -151,7 +144,9 @@ public class JspModuleBuilderExtension i
 
         Set<String> listenerNames = new HashSet<String>();
 
-        ClassFinder classFinder = createJspClassFinder(webApp, webModule, listenerNames);
+        Collection<URL> urls = getTldFiles(webApp, webModule);
+        LinkedHashSet<Class> classes = getListenerClasses(webApp, webModule, urls, listenerNames);
+        ClassFinder classFinder = new ClassFinder(new ArrayList<Class>(classes));
         webModule.setClassFinder(classFinder);
 
         namingBuilders.buildNaming(webApp, jettyWebApp, webModule, buildingContext);
@@ -172,17 +167,25 @@ public class JspModuleBuilderExtension i
 
             webAppData.setReferencePattern("ContextCustomizer", jspLifecycleName);
         }
-        // add listeners
-        Object value = webAppData.getAttribute("listenerClassNames");
-        if (value instanceof Collection) {
-            ((Collection<String>) value).addAll(listenerNames);
-        }
-    }
 
-    protected ClassFinder createJspClassFinder(WebApp webApp, WebModule webModule, Set<String> listenerNames) throws DeploymentException {
-        Collection<URL> urls = getTldFiles(webApp, webModule);
-        LinkedHashSet<Class> classes = getListenerClasses(webApp, webModule, urls, listenerNames);
-        return new ClassFinder(new ArrayList<Class>(classes));
+        WebAppInfo webAppInfo = (WebAppInfo)sharedContext.get(WebModule.WEB_APP_INFO);
+        if (webAppInfo != null) {
+            webAppInfo.listeners.addAll(listenerNames);
+        } else {
+            GBeanData jspServletData = AbstractWebModuleBuilder.DEFAULT_JSP_SERVLET_KEY.get(sharedContext);
+            if (jspServletData != null) {
+                try {
+                    moduleContext.addGBean(jspServletData);
+                } catch (GBeanAlreadyExistsException e) {
+                    throw new DeploymentException("jsp servlet already present", e);
+                }
+            }
+            // add listeners
+            Object value = webAppData.getAttribute("listenerClassNames");
+            if (value instanceof Collection) {
+                ((Collection<String>) value).addAll(listenerNames);
+            }
+        }
     }