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 2006/03/13 11:07:58 UTC

svn commit: r385487 [2/3] - in /geronimo/branches/1.1: applications/console-core/src/java/org/apache/geronimo/console/util/ modules/axis-builder/src/test/org/apache/geronimo/axis/builder/ modules/client-builder/src/java/org/apache/geronimo/client/build...

Modified: geronimo/branches/1.1/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java (original)
+++ geronimo/branches/1.1/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java Mon Mar 13 02:07:53 2006
@@ -26,6 +26,7 @@
 import org.apache.geronimo.deployment.xbeans.EnvironmentType;
 import org.apache.geronimo.deployment.xbeans.GbeanType;
 import org.apache.geronimo.deployment.xmlbeans.XmlBeansUtil;
+import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
@@ -34,17 +35,16 @@
 import org.apache.geronimo.j2ee.deployment.ModuleBuilder;
 import org.apache.geronimo.j2ee.deployment.WebModule;
 import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
-import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
-import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.jetty.JettyFilterHolder;
 import org.apache.geronimo.jetty.JettyFilterMapping;
 import org.apache.geronimo.jetty.JettyServletHolder;
 import org.apache.geronimo.jetty.JettyWebAppContext;
+import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
 import org.apache.geronimo.kernel.GBeanNotFoundException;
 import org.apache.geronimo.kernel.Kernel;
-import org.apache.geronimo.kernel.config.Configuration;
 import org.apache.geronimo.kernel.config.ConfigurationData;
+import org.apache.geronimo.kernel.config.ConfigurationModuleType;
 import org.apache.geronimo.kernel.repository.Artifact;
 import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.kernel.repository.Repository;
@@ -88,10 +88,9 @@
 import org.mortbay.http.DigestAuthenticator;
 import org.mortbay.jetty.servlet.FormAuthenticator;
 
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
 import javax.servlet.Servlet;
 import javax.transaction.UserTransaction;
+import javax.management.MalformedObjectNameException;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -122,7 +121,7 @@
 public class JettyModuleBuilder extends AbstractWebModuleBuilder {
     private final static Log log = LogFactory.getLog(JettyModuleBuilder.class);
     private final Environment defaultEnvironment;
-    private final ObjectName jettyContainerObjectName;
+    private final AbstractName jettyContainerObjectName;
     private final Collection defaultServlets;
     private final Collection defaultFilters;
     private final Collection defaultFilterMappings;
@@ -140,7 +139,7 @@
                               Integer defaultSessionTimeoutSeconds,
                               boolean defaultContextPriorityClassloader,
                               List defaultWelcomeFiles,
-                              ObjectName jettyContainerObjectName,
+                              AbstractName jettyContainerName,
                               Collection defaultServlets,
                               Collection defaultFilters,
                               Collection defaultFilterMappings,
@@ -151,7 +150,7 @@
         this.defaultEnvironment = defaultEnvironment;
         this.defaultSessionTimeoutSeconds = (defaultSessionTimeoutSeconds == null) ? new Integer(30 * 60) : defaultSessionTimeoutSeconds;
         this.defaultContextPriorityClassloader = defaultContextPriorityClassloader;
-        this.jettyContainerObjectName = jettyContainerObjectName;
+        this.jettyContainerObjectName = jettyContainerName;
         this.defaultServlets = defaultServlets;
         this.defaultFilters = defaultFilters;
         this.defaultFilterMappings = defaultFilterMappings;
@@ -167,11 +166,11 @@
         if (template == null) {
             return null;
         }
-        ObjectName templateName = kernel.getProxyManager().getProxyTarget(template);
+        AbstractName templateName = kernel.getProxyManager().getProxyTarget(template);
         return kernel.getGBeanData(templateName);
     }
 
-    protected Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, boolean standAlone, String contextRoot) throws DeploymentException {
+    protected Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, boolean standAlone, String contextRoot, AbstractName earName) throws DeploymentException {
         assert moduleFile != null: "moduleFile is null";
         assert targetPath != null: "targetPath is null";
         assert !targetPath.endsWith("/"): "targetPath must not end with a '/'";
@@ -235,8 +234,18 @@
         } catch (MalformedURLException e) {
             //no descriptor
         }
+        AbstractName moduleName;
+        if (earName == null) {
+            try {
+                moduleName = NameFactory.buildModuleName(environment.getProperties(), environment.getConfigId(), ConfigurationModuleType.WAR, null);
+            } catch (MalformedObjectNameException e) {
+                throw new DeploymentException("Could not construct standalone web module name", e);
+            }
+        } else {
+            moduleName = NameFactory.getChildName(earName, NameFactory.WEB_MODULE, targetPath, null);
+        }
 
-        return new WebModule(standAlone, environment, moduleFile, targetPath, webApp, jettyWebApp, specDD, contextRoot, portMap, JETTY_NAMESPACE);
+        return new WebModule(standAlone, moduleName, environment, moduleFile, targetPath, webApp, jettyWebApp, specDD, contextRoot, portMap, JETTY_NAMESPACE);
     }
 
     JettyWebAppType getJettyWebApp(Object plan, JarFile moduleFile, boolean standAlone, String targetPath, WebAppType webApp) throws DeploymentException {
@@ -313,34 +322,22 @@
 
     public void addGBeans(EARContext earContext, Module module, ClassLoader cl, Repository repository) throws DeploymentException {
         EARContext moduleContext = module.getEarContext();
-        Configuration knownParent = null;
-        if (!module.isStandAlone()) {
-            knownParent = earContext.getConfiguration(null);
-        }
-        ClassLoader moduleClassLoader = moduleContext.getClassLoader(knownParent);
-        J2eeContext earJ2eeContext = moduleContext.getModuleName();
-        J2eeContext moduleJ2eeContext = J2eeContextImpl.newModuleContextFromApplication(earJ2eeContext, NameFactory.WEB_MODULE, module.getName());
+        ClassLoader moduleClassLoader = moduleContext.getClassLoader();
+        AbstractName moduleName = moduleContext.getModuleName();
         WebModule webModule = (WebModule) module;
 
         WebAppType webApp = (WebAppType) webModule.getSpecDD();
         JettyWebAppType jettyWebApp = (JettyWebAppType) webModule.getVendorDD();
 
         GbeanType[] gbeans = jettyWebApp.getGbeanArray();
-        ServiceConfigBuilder.addGBeans(gbeans, moduleClassLoader, moduleJ2eeContext, moduleContext);
-
-        ObjectName webModuleName;
-        try {
-            webModuleName = NameFactory.getModuleName(null, null, null, null, null, moduleJ2eeContext);
-        } catch (MalformedObjectNameException e) {
-            throw new DeploymentException("Could not construct module name", e);
-        }
+        ServiceConfigBuilder.addGBeans(gbeans, moduleClassLoader, moduleName, moduleContext);
 
         UserTransaction userTransaction = new OnlineUserTransaction();
         //this may add to the web classpath with enhanced classes.
         //N.B. we use the ear context which has all the gbeans we could possibly be looking up from this ear.
         Map compContext = buildComponentContext(earContext, webModule, webApp, jettyWebApp, userTransaction, moduleClassLoader);
 
-        GBeanData webModuleData = new GBeanData(webModuleName, JettyWebAppContext.GBEAN_INFO);
+        GBeanData webModuleData = new GBeanData(moduleName, JettyWebAppContext.GBEAN_INFO);
         try {
             webModuleData.setReferencePattern("J2EEServer", moduleContext.getServerObjectName());
             if (!moduleContext.getJ2EEApplicationName().equals("null")) {
@@ -535,7 +532,7 @@
             }
 
             //"previous" filter mapping for linked list to keep dd's ordering.
-            ObjectName previous = null;
+            AbstractName previous = null;
 
             //add default filters
             if (defaultFilters != null) {
@@ -543,19 +540,19 @@
                     Object defaultFilter = iterator.next();
                     GBeanData filterGBeanData = getGBeanData(kernel, defaultFilter);
                     String filterName = (String) filterGBeanData.getAttribute("filterName");
-                    ObjectName defaultFilterObjectName = NameFactory.getWebComponentName(null, null, null, null, filterName, NameFactory.WEB_FILTER, moduleJ2eeContext);
-                    filterGBeanData.setName(defaultFilterObjectName);
-                    filterGBeanData.setReferencePattern("JettyServletRegistration", webModuleName);
+                    AbstractName defaultFilterAbstractName = NameFactory.getChildName(moduleName, NameFactory.WEB_FILTER, filterName, null);
+                    filterGBeanData.setAbstractName(defaultFilterAbstractName);
+                    filterGBeanData.setReferencePattern("JettyServletRegistration", moduleName);
                     moduleContext.addGBean(filterGBeanData);
                     //add a mapping to /*
 
                     GBeanData filterMappingGBeanData = new GBeanData(JettyFilterMapping.GBEAN_INFO);
                     filterMappingGBeanData.setReferencePattern("Previous", previous);
-                    filterMappingGBeanData.setReferencePattern("JettyServletRegistration", webModuleName);
+                    filterMappingGBeanData.setReferencePattern("JettyServletRegistration", moduleName);
                     String urlPattern = "/*";
                     filterMappingGBeanData.setAttribute("urlPattern", urlPattern);
-                    ObjectName filterMappingName = NameFactory.getWebFilterMappingName(null, null, null, null, filterName, null, urlPattern, moduleJ2eeContext);
-                    filterMappingGBeanData.setName(filterMappingName);
+                    AbstractName filterMappingName = NameFactory.getChildName(defaultFilterAbstractName, NameFactory.URL_WEB_FILTER_MAPPING, urlPattern, null);
+                    filterMappingGBeanData.setAbstractName(filterMappingName);
                     previous = filterMappingName;
 
 
@@ -563,7 +560,7 @@
                     filterMappingGBeanData.setAttribute("forwardDispatch", Boolean.TRUE);
                     filterMappingGBeanData.setAttribute("includeDispatch", Boolean.TRUE);
                     filterMappingGBeanData.setAttribute("errorDispatch", Boolean.FALSE);
-                    filterMappingGBeanData.setReferencePattern("Filter", defaultFilterObjectName);
+                    filterMappingGBeanData.setReferencePattern("Filter", defaultFilterAbstractName);
                     moduleContext.addGBean(filterMappingGBeanData);
                 }
             }
@@ -577,7 +574,7 @@
 //                    ObjectName defaultFilterMappingObjectName;
 //                    if (filterMappingGBeanData.getAttribute("urlPattern") != null) {
 //                        String urlPattern = (String) filterMappingGBeanData.getAttribute("urlPattern");
-//                        defaultFilterMappingObjectName = NameFactory.getWebFilterMappingName(null, null, null, null, filterName, null, urlPattern, moduleJ2eeContext);
+//                        defaultFilterMappingObjectName = NameFactory.getWebFilterMappingName(null, null, null, null, filterName, null, urlPattern, moduleName);
 //                    } else {
 //                        Set servletNames = filterMappingGBeanData.getReferencePatterns("Servlet");
 //                        if (servletNames == null || servletNames.size() != 1) {
@@ -585,7 +582,7 @@
 //                        }
 //                        ObjectName servletObjectName = (ObjectName) servletNames.iterator().next();
 //                        String servletName = servletObjectName.getKeyProperty("name");
-//                        defaultFilterMappingObjectName = NameFactory.getWebFilterMappingName(null, null, null, null, filterName, servletName, null, moduleJ2eeContext);
+//                        defaultFilterMappingObjectName = NameFactory.getWebFilterMappingName(null, null, null, null, filterName, servletName, null, moduleName);
 //                    }
 //                    filterMappingGBeanData.setName(defaultFilterMappingObjectName);
 //                    filterMappingGBeanData.setReferencePattern("JettyFilterMappingRegistration", webModuleName);
@@ -599,22 +596,22 @@
                 String filterName = filterMappingType.getFilterName().getStringValue().trim();
                 GBeanData filterMappingData = new GBeanData(JettyFilterMapping.GBEAN_INFO);
                 filterMappingData.setReferencePattern("Previous", previous);
-                filterMappingData.setReferencePattern("JettyServletRegistration", webModuleName);
+                filterMappingData.setReferencePattern("JettyServletRegistration", moduleName);
+                AbstractName filterAbstractName = NameFactory.getChildName(moduleName, NameFactory.WEB_FILTER, filterName, null);
 
-                ObjectName filterMappingName = null;
+                AbstractName filterMappingName = null;
                 if (filterMappingType.isSetUrlPattern()) {
-                    //do not trim!
                     String urlPattern = filterMappingType.getUrlPattern().getStringValue().trim();
                     filterMappingData.setAttribute("urlPattern", urlPattern);
-                    filterMappingName = NameFactory.getWebFilterMappingName(null, null, null, null, filterName, null, urlPattern, moduleJ2eeContext);
+                    filterMappingName = NameFactory.getChildName(filterAbstractName, NameFactory.URL_WEB_FILTER_MAPPING, urlPattern, null);
                 }
                 if (filterMappingType.isSetServletName()) {
                     String servletName = filterMappingType.getServletName().getStringValue().trim();
-                    ObjectName servletObjectName = NameFactory.getWebComponentName(null, null, null, null, servletName, NameFactory.SERVLET, moduleJ2eeContext);
-                    filterMappingData.setReferencePattern("Servlet", servletObjectName);
-                    filterMappingName = NameFactory.getWebFilterMappingName(null, null, null, null, filterName, servletName, null, moduleJ2eeContext);
+                    AbstractName servletAbstractName = NameFactory.getChildName(moduleName, NameFactory.SERVLET, servletName, null);
+                    filterMappingData.setReferencePattern("Servlet", servletAbstractName);
+                    filterMappingName = NameFactory.getChildName(filterAbstractName, NameFactory.SERVLET_WEB_FILTER_MAPPING, servletName, null);
                 }
-                filterMappingData.setName(filterMappingName);
+                filterMappingData.setAbstractName(filterMappingName);
                 previous = filterMappingName;
 
                 boolean request = filterMappingType.getDispatcherArray().length == 0;
@@ -637,8 +634,7 @@
                 filterMappingData.setAttribute("forwardDispatch", Boolean.valueOf(forward));
                 filterMappingData.setAttribute("includeDispatch", Boolean.valueOf(include));
                 filterMappingData.setAttribute("errorDispatch", Boolean.valueOf(error));
-                ObjectName filterObjectName = NameFactory.getWebComponentName(null, null, null, null, filterName, NameFactory.WEB_FILTER, moduleJ2eeContext);
-                filterMappingData.setReferencePattern("Filter", filterObjectName);
+                filterMappingData.setReferencePattern("Filter", filterAbstractName);
                 moduleContext.addGBean(filterMappingData);
             }
 
@@ -646,8 +642,8 @@
             for (int i = 0; i < filterArray.length; i++) {
                 FilterType filterType = filterArray[i];
                 String filterName = filterType.getFilterName().getStringValue().trim();
-                ObjectName filterObjectName = NameFactory.getWebComponentName(null, null, null, null, filterName, NameFactory.WEB_FILTER, moduleJ2eeContext);
-                GBeanData filterData = new GBeanData(filterObjectName, JettyFilterHolder.GBEAN_INFO);
+                AbstractName filterAbstractName = NameFactory.getChildName(moduleName, NameFactory.WEB_FILTER, filterName, null);
+                GBeanData filterData = new GBeanData(filterAbstractName, JettyFilterHolder.GBEAN_INFO);
                 filterData.setAttribute("filterName", filterName);
                 filterData.setAttribute("filterClass", filterType.getFilterClass().getStringValue().trim());
                 Map initParams = new HashMap();
@@ -657,7 +653,7 @@
                     initParams.put(paramValueType.getParamName().getStringValue().trim(), paramValueType.getParamValue().getStringValue().trim());
                 }
                 filterData.setAttribute("initParams", initParams);
-                filterData.setReferencePattern("JettyServletRegistration", webModuleName);
+                filterData.setReferencePattern("JettyServletRegistration", moduleName);
                 moduleContext.addGBean(filterData);
             }
 
@@ -666,9 +662,9 @@
                 for (Iterator iterator = defaultServlets.iterator(); iterator.hasNext();) {
                     Object defaultServlet = iterator.next();
                     GBeanData servletGBeanData = getGBeanData(kernel, defaultServlet);
-                    ObjectName defaultServletObjectName = NameFactory.getWebComponentName(null, null, null, null, (String) servletGBeanData.getAttribute("servletName"), NameFactory.SERVLET, moduleJ2eeContext);
-                    servletGBeanData.setName(defaultServletObjectName);
-                    servletGBeanData.setReferencePattern("JettyServletRegistration", webModuleName);
+                    AbstractName defaultServletObjectName = NameFactory.getChildName(moduleName, NameFactory.SERVLET, (String) servletGBeanData.getAttribute("servletName"), null);
+                    servletGBeanData.setAbstractName(defaultServletObjectName);
+                    servletGBeanData.setReferencePattern("JettyServletRegistration", moduleName);
                     Set defaultServletMappings = new HashSet((Collection) servletGBeanData.getAttribute("servletMappings"));
                     defaultServletMappings.removeAll(knownServletMappings);
                     servletGBeanData.setAttribute("servletMappings", defaultServletMappings);
@@ -679,11 +675,11 @@
             //set up servlet gbeans.
             Map portMap = webModule.getPortMap();
 
-            addServlets(webModuleName, webModule.getModuleFile(), servletTypes, servletMappings, securityRoles, rolePermissions, portMap, moduleClassLoader, moduleJ2eeContext, moduleContext);
+            addServlets(moduleName, webModule.getModuleFile(), servletTypes, servletMappings, securityRoles, rolePermissions, portMap, moduleClassLoader, moduleContext);
 
             if (jettyWebApp.isSetSecurityRealmName()) {
                 if (earContext.getSecurityConfiguration() == null) {
-                     throw new DeploymentException("You have specified a <security-realm-name> for the webapp " + webModuleName + " but no <security> configuration (role mapping) is supplied in the Geronimo plan for the web application (or the Geronimo plan for the EAR if the web app is in an EAR)");
+                     throw new DeploymentException("You have specified a <security-realm-name> for the webapp " + moduleName + " but no <security> configuration (role mapping) is supplied in the Geronimo plan for the web application (or the Geronimo plan for the EAR if the web app is in an EAR)");
                 }
                 String securityRealmName = jettyWebApp.getSecurityRealmName().trim();
                 webModuleData.setAttribute("securityRealmName", securityRealmName);
@@ -691,7 +687,7 @@
                 /**
                  * TODO - go back to commented version when possible.
                  */
-                String policyContextID = webModuleName.getCanonicalName().replaceAll("[, :]", "_");
+                String policyContextID = moduleName.toString().replaceAll("[, :]", "_");
                 //String policyContextID = webModuleName.getCanonicalName();
                 webModuleData.setAttribute("policyContextID", policyContextID);
 
@@ -739,20 +735,17 @@
      * @param rolePermissions   a <code>Map</code> value
      * @param portMap           a <code>Map</code> value
      * @param webClassLoader    a <code>ClassLoader</code> value
-     * @param moduleJ2eeContext a <code>J2eeContext</code> value
      * @param earContext        an <code>EARContext</code> value
-     * @throws MalformedObjectNameException if an error occurs
      * @throws DeploymentException          if an error occurs
      */
-    private void addServlets(ObjectName webModuleName,
+    private void addServlets(AbstractName webModuleName,
                              JarFile moduleFile,
                              ServletType[] servletTypes,
                              Map servletMappings,
                              Set securityRoles,
                              Map rolePermissions, Map portMap,
                              ClassLoader webClassLoader,
-                             J2eeContext moduleJ2eeContext,
-                             EARContext earContext) throws MalformedObjectNameException, DeploymentException {
+                             EARContext earContext) throws DeploymentException {
 
         // this TreeSet will order the ServletTypes based on whether
         // they have a load-on-startup element and what its value is
@@ -775,7 +768,7 @@
         ServletType previousServlet = null;
         for (Iterator servlets = loadOrder.iterator(); servlets.hasNext();) {
             ServletType servletType = (ServletType) servlets.next();
-            addServlet(webModuleName, moduleFile, previousServlet, servletType, servletMappings, securityRoles, rolePermissions, portMap, webClassLoader, moduleJ2eeContext, earContext);
+            addServlet(webModuleName, moduleFile, previousServlet, servletType, servletMappings, securityRoles, rolePermissions, portMap, webClassLoader, earContext);
             previousServlet = servletType;
         }
 
@@ -783,7 +776,7 @@
         addUnmappedJSPPermissions(securityRoles, rolePermissions);
     }
 
-    private void addServlet(ObjectName webModuleName,
+    private void addServlet(AbstractName webModuleName,
                             JarFile moduleFile,
                             ServletType previousServlet,
                             ServletType servletType,
@@ -791,10 +784,9 @@
                             Set securityRoles,
                             Map rolePermissions, Map portMap,
                             ClassLoader webClassLoader,
-                            J2eeContext moduleJ2eeContext,
-                            EARContext earContext) throws MalformedObjectNameException, DeploymentException {
+                            EARContext earContext) throws DeploymentException {
         String servletName = servletType.getServletName().getStringValue().trim();
-        ObjectName servletObjectName = NameFactory.getWebComponentName(null, null, null, null, servletName, NameFactory.SERVLET, moduleJ2eeContext);
+        AbstractName servletObjectName = NameFactory.getChildName(webModuleName, NameFactory.SERVLET, servletName, null);
         GBeanData servletData;
         if (servletType.isSetServletClass()) {
             String servletClassName = servletType.getServletClass().getStringValue().trim();
@@ -815,7 +807,7 @@
                 servletData.setAttribute("servletClass", servletClassName);
             } else {
                 servletData = new GBeanData(pojoWebServiceTemplate);
-                servletData.setName(servletObjectName);
+                servletData.setAbstractName(servletObjectName);
                 //let the web service builder deal with configuring the gbean with the web service stack
                 Object portInfo = portMap.get(servletName);
                 if (portInfo == null) {
@@ -837,7 +829,7 @@
         // http://issues.apache.org/jira/browse/GERONIMO-645
         if (null != previousServlet) {
             String name = previousServlet.getServletName().getStringValue().trim();
-            ObjectName oName = NameFactory.getWebComponentName(null, null, null, null, name, NameFactory.SERVLET, moduleJ2eeContext);
+            AbstractName oName = NameFactory.getChildName(webModuleName, NameFactory.SERVLET, name, null);
             servletData.setReferencePattern("Previous", oName);
         }
 
@@ -866,7 +858,11 @@
 
         processRoleRefPermissions(servletType, securityRoles, rolePermissions);
 
-        earContext.addGBean(servletData);
+        try {
+            earContext.addGBean(servletData);
+        } catch (GBeanAlreadyExistsException e) {
+            throw new DeploymentException("Could not add servlet gbean to context", e);
+        }
     }
 
     private Map buildComponentContext(EARContext earContext, Module webModule, WebAppType webApp, JettyWebAppType jettyWebApp, UserTransaction userTransaction, ClassLoader cl) throws DeploymentException {
@@ -892,7 +888,7 @@
         infoBuilder.addAttribute("defaultSessionTimeoutSeconds", Integer.class, true, true);
         infoBuilder.addAttribute("defaultContextPriorityClassloader", boolean.class, true, true);
         infoBuilder.addAttribute("defaultWelcomeFiles", List.class, true, true);
-        infoBuilder.addAttribute("jettyContainerObjectName", ObjectName.class, true, true);
+        infoBuilder.addAttribute("jettyContainerObjectName", AbstractName.class, true, true);
         infoBuilder.addReference("DefaultServlets", Object.class, NameFactory.DEFAULT_SERVLET);
         infoBuilder.addReference("DefaultFilters", Object.class);
         infoBuilder.addReference("DefaultFilterMappings", Object.class);

Modified: geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyFilterMapping.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyFilterMapping.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyFilterMapping.java (original)
+++ geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyFilterMapping.java Mon Mar 13 02:07:53 2006
@@ -138,7 +138,7 @@
     public static final GBeanInfo GBEAN_INFO;
 
     static {
-        GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(JettyFilterMapping.class, NameFactory.WEB_FILTER_MAPPING);
+        GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(JettyFilterMapping.class, NameFactory.URL_WEB_FILTER_MAPPING);
         infoBuilder.addAttribute("urlPattern", String.class, true);
         infoBuilder.addAttribute("requestDispatch", boolean.class, true);
         infoBuilder.addAttribute("forwardDispatch", boolean.class, true);
@@ -147,7 +147,7 @@
 
         infoBuilder.addReference("Filter", JettyFilterHolder.class, NameFactory.WEB_FILTER);
         infoBuilder.addReference("Servlet", JettyServletHolder.class, NameFactory.SERVLET);
-        infoBuilder.addReference("Previous", JettyFilterMapping.class, NameFactory.WEB_FILTER_MAPPING);
+        infoBuilder.addReference("Previous", JettyFilterMapping.class, NameFactory.URL_WEB_FILTER_MAPPING);
         infoBuilder.addReference("JettyServletRegistration", JettyServletRegistration.class, NameFactory.WEB_MODULE);
 
         infoBuilder.setConstructor(new String[]{"urlPattern",

Modified: geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyManagerImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyManagerImpl.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyManagerImpl.java (original)
+++ geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyManagerImpl.java Mon Mar 13 02:07:53 2006
@@ -21,7 +21,6 @@
 import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
-import org.apache.geronimo.gbean.GBeanQuery;
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.gbean.ReferencePatterns;
@@ -38,10 +37,7 @@
 import org.apache.geronimo.kernel.config.InvalidConfigException;
 import org.apache.geronimo.management.geronimo.WebManager;
 
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
 import java.util.ArrayList;
-import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
@@ -110,16 +106,10 @@
     /**
      * Get a list of containers for this web implementation.
      */
-    public String[] getContainers() {
-        GBeanQuery query = new GBeanQuery(null, JettyContainer.class.getName());
+    public AbstractName[] getContainers() {
+        AbstractNameQuery query = new AbstractNameQuery(JettyContainer.class.getName());
         Set names = kernel.listGBeans(query);
-        String[] result = new String[names.size()];
-        int i = 0;
-        for (Iterator it = names.iterator(); it.hasNext();) {
-            ObjectName name = (ObjectName) it.next();
-            result[i++] = name.getCanonicalName();
-        }
-        return result;
+        return (AbstractName[]) names.toArray(new AbstractName[names.size()]);
     }
 
     /**
@@ -175,133 +165,91 @@
      *
      * @param protocol A protocol as returned by getSupportedProtocols
      */
-    public String[] getConnectors(String protocol) {
-        GBeanQuery query = new GBeanQuery(null, JettyWebConnector.class.getName());
+    public AbstractName[] getConnectors(String protocol) {
+        AbstractNameQuery query = new AbstractNameQuery(JettyWebConnector.class.getName());
         Set names = kernel.listGBeans(query);
         List result = new ArrayList();
         for (Iterator it = names.iterator(); it.hasNext();) {
-            ObjectName name = (ObjectName) it.next();
+            AbstractName name = (AbstractName) it.next();
             try {
                 if (kernel.getAttribute(name, "protocol").equals(protocol)) {
-                    result.add(name.getCanonicalName());
+                    result.add(name);
                 }
             } catch (Exception e) {
                 log.error("Unable to check the protocol for a connector", e);
             }
         }
-        return (String[]) result.toArray(new String[result.size()]);
+        return (AbstractName[]) result.toArray(new AbstractName[result.size()]);
     }
 
-    public String getAccessLog(String containerObjectName) {
-        GBeanQuery query = new GBeanQuery(null, JettyLogManager.class.getName());
+    public AbstractName getAccessLog(String containerObjectName) {
+        AbstractNameQuery query = new AbstractNameQuery(JettyLogManager.class.getName());
         Set names = kernel.listGBeans(query);
         if(names.size() == 0) {
             return null;
         } else if(names.size() > 1) {
             throw new IllegalStateException("Should not be more than one Jetty access log manager");
         }
-        return ((ObjectName)names.iterator().next()).getCanonicalName();
+        return (AbstractName)names.iterator().next();
     }
 
     /**
      * Gets the ObjectNames of any existing connectors.
      */
-    public String[] getConnectors() {
-        GBeanQuery query = new GBeanQuery(null, JettyWebConnector.class.getName());
+    public AbstractName[] getConnectors() {
+        AbstractNameQuery query = new AbstractNameQuery(JettyWebConnector.class.getName());
         Set names = kernel.listGBeans(query);
-        String[] result = new String[names.size()];
-        int i = 0;
-        for (Iterator it = names.iterator(); it.hasNext();) {
-            ObjectName name = (ObjectName) it.next();
-            result[i++] = name.getCanonicalName();
-        }
-        return result;
+        return (AbstractName[]) names.toArray(new AbstractName[names.size()]);
     }
 
-    public String[] getConnectorsForContainer(String containerObjectName, String protocol) {
+    public AbstractName[] getConnectorsForContainer(AbstractName containerName, String protocol) {
         if(protocol == null) {
-            return getConnectorsForContainer(containerObjectName);
+            return getConnectorsForContainer(containerName);
         }
         try {
-            ObjectName containerName = ObjectName.getInstance(containerObjectName);
             List results = new ArrayList();
-            GBeanQuery query = new GBeanQuery(null, JettyWebConnector.class.getName());
+            AbstractNameQuery query = new AbstractNameQuery(JettyWebConnector.class.getName());
             Set set = kernel.listGBeans(query); // all Jetty connectors
             for (Iterator it = set.iterator(); it.hasNext();) {
-                ObjectName name = (ObjectName) it.next(); // a single Jetty connector
+                AbstractName name = (AbstractName) it.next(); // a single Jetty connector
                 GBeanData data = kernel.getGBeanData(name);
                 ReferencePatterns refs = data.getReferencePatterns(JettyConnector.CONNECTOR_CONTAINER_REFERENCE);
-                for (Iterator refit = refs.iterator(); refit.hasNext();) {
-                    ObjectName ref = (ObjectName) refit.next();
-                    boolean match = false;
-                    if(ref.isPattern()) {
-                        Set matches = kernel.listGBeans(ref);
-                        if(matches.size() != 1) {
-                            log.error("Unable to compare a connector->container reference that's a pattern to a fixed container name: "+ref.getCanonicalName());
-                        } else {
-                            ref = (ObjectName)matches.iterator().next();
-                            if(ref.equals(containerName)) {
-                                match = true;
-                            }
-                        }
-                    } else {
-                        if(ref.equals(containerName)) {
-                            match = true;
+                //TODO configid need to verify that the refpattern is resolved
+                if(containerName.equals(refs.getAbstractName())) {
+                    try {
+                        String testProtocol = (String) kernel.getAttribute(name, "protocol");
+                        if(testProtocol != null && testProtocol.equals(protocol)) {
+                            results.add(name);
                         }
+                    } catch (Exception e) {
+                        log.error("Unable to look up protocol for connector '"+name+"'",e);
                     }
-                    if(match) {
-                        try {
-                            String testProtocol = (String) kernel.getAttribute(name, "protocol");
-                            if(testProtocol != null && testProtocol.equals(protocol)) {
-                                results.add(name.getCanonicalName());
-                            }
-                        } catch (Exception e) {
-                            log.error("Unable to look up protocol for connector '"+name+"'",e);
-                        }
-                        break;
-                    }
+                    break;
                 }
             }
-            return (String[]) results.toArray(new String[results.size()]);
+            return (AbstractName[]) results.toArray(new AbstractName[results.size()]);
         } catch (Exception e) {
-            throw new IllegalArgumentException("Unable to look up connectors for Jetty container '"+containerObjectName+"': "+e);
+            throw new IllegalArgumentException("Unable to look up connectors for Jetty container '"+containerName +"': "+e);
         }
     }
 
-    public String[] getConnectorsForContainer(String containerObjectName) {
+    public AbstractName[] getConnectorsForContainer(AbstractName containerName) {
         try {
-            ObjectName containerName = ObjectName.getInstance(containerObjectName);
             List results = new ArrayList();
-            GBeanQuery query = new GBeanQuery(null, JettyWebConnector.class.getName());
+            AbstractNameQuery query = new AbstractNameQuery(JettyWebConnector.class.getName());
             Set set = kernel.listGBeans(query); // all Jetty connectors
             for (Iterator it = set.iterator(); it.hasNext();) {
-                ObjectName name = (ObjectName) it.next(); // a single Jetty connector
+                AbstractName name = (AbstractName) it.next(); // a single Jetty connector
                 GBeanData data = kernel.getGBeanData(name);
-                Set refs = data.getReferencePatterns(JettyConnector.CONNECTOR_CONTAINER_REFERENCE);
-                for (Iterator refit = refs.iterator(); refit.hasNext();) {
-                    ObjectName ref = (ObjectName) refit.next();
-                    if(ref.isPattern()) {
-                        Set matches = kernel.listGBeans(ref);
-                        if(matches.size() != 1) {
-                            log.error("Unable to compare a connector->container reference that's a pattern to a fixed container name: "+ref.getCanonicalName());
-                        } else {
-                            ref = (ObjectName)matches.iterator().next();
-                            if(ref.equals(containerName)) {
-                                results.add(name.getCanonicalName());
-                                break;
-                            }
-                        }
-                    } else {
-                        if(ref.equals(containerName)) {
-                            results.add(name.getCanonicalName());
-                            break;
-                        }
-                    }
+                ReferencePatterns refs = data.getReferencePatterns(JettyConnector.CONNECTOR_CONTAINER_REFERENCE);
+                //TODO configid need to verify that the refpattern is resolved
+                if (containerName.equals(refs.getAbstractName())) {
+                    results.add(name);
                 }
             }
-            return (String[]) results.toArray(new String[results.size()]);
+            return (AbstractName[]) results.toArray(new AbstractName[results.size()]);
         } catch (Exception e) {
-            throw new IllegalArgumentException("Unable to look up connectors for Jetty container '"+containerObjectName+"': "+e);
+            throw new IllegalArgumentException("Unable to look up connectors for Jetty container '"+containerName +"': "+e);
         }
     }
 

Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/gbean/AbstractName.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/gbean/AbstractName.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/gbean/AbstractName.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/gbean/AbstractName.java Mon Mar 13 02:07:53 2006
@@ -25,7 +25,6 @@
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
-import java.util.Arrays;
 
 /**
  * @version $Rev:$ $Date:$
@@ -95,9 +94,8 @@
         final AbstractName that = (AbstractName) o;
 
         if (artifact != null ? !artifact.equals(that.artifact) : that.artifact != null) return false;
-        if (name != null ? !name.equals(that.name) : that.name != null) return false;
+        return !(name != null ? !name.equals(that.name) : that.name != null);
 
-        return true;
     }
 
     public int hashCode() {

Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/Kernel.java Mon Mar 13 02:07:53 2006
@@ -267,7 +267,7 @@
      * returns an ObjectName for it.  If the argument is not a service or the
      * kernel cannot produce an ObjectName for it, returns null.
      */
-    ObjectName getObjectNameFor(Object service);
+    AbstractName getAbstractNameFor(Object service);
 
     /**
      * Brings the kernel online

Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/KernelGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/KernelGBean.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/KernelGBean.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/KernelGBean.java Mon Mar 13 02:07:53 2006
@@ -223,8 +223,8 @@
         kernel.shutdown();
     }
 
-    public ObjectName getObjectNameFor(Object service) {
-        return kernel.getObjectNameFor(service);
+    public AbstractName getAbstractNameFor(Object service) {
+        return kernel.getAbstractNameFor(service);
     }
 
     public static final GBeanInfo GBEAN_INFO;

Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/BasicKernel.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/BasicKernel.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/BasicKernel.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/BasicKernel.java Mon Mar 13 02:07:53 2006
@@ -408,7 +408,7 @@
         return results;
     }
 
-    public ObjectName getObjectNameFor(Object service) {
+    public AbstractName getAbstractNameFor(Object service) {
         if(!running) {return null;}
         return proxyManager.getProxyTarget(service);
     }

Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/BasicProxyManager.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/BasicProxyManager.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/BasicProxyManager.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/BasicProxyManager.java Mon Mar 13 02:07:53 2006
@@ -188,12 +188,12 @@
         return interceptors.containsKey(proxy);
     }
 
-    public ObjectName getProxyTarget(Object proxy) {
+    public AbstractName getProxyTarget(Object proxy) {
         MethodInterceptor methodInterceptor = (MethodInterceptor) interceptors.get(proxy);
         if (methodInterceptor == null) {
             return null;
         }
-        return getAbstractName(methodInterceptor).getObjectName();
+        return getAbstractName(methodInterceptor);
     }
 
     private class ManagedProxyFactory implements ProxyFactory {

Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/ProxyMethodInterceptor.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/ProxyMethodInterceptor.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/ProxyMethodInterceptor.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/basic/ProxyMethodInterceptor.java Mon Mar 13 02:07:53 2006
@@ -16,32 +16,31 @@
  */
 package org.apache.geronimo.kernel.basic;
 
-import java.lang.reflect.Method;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.HashSet;
-import java.beans.Introspector;
-import javax.management.ObjectName;
-
 import net.sf.cglib.asm.Type;
 import net.sf.cglib.core.Signature;
 import net.sf.cglib.proxy.MethodInterceptor;
 import net.sf.cglib.proxy.MethodProxy;
 import net.sf.cglib.reflect.FastClass;
-import org.apache.geronimo.gbean.GOperationSignature;
-import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.GAttributeInfo;
-import org.apache.geronimo.gbean.GOperationInfo;
 import org.apache.geronimo.gbean.GBeanData;
-import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GOperationInfo;
+import org.apache.geronimo.gbean.GOperationSignature;
 import org.apache.geronimo.gbean.runtime.GBeanInstance;
 import org.apache.geronimo.gbean.runtime.RawInvoker;
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.kernel.management.State;
 import org.apache.geronimo.kernel.proxy.DeadProxyException;
-import org.apache.geronimo.kernel.proxy.ProxyManager;
 import org.apache.geronimo.kernel.proxy.GeronimoManagedBean;
+import org.apache.geronimo.kernel.proxy.ProxyManager;
+
+import java.beans.Introspector;
+import java.lang.reflect.Method;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * @version $Rev$ $Date$
@@ -55,8 +54,6 @@
     /**
      * The object name to which we are connected.
      */
-//    private final ObjectName objectName;
-
     private final AbstractName abstractName;
 
     /**
@@ -78,10 +75,6 @@
         gbeanInvokers = null;
     }
 
-//    public ObjectName getObjectName() {
-//        return objectName;
-//    }
-
     public AbstractName getAbstractName() {
         return abstractName;
     }
@@ -308,7 +301,7 @@
         }
 
         public Object invoke(AbstractName abstractName, Object[] arguments) throws Throwable {
-            ObjectName proxyTarget = proxyManager.getProxyTarget(arguments[0]);
+            AbstractName proxyTarget = proxyManager.getProxyTarget(arguments[0]);
             return Boolean.valueOf(abstractName.equals(proxyTarget));
         }
     }

Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/JMXProxyMethodInterceptor.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/JMXProxyMethodInterceptor.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/JMXProxyMethodInterceptor.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/JMXProxyMethodInterceptor.java Mon Mar 13 02:07:53 2006
@@ -16,25 +16,24 @@
  */
 package org.apache.geronimo.kernel.jmx;
 
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import javax.management.ObjectName;
-
 import net.sf.cglib.asm.Type;
 import net.sf.cglib.core.Signature;
 import net.sf.cglib.proxy.MethodInterceptor;
 import net.sf.cglib.proxy.MethodProxy;
 import net.sf.cglib.reflect.FastClass;
+import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.kernel.Kernel;
-import org.apache.geronimo.kernel.management.State;
 import org.apache.geronimo.kernel.basic.KernelGetAttributeInvoker;
 import org.apache.geronimo.kernel.basic.KernelOperationInvoker;
 import org.apache.geronimo.kernel.basic.KernelSetAttributeInvoker;
 import org.apache.geronimo.kernel.basic.ProxyInvoker;
+import org.apache.geronimo.kernel.management.State;
 import org.apache.geronimo.kernel.proxy.DeadProxyException;
-import org.apache.geronimo.kernel.proxy.ProxyManager;
 import org.apache.geronimo.kernel.proxy.GeronimoManagedBean;
-import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.kernel.proxy.ProxyManager;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
 
 /**
  * @version $Rev$ $Date$
@@ -186,7 +185,7 @@
         }
 
         public Object invoke(AbstractName abstractName, Object[] arguments) throws Throwable {
-            ObjectName proxyTarget = proxyManager.getProxyTarget(arguments[0]);
+            AbstractName proxyTarget = proxyManager.getProxyTarget(arguments[0]);
             return Boolean.valueOf(abstractName.equals(proxyTarget));
         }
     }

Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/KernelDelegate.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/KernelDelegate.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/KernelDelegate.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/jmx/KernelDelegate.java Mon Mar 13 02:07:53 2006
@@ -436,7 +436,7 @@
         }
     }
 
-    public ObjectName getObjectNameFor(Object service) {
+    public AbstractName getAbstractNameFor(Object service) {
         return proxyManager.getProxyTarget(service);
     }
 

Modified: geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/proxy/ProxyManager.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/proxy/ProxyManager.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/proxy/ProxyManager.java (original)
+++ geronimo/branches/1.1/modules/kernel/src/java/org/apache/geronimo/kernel/proxy/ProxyManager.java Mon Mar 13 02:07:53 2006
@@ -111,5 +111,5 @@
      * @param proxy the proxy to get the target object name from
      * @return the object name of the target
      */
-    public ObjectName getProxyTarget(Object proxy);
+    public AbstractName getProxyTarget(Object proxy);
 }

Modified: geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/NetworkManager.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/NetworkManager.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/NetworkManager.java (original)
+++ geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/NetworkManager.java Mon Mar 13 02:07:53 2006
@@ -32,7 +32,7 @@
     /**
      * Gets the network containers.
      */
-    public String[] getContainers();
+    public AbstractName[] getContainers();
 
     /**
      * Gets the protocols which this container can configure connectors for.
@@ -53,25 +53,27 @@
      *
      * @param protocol A protocol as returned by getSupportedProtocols
      */
-    public String[] getConnectors(String protocol);
+    public AbstractName[] getConnectors(String protocol);
 
     /**
      * Gets the ObjectNames of any existing connectors associated with this
      * network technology.
      */
-    public String[] getConnectors();
+    public AbstractName[] getConnectors();
 
     /**
      * Gets the ObjectNames of any existing connectors for the specified
      * container for the specified protocol.
      *
+     * @param containerName
      * @param protocol A protocol as returned by getSupportedProtocols
      */
-    public String[] getConnectorsForContainer(String containerObjectName, String protocol);
+    public AbstractName[] getConnectorsForContainer(AbstractName containerName, String protocol);
 
     /**
      * Gets the ObjectNames of any existing connectors for the specified
      * container.
+     * @param containerName
      */
-    public String[] getConnectorsForContainer(String containerObjectName);
+    public AbstractName[] getConnectorsForContainer(AbstractName containerName);
 }

Modified: geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/WebManager.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/WebManager.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/WebManager.java (original)
+++ geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/WebManager.java Mon Mar 13 02:07:53 2006
@@ -56,8 +56,7 @@
      * container.  May be null if the access log cannot be managed.
      *
      * @param containerObjectName The ObjectName of the container whose access
-     *                            log you're interested in.
      *
      */
-    public String getAccessLog(String containerObjectName);
+    public AbstractName getAccessLog(String containerObjectName);
 }

Modified: geronimo/branches/1.1/modules/naming-builder/src/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/naming-builder/src/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/naming-builder/src/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java (original)
+++ geronimo/branches/1.1/modules/naming-builder/src/java/org/apache/geronimo/naming/deployment/ENCConfigBuilder.java Mon Mar 13 02:07:53 2006
@@ -175,7 +175,7 @@
                     AbstractNameQuery containerId = getResourceContainerId(name, j2eeType, moduleURI, gerResourceRef, earContext);
 
                     //TODO configid not sure what knownParent is supposed to be
-                    ref = refContext.getConnectionFactoryRef(containerId, iface, earContext.getConfiguration(null));
+                    ref = refContext.getConnectionFactoryRef(containerId, iface, earContext.getConfiguration());
                     builder.bind(name, ref);
                 } catch (UnresolvedReferenceException e) {
                     throw new DeploymentException("Unable to resolve resource reference '" + name + "' (" + (e.isMultiple() ? "found multiple matching resources" : "no matching resources found") + ")");
@@ -220,7 +220,7 @@
             try {
                 AbstractNameQuery containerId = getAdminObjectContainerId(name, gerResourceEnvRef, earContext);
                 //TODO not sure what knownParent is supposed to be
-                Reference ref = earContext.getRefContext().getAdminObjectRef(containerId, iface, earContext.getConfiguration(null));
+                Reference ref = earContext.getRefContext().getAdminObjectRef(containerId, iface, earContext.getConfiguration());
 
                 builder.bind(name, ref);
             } catch (UnresolvedReferenceException e) {
@@ -283,7 +283,7 @@
             //throws exception if it can't locate ref.
             AbstractNameQuery containerId = buildAbstractNameQuery(moduleURI, NameFactory.JCA_ADMIN_OBJECT, linkName);
             //TODO configid not sure what knwonParent is suppsed to be
-            Reference ref = refContext.getAdminObjectRef(containerId, iface, earContext.getConfiguration(null));
+            Reference ref = refContext.getAdminObjectRef(containerId, iface, earContext.getConfiguration());
             builder.bind(name, ref);
 
         }
@@ -743,7 +743,7 @@
     }
 
     //TODO consider including target interface
-    private static AbstractNameQuery buildAbstractNameQuery(GerPatternType pattern, String type) {
+    public static AbstractNameQuery buildAbstractNameQuery(GerPatternType pattern, String type) {
         String groupId = pattern.isSetGroupId() ? pattern.getGroupId().trim() : null;
         String artifactid = pattern.isSetArtifactId() ? pattern.getArtifactId().trim() : null;
         String version = pattern.isSetVersion() ? pattern.getVersion().trim() : null;
@@ -762,7 +762,7 @@
         return new AbstractNameQuery(artifact, nameMap, Collections.EMPTY_SET);
     }
 
-    private static AbstractNameQuery buildAbstractNameQuery(String module, String type, String name) {
+    public static AbstractNameQuery buildAbstractNameQuery(String module, String type, String name) {
         Map nameMap = new HashMap();
         nameMap.put("name", name);
         if (type != null) {

Modified: geronimo/branches/1.1/modules/security/src/java/org/apache/geronimo/security/jaas/JaasLoginModuleUse.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/security/src/java/org/apache/geronimo/security/jaas/JaasLoginModuleUse.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/security/src/java/org/apache/geronimo/security/jaas/JaasLoginModuleUse.java (original)
+++ geronimo/branches/1.1/modules/security/src/java/org/apache/geronimo/security/jaas/JaasLoginModuleUse.java Mon Mar 13 02:07:53 2006
@@ -72,14 +72,14 @@
     }
 
     public String getLoginModuleName() {
-        return kernel.getObjectNameFor(loginModule).getCanonicalName();
+        return kernel.getAbstractNameFor(loginModule).getObjectName().getCanonicalName();
     }
 
     public String getNextName() {
         if(next == null) {
             return null;
         }
-        return kernel.getObjectNameFor(next).getCanonicalName();
+        return kernel.getAbstractNameFor(next).getObjectName().getCanonicalName();
     }
 
     public String getControlFlag() {

Modified: geronimo/branches/1.1/modules/security/src/java/org/apache/geronimo/security/realm/GenericSecurityRealm.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/security/src/java/org/apache/geronimo/security/realm/GenericSecurityRealm.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/security/src/java/org/apache/geronimo/security/realm/GenericSecurityRealm.java (original)
+++ geronimo/branches/1.1/modules/security/src/java/org/apache/geronimo/security/realm/GenericSecurityRealm.java Mon Mar 13 02:07:53 2006
@@ -110,7 +110,7 @@
     }
 
     public String getLoginModuleChainName() {
-        return kernel.getObjectNameFor(loginModuleUse).getCanonicalName();
+        return kernel.getAbstractNameFor(loginModuleUse).getObjectName().getCanonicalName();
     }
 
     /**

Modified: geronimo/branches/1.1/modules/tomcat-builder/src/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/tomcat-builder/src/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java?rev=385487&r1=385486&r2=385487&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/tomcat-builder/src/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java (original)
+++ geronimo/branches/1.1/modules/tomcat-builder/src/java/org/apache/geronimo/tomcat/deployment/TomcatModuleBuilder.java Mon Mar 13 02:07:53 2006
@@ -26,6 +26,7 @@
 import org.apache.geronimo.deployment.xbeans.EnvironmentType;
 import org.apache.geronimo.deployment.xbeans.GbeanType;
 import org.apache.geronimo.deployment.xmlbeans.XmlBeansUtil;
+import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
@@ -34,13 +35,11 @@
 import org.apache.geronimo.j2ee.deployment.ModuleBuilder;
 import org.apache.geronimo.j2ee.deployment.WebModule;
 import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
-import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
-import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.kernel.StoredObject;
-import org.apache.geronimo.kernel.config.Configuration;
 import org.apache.geronimo.kernel.config.ConfigurationData;
+import org.apache.geronimo.kernel.config.ConfigurationModuleType;
 import org.apache.geronimo.kernel.repository.Artifact;
 import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.kernel.repository.Repository;
@@ -71,9 +70,8 @@
 import org.apache.xmlbeans.XmlException;
 import org.apache.xmlbeans.XmlObject;
 
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
 import javax.transaction.UserTransaction;
+import javax.management.MalformedObjectNameException;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -101,7 +99,7 @@
 
     private final Environment defaultEnvironment;
     private final boolean defaultContextPriorityClassloader;
-    private final ObjectName tomcatContainerObjectName;
+    private final AbstractName tomcatContainerObjectName;
 
     private final WebServiceBuilder webServiceBuilder;
 
@@ -109,18 +107,18 @@
 
     public TomcatModuleBuilder(Environment defaultEnvironment,
                                boolean defaultContextPriorityClassloader,
-                               ObjectName tomcatContainerObjectName,
+                               AbstractName tomcatContainerName,
                                WebServiceBuilder webServiceBuilder,
                                Kernel kernel) {
         super(kernel);
         this.defaultEnvironment = defaultEnvironment;
 
         this.defaultContextPriorityClassloader = defaultContextPriorityClassloader;
-        this.tomcatContainerObjectName = tomcatContainerObjectName;
+        this.tomcatContainerObjectName = tomcatContainerName;
         this.webServiceBuilder = webServiceBuilder;
     }
 
-    protected Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, boolean standAlone, String contextRoot) throws DeploymentException {
+    protected Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, boolean standAlone, String contextRoot, AbstractName earName) throws DeploymentException {
         assert moduleFile != null: "moduleFile is null";
         assert targetPath != null: "targetPath is null";
         assert !targetPath.endsWith("/"): "targetPath must not end with a '/'";
@@ -185,8 +183,18 @@
         } catch (MalformedURLException e) {
             //no descriptor
         }
+        AbstractName moduleName;
+        if (earName == null) {
+            try {
+                moduleName = NameFactory.buildModuleName(environment.getProperties(), environment.getConfigId(), ConfigurationModuleType.WAR, null);
+            } catch (MalformedObjectNameException e) {
+                throw new DeploymentException("Could not construct standalone web module name", e);
+            }
+        } else {
+            moduleName = NameFactory.getChildName(earName, NameFactory.WEB_MODULE, targetPath, null);
+        }
 
-        return new WebModule(standAlone, environment, moduleFile, targetPath, webApp, tomcatWebApp, specDD, contextRoot, portMap, TOMCAT_NAMESPACE);
+        return new WebModule(standAlone, moduleName, environment, moduleFile, targetPath, webApp, tomcatWebApp, specDD, contextRoot, portMap, TOMCAT_NAMESPACE);
     }
 
 
@@ -265,34 +273,23 @@
 
     public void addGBeans(EARContext earContext, Module module, ClassLoader cl, Repository repository) throws DeploymentException {
         EARContext moduleContext = module.getEarContext();
-        Configuration knownParent = null;
-        if (!module.isStandAlone()) {
-            knownParent = earContext.getConfiguration(null);
-        }
-        ClassLoader moduleClassLoader = moduleContext.getClassLoader(knownParent);
-        J2eeContext earJ2eeContext = moduleContext.getModuleName();
-        J2eeContext moduleJ2eeContext = J2eeContextImpl.newModuleContextFromApplication(earJ2eeContext, NameFactory.WEB_MODULE, module.getName());
+        ClassLoader moduleClassLoader = moduleContext.getClassLoader();
+        AbstractName moduleName = moduleContext.getModuleName();
         WebModule webModule = (WebModule) module;
 
         WebAppType webApp = (WebAppType) webModule.getSpecDD();
         TomcatWebAppType tomcatWebApp = (TomcatWebAppType) webModule.getVendorDD();
 
         GbeanType[] gbeans = tomcatWebApp.getGbeanArray();
-        ServiceConfigBuilder.addGBeans(gbeans, moduleClassLoader, moduleJ2eeContext, moduleContext);
+        ServiceConfigBuilder.addGBeans(gbeans, moduleClassLoader, moduleName, moduleContext);
 
-        ObjectName webModuleName;
-        try {
-            webModuleName = NameFactory.getModuleName(null, null, null, null, null, moduleJ2eeContext);
-        } catch (MalformedObjectNameException e) {
-            throw new DeploymentException("Could not construct module name", e);
-        }
 
         UserTransaction userTransaction = new OnlineUserTransaction();
         //this may add to the web classpath with enhanced classes.
         //N.B. we use the ear context which has all the gbeans we could possibly be looking up from this ear.
         Map compContext = buildComponentContext(earContext, webModule, webApp, tomcatWebApp, userTransaction, moduleClassLoader);
 
-        GBeanData webModuleData = new GBeanData(webModuleName, TomcatWebAppContext.GBEAN_INFO);
+        GBeanData webModuleData = new GBeanData(moduleName, TomcatWebAppContext.GBEAN_INFO);
         try {
             webModuleData.setReferencePattern("J2EEServer", moduleContext.getServerObjectName());
             if (!moduleContext.getJ2EEApplicationName().equals("null")) {
@@ -336,24 +333,24 @@
             }
             if (tomcatWebApp.isSetTomcatRealm()) {
                 String tomcatRealm = tomcatWebApp.getTomcatRealm().trim();
-                ObjectName realmName = NameFactory.getComponentName(null, null, null, null, tomcatRealm, RealmGBean.GBEAN_INFO.getJ2eeType(), moduleJ2eeContext);
+                AbstractName realmName = NameFactory.getChildName(moduleName, RealmGBean.GBEAN_INFO.getJ2eeType(), tomcatRealm, null);
                 webModuleData.setReferencePattern("TomcatRealm", realmName);
             }
             if (tomcatWebApp.isSetValveChain()) {
                 String valveChain = tomcatWebApp.getValveChain().trim();
-                ObjectName valveName = NameFactory.getComponentName(null, null, null, null, valveChain, ValveGBean.J2EE_TYPE, moduleJ2eeContext);
+                AbstractName valveName = NameFactory.getChildName(moduleName, ValveGBean.J2EE_TYPE, valveChain, null);
                 webModuleData.setReferencePattern("TomcatValveChain", valveName);
             }
 
             if (tomcatWebApp.isSetCluster()) {
                 String cluster = tomcatWebApp.getCluster().trim();
-                ObjectName clusterName = NameFactory.getComponentName(null, null, null, null, cluster, CatalinaClusterGBean.J2EE_TYPE, moduleJ2eeContext);
+                AbstractName clusterName = NameFactory.getChildName(moduleName, CatalinaClusterGBean.J2EE_TYPE, cluster, null);
                 webModuleData.setReferencePattern("Cluster", clusterName);
             }
 
             if (tomcatWebApp.isSetManager()) {
                 String manager = tomcatWebApp.getManager().trim();
-                ObjectName managerName = NameFactory.getComponentName(null, null, null, null, manager, ManagerGBean.J2EE_TYPE, moduleJ2eeContext);
+                AbstractName managerName = NameFactory.getChildName(moduleName, ManagerGBean.J2EE_TYPE, manager, null);
                 webModuleData.setReferencePattern("Manager", managerName);
             }
             Map portMap = webModule.getPortMap();
@@ -393,7 +390,7 @@
 
             if (tomcatWebApp.isSetSecurityRealmName()) {
                 if (earContext.getSecurityConfiguration() == null) {
-                     throw new DeploymentException("You have specified a <security-realm-name> for the webapp " + webModuleName + " but no <security> configuration (role mapping) is supplied in the Geronimo plan for the web application (or the Geronimo plan for the EAR if the web app is in an EAR)");
+                     throw new DeploymentException("You have specified a <security-realm-name> for the webapp " + moduleName + " but no <security> configuration (role mapping) is supplied in the Geronimo plan for the web application (or the Geronimo plan for the EAR if the web app is in an EAR)");
                 }
 
                 SecurityHolder securityHolder = new SecurityHolder();
@@ -402,7 +399,7 @@
                 /**
                  * TODO - go back to commented version when possible.
                  */
-                String policyContextID = webModuleName.getCanonicalName().replaceAll("[, :]", "_");
+                String policyContextID = moduleName.toString().replaceAll("[, :]", "_");
                 securityHolder.setPolicyContextID(policyContextID);
 
                 ComponentPermissions componentPermissions = buildSpecSecurityConfig(webApp, securityRoles, rolePermissions);
@@ -475,7 +472,7 @@
         GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(TomcatModuleBuilder.class, NameFactory.MODULE_BUILDER);
         infoBuilder.addAttribute("defaultEnvironment", Environment.class, true, true);
         infoBuilder.addAttribute("defaultContextPriorityClassloader", boolean.class, true, true);
-        infoBuilder.addAttribute("tomcatContainerObjectName", ObjectName.class, true, true);
+        infoBuilder.addAttribute("tomcatContainerObjectName", AbstractName.class, true, true);
         infoBuilder.addReference("WebServiceBuilder", WebServiceBuilder.class, NameFactory.MODULE_BUILDER);
         infoBuilder.addAttribute("kernel", Kernel.class, false);
         infoBuilder.addInterface(ModuleBuilder.class);