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/14 21:58:29 UTC

svn commit: r385886 - in /geronimo/branches/1.1: applications/console-core/src/java/org/apache/geronimo/console/util/ modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ modules/connector-builder/src/test/org/apache/geronimo/co...

Author: djencks
Date: Tue Mar 14 12:58:25 2006
New Revision: 385886

URL: http://svn.apache.org/viewcvs?rev=385886&view=rev
Log:
Work on using references in jsr-77 objects instead of looking up names in the kernel.

Added:
    geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/JCAResourceAdapter.java
Removed:
    geronimo/branches/1.1/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/JCAConnectionFactoryImpl.java
    geronimo/branches/1.1/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ResourceAdapterModuleImpl.java
Modified:
    geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java
    geronimo/branches/1.1/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
    geronimo/branches/1.1/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
    geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java
    geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImplGBean.java
    geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java
    geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImplGBean.java
    geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java
    geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImplGBean.java
    geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java
    geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java
    geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImplGBean.java
    geronimo/branches/1.1/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/RefContext.java
    geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java
    geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java
    geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyPOJOWebServiceHolder.java
    geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java
    geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletRegistration.java
    geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java

Modified: geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java (original)
+++ geronimo/branches/1.1/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java Tue Mar 14 12:58:25 2006
@@ -103,16 +103,15 @@
     }
 
     public J2EEDomain[] getDomains() {
-        String[] names = Util.getObjectNames(kernel, "*:", new String[]{"J2EEDomain"});
-        J2EEDomain[] domains = new J2EEDomain[names.length];
-        for (int i = 0; i < domains.length; i++) {
-            try {
-                domains[i] = (J2EEDomain)kernel.getProxyManager().createProxy(ObjectName.getInstance(names[i]), J2EEDomain.class);
-            } catch (MalformedObjectNameException e) {
-                log.error("Unable to look up related GBean", e);
-            }
+        //currently returns ObjectNames
+        Set domainNames = kernel.listGBeans(new GBeanQuery(null, J2EEDomain.class.getName()));
+        J2EEDomain[] result = new J2EEDomain[domainNames.size()];
+        int i = 0;
+        for (Iterator iterator = domainNames.iterator(); iterator.hasNext();) {
+            ObjectName domainName = (ObjectName) iterator.next();
+            result[i++] = (J2EEDomain) pm.createProxy(domainName, J2EEDomain.class)
         }
-        return domains;
+        return result;
     }
 
     public J2EEServer[] getServers(J2EEDomain domain) {

Modified: geronimo/branches/1.1/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java (original)
+++ geronimo/branches/1.1/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java Tue Mar 14 12:58:25 2006
@@ -109,11 +109,12 @@
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
+import java.util.Collections;
 import java.util.jar.JarFile;
 import java.util.zip.ZipEntry;
 
 /**
- * @version $Rev: 385372 $ $Date$
+ * @version $Rev:385659 $ $Date$
  */
 public class ConnectorModuleBuilder implements ModuleBuilder, ResourceReferenceBuilder {
 
@@ -279,7 +280,6 @@
 
         //set up the metadata for the ResourceAdapterModule
         GBeanData resourceAdapterModuleData = new GBeanData(resourceAdapterModuleName, ResourceAdapterModuleImplGBean.GBEAN_INFO);
-
         // initalize the GBean
         resourceAdapterModuleData.setReferencePattern(NameFactory.J2EE_SERVER, earContext.getServerName());
         if (!earContext.getModuleName().equals(resourceAdapterModuleName)) {
@@ -385,6 +385,16 @@
             AbstractName applicationName = earContext.getModuleName();
             resourceAdapterModuleName = Naming.createChildName(applicationName, NameFactory.RESOURCE_ADAPTER_MODULE, module.getName());
         }
+        /*
+        The chain of idiotic jsr-77 meaningless objects is:
+        ResourceAdapterModule (1)  >
+        ResourceAdapter (n, but there can only be 1 resource adapter in a rar, so we use 1) >
+        JCAResource (1) >
+        JCAConnectionFactory (n) >
+        JCAManagedConnectionFactory (1)
+        We also include:
+        JCAResourceAdapter (n)  (from JCAResource) (actual instance of ResourceAdapter)
+        */
         AbstractName resourceAdapterjsr77Name = Naming.createChildName(resourceAdapterModuleName, NameFactory.RESOURCE_ADAPTER, module.getName());
 
         XmlObject specDD = module.getSpecDD();
@@ -398,7 +408,7 @@
         if (resourceAdapterModuleData == null) {
             throw new DeploymentException("Internal consistency bug: gbean data for module is missing: " + resourceAdapterModuleName);
         }
-        resourceAdapterModuleData.setAttribute("resourceAdapter", resourceAdapterjsr77Name.getObjectName().getCanonicalName());
+        resourceAdapterModuleData.setReferencePattern("ResourceAdapter", resourceAdapterjsr77Name);
 
         // add it
         try {
@@ -410,7 +420,7 @@
         //construct the bogus resource adapter and jca resource placeholders
         GBeanData resourceAdapterData = new GBeanData(resourceAdapterjsr77Name, ResourceAdapterImplGBean.GBEAN_INFO);
         AbstractName jcaResourcejsr77Name = Naming.createChildName(resourceAdapterjsr77Name, NameFactory.JCA_RESOURCE, module.getName());
-        resourceAdapterData.setAttribute("JCAResource", jcaResourcejsr77Name.getObjectName().getCanonicalName());
+        resourceAdapterData.setReferencePattern("JCAResource", jcaResourcejsr77Name);
         try {
             earContext.addGBean(resourceAdapterData);
         } catch (GBeanAlreadyExistsException e) {
@@ -418,6 +428,8 @@
         }
 
         GBeanData jcaResourceData = new GBeanData(jcaResourcejsr77Name, JCAResourceImplGBean.GBEAN_INFO);
+        jcaResourceData.setReferencePattern("ConnectionFactories", new AbstractNameQuery(resourceAdapterModuleName.getArtifact(), Collections.EMPTY_MAP));
+        jcaResourceData.setReferencePattern("ResourceAdapters", new AbstractNameQuery(resourceAdapterModuleName.getArtifact(), Collections.EMPTY_MAP));
         try {
             earContext.addGBean(jcaResourceData);
         } catch (GBeanAlreadyExistsException e) {
@@ -802,8 +814,7 @@
         // ConnectionFactory
         AbstractName connectionFactoryAbstractName = Naming.createChildName(jcaResourceName, NameFactory.JCA_CONNECTION_FACTORY, connectiondefinitionInstance.getName().trim());
         GBeanData connectionFactoryGBeanData = new GBeanData(connectionFactoryAbstractName, JCAConnectionFactoryImplGBean.GBEAN_INFO);
-        connectionFactoryGBeanData.setReferencePattern("J2EEServer", earContext.getServerName());
-        connectionFactoryGBeanData.setAttribute("managedConnectionFactory", managedConnectionFactoryAbstractName.getObjectName().getCanonicalName());
+        connectionFactoryGBeanData.setReferencePattern("JCAManagedConnectionFactory", managedConnectionFactoryAbstractName);
 
         try {
             earContext.addGBean(connectionFactoryGBeanData);

Modified: geronimo/branches/1.1/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java (original)
+++ geronimo/branches/1.1/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java Tue Mar 14 12:58:25 2006
@@ -120,7 +120,7 @@
             return null;
         }
 
-        public Reference createCORBAReference(URI corbaURL, String objectName, AbstractName containerName, String home) {
+        public Reference createCORBAReference(Artifact configId, AbstractNameQuery containerNameQuery, URI nsCorbaloc, String objectName, String home) throws DeploymentException {
             return null;
         }
 

Modified: geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java (original)
+++ geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImpl.java Tue Mar 14 12:58:25 2006
@@ -16,50 +16,55 @@
  */
 package org.apache.geronimo.connector;
 
-import javax.management.ObjectName;
-import javax.management.MalformedObjectNameException;
-
-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.j2ee.management.impl.Util;
-import org.apache.geronimo.kernel.Kernel;
-import org.apache.geronimo.kernel.jmx.JMXUtil;
 import org.apache.geronimo.management.geronimo.JCAResource;
+import org.apache.geronimo.management.geronimo.JCAResourceAdapter;
+import org.apache.geronimo.connector.outbound.JCAConnectionFactoryImpl;
+
+import java.util.Collection;
+import java.util.ArrayList;
+import java.util.Iterator;
 
 /**
  * @version $Rev$ $Date$
  */
 public class JCAResourceImpl implements JCAResource  {
-    private final Kernel kernel;
     private final String objectName;
-    private final J2eeContext moduleContext;
 
-    private static final String[] CONNECTION_FACTORY_TYPES = {NameFactory.JCA_CONNECTION_FACTORY};
-    private static final String[] RESOURCE_ADAPTER_INSTANCE_TYPES = {NameFactory.JCA_RESOURCE_ADAPTER};
+    private final Collection connectionFactories;
+    private final Collection resourceAdapters;
 
-    public JCAResourceImpl(String objectName, Kernel kernel) {
+    public JCAResourceImpl(String objectName, Collection connectionFactories, Collection resourceAdapters) {
         this.objectName = objectName;
-        this.kernel = kernel;
-
-        ObjectName myObjectName = JMXUtil.getObjectName(objectName);
-        moduleContext = J2eeContextImpl.newModuleContext(myObjectName, NameFactory.JCA_RESOURCE);
+        this.connectionFactories = connectionFactories;
+        this.resourceAdapters = resourceAdapters;
     }
 
     public String[] getConnectionFactories() {
-        try {
-            return Util.getObjectNames(kernel, moduleContext, CONNECTION_FACTORY_TYPES);
-        } catch (MalformedObjectNameException e) {
-            throw new AssertionError();
+        Collection copy;
+        synchronized(connectionFactories) {
+            copy = new ArrayList(connectionFactories);
         }
+        String[] result = new String[copy.size()];
+        int i = 0;
+        for (Iterator iterator = copy.iterator(); iterator.hasNext();) {
+            JCAConnectionFactoryImpl jcaConnectionFactory = (JCAConnectionFactoryImpl) iterator.next();
+            result[i++] = jcaConnectionFactory.getObjectName();
+        }
+        return result;
     }
 
     public String[] getResourceAdapterInstances() {
-        try {
-            return Util.getObjectNames(kernel, moduleContext, RESOURCE_ADAPTER_INSTANCE_TYPES);
-        } catch (MalformedObjectNameException e) {
-            throw new AssertionError();
+        Collection copy;
+        synchronized(resourceAdapters) {
+            copy = new ArrayList(resourceAdapters);
+        }
+        String[] result = new String[copy.size()];
+        int i = 0;
+        for (Iterator iterator = copy.iterator(); iterator.hasNext();) {
+            JCAResourceAdapter resourceAdapter = (JCAResourceAdapter) iterator.next();
+            result[i++] = resourceAdapter.getObjectName();
         }
+        return result;
     }
 
     public String getObjectName() {

Modified: geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImplGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImplGBean.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImplGBean.java (original)
+++ geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/JCAResourceImplGBean.java Tue Mar 14 12:58:25 2006
@@ -17,10 +17,11 @@
 
 package org.apache.geronimo.connector;
 
+import org.apache.geronimo.connector.outbound.JCAConnectionFactoryImpl;
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
-import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.management.geronimo.JCAResourceAdapter;
 import org.apache.geronimo.management.geronimo.JCAResource;
 
 public class JCAResourceImplGBean {
@@ -30,12 +31,14 @@
     static {
         GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(JCAResourceImplGBean.class, JCAResourceImpl.class, NameFactory.JCA_RESOURCE);
         infoBuilder.addAttribute("objectName", String.class, false);
-        infoBuilder.addAttribute("kernel", Kernel.class, false);
+        infoBuilder.addReference("ConnectionFactories", JCAConnectionFactoryImpl.class, NameFactory.JCA_CONNECTION_FACTORY);
+        infoBuilder.addReference("ResourceAdapters", JCAResourceAdapter.class, NameFactory.JCA_RESOURCE_ADAPTER);
         infoBuilder.addInterface(JCAResource.class);
 
         infoBuilder.setConstructor(new String[]{
             "objectName",
-            "kernel"
+            "ConnectionFactories",
+            "ResourceAdapters"
         });
 
         GBEAN_INFO = infoBuilder.getBeanInfo();

Modified: geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java (original)
+++ geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImpl.java Tue Mar 14 12:58:25 2006
@@ -23,15 +23,15 @@
  */
 public class ResourceAdapterImpl implements ResourceAdapter {
     private final String objectName;
-    private final String jcaResource;
+    private final JCAResourceImpl jcaResource;
 
-    public ResourceAdapterImpl(String objectName, String jcaResource) {
+    public ResourceAdapterImpl(String objectName, JCAResourceImpl jcaResource) {
         this.objectName = objectName;
         this.jcaResource = jcaResource;
     }
 
     public String[] getJCAResources() {
-        return new String[] {jcaResource};
+        return new String[] {jcaResource.getObjectName()};
     }
 
     public String getObjectName() {

Modified: geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImplGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImplGBean.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImplGBean.java (original)
+++ geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterImplGBean.java Tue Mar 14 12:58:25 2006
@@ -29,12 +29,13 @@
     static {
         GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(ResourceAdapterImplGBean.class, ResourceAdapterImpl.class, NameFactory.RESOURCE_ADAPTER);
         infoBuilder.addAttribute("objectName", String.class, false);
-        infoBuilder.addAttribute("JCAResource", String.class, true);
+        infoBuilder.addReference("JCAResourceImpl", JCAResourceImpl.class, NameFactory.JCA_RESOURCE);
+        infoBuilder.addAttribute("JCAResource", String.class, false);
         infoBuilder.addInterface(ResourceAdapter.class);
 
         infoBuilder.setConstructor(new String[]{
             "objectName",
-            "JCAResource"
+            "JCAResourceImpl"
         });
 
         GBEAN_INFO = infoBuilder.getBeanInfo();

Modified: geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java (original)
+++ geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImpl.java Tue Mar 14 12:58:25 2006
@@ -35,7 +35,7 @@
     private final J2EEServer server;
     private final J2EEApplication application;
     private final String deploymentDescriptor;
-    private final String[] resourceAdapters;
+    private final ResourceAdapterImpl resourceAdapter;
 
     private final GBeanData resourceAdapterGBeanData;
     private final Map activationSpecInfoMap;
@@ -48,10 +48,10 @@
     private final String resourceAdapterVersion;
     private final String eisType;
 
-    public ResourceAdapterModuleImpl(String resourceAdapter,
-                                     String objectName, 
-                                     J2EEServer server, 
-                                     J2EEApplication application, 
+    public ResourceAdapterModuleImpl(String objectName,
+                                     ResourceAdapterImpl resourceAdapter,
+                                     J2EEServer server,
+                                     J2EEApplication application,
                                      String deploymentDescriptor,
                                      GBeanData resourceAdapterGBeanData,
                                      Map activationSpecInfoMap,
@@ -66,7 +66,7 @@
         ObjectName myObjectName = JMXUtil.getObjectName(objectName);
         verifyObjectName(myObjectName);
 
-        this.resourceAdapters = new String[] {resourceAdapter};
+        this.resourceAdapter = resourceAdapter;
 
         this.server = server;
         this.application = application;
@@ -119,7 +119,7 @@
     }
 
     public String[] getResourceAdapters() {
-        return resourceAdapters;
+        return new String[]{resourceAdapter.getObjectName()};
     }
 
     public GBeanData getResourceAdapterGBeanData() {

Modified: geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImplGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImplGBean.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImplGBean.java (original)
+++ geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterModuleImplGBean.java Tue Mar 14 12:58:25 2006
@@ -28,7 +28,6 @@
 import org.apache.geronimo.management.geronimo.ResourceAdapterModule;
 
 /**
- * 
  * @version $Revision$
  */
 public class ResourceAdapterModuleImplGBean {
@@ -42,7 +41,7 @@
 
         infoBuilder.addAttribute("deploymentDescriptor", String.class, true);
 
-        infoBuilder.addAttribute("resourceAdapter", String.class, true);
+        infoBuilder.addReference("ResourceAdapter", ResourceAdapterImpl.class, NameFactory.RESOURCE_ADAPTER);
         infoBuilder.addAttribute("objectName", String.class, false);
         infoBuilder.addAttribute("server", String.class, false);
         infoBuilder.addAttribute("application", String.class, false);
@@ -64,20 +63,20 @@
         infoBuilder.addInterface(ResourceAdapterModule.class);
 
         infoBuilder.setConstructor(new String[]{
-            "resourceAdapter",
-            "objectName",
-            "J2EEServer",
-            "J2EEApplication",
-            "deploymentDescriptor",
-            "resourceAdapterGBeanData",
-            "activationSpecInfoMap",
-            "adminObjectInfoMap",
-            "managedConnectionFactoryInfoMap",
-            "displayName",
-            "description",
-            "vendorName",
-            "resourceAdapterVersion",
-            "EISType"
+                "objectName",
+                "ResourceAdapter",
+                "J2EEServer",
+                "J2EEApplication",
+                "deploymentDescriptor",
+                "resourceAdapterGBeanData",
+                "activationSpecInfoMap",
+                "adminObjectInfoMap",
+                "managedConnectionFactoryInfoMap",
+                "displayName",
+                "description",
+                "vendorName",
+                "resourceAdapterVersion",
+                "EISType"
         });
 
         GBEAN_INFO = infoBuilder.getBeanInfo();

Modified: geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java (original)
+++ geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java Tue Mar 14 12:58:25 2006
@@ -17,9 +17,6 @@
 
 package org.apache.geronimo.connector;
 
-import javax.resource.spi.ResourceAdapter;
-import javax.resource.spi.ResourceAdapterAssociation;
-
 import org.apache.geronimo.connector.work.GeronimoWorkManager;
 import org.apache.geronimo.gbean.DynamicGBean;
 import org.apache.geronimo.gbean.DynamicGBeanDelegate;
@@ -27,23 +24,30 @@
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.GBeanLifecycle;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.management.geronimo.JCAResourceAdapter;
+
+import javax.resource.spi.ResourceAdapter;
+import javax.resource.spi.ResourceAdapterAssociation;
 
 /**
  * 
  * @version $Revision$
  */
-public class ResourceAdapterWrapperGBean extends ResourceAdapterWrapper implements GBeanLifecycle, DynamicGBean {
+public class ResourceAdapterWrapperGBean extends ResourceAdapterWrapper implements GBeanLifecycle, DynamicGBean, JCAResourceAdapter {
 
     private final DynamicGBeanDelegate delegate;
+    private final String objectName;
 
     public ResourceAdapterWrapperGBean() {
         delegate=null;
+        objectName = null;
     }
 
-    public ResourceAdapterWrapperGBean(final String resourceAdapterClass, final GeronimoWorkManager workManager, ClassLoader cl) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+    public ResourceAdapterWrapperGBean(final String resourceAdapterClass, final GeronimoWorkManager workManager, ClassLoader cl, String objectName) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
         super(resourceAdapterClass, workManager, cl);
         delegate = new DynamicGBeanDelegate();
         delegate.addAll(resourceAdapter);
+        this.objectName = objectName;
     }
 
     public Object getAttribute(String name) throws Exception {
@@ -59,20 +63,38 @@
         return null;
     }
 
+    public String getObjectName() {
+        return objectName;
+    }
+
+    public boolean isStateManageable() {
+        return false;
+    }
+
+    public boolean isStatisticsProvider() {
+        return false;
+    }
+
+    public boolean isEventProvider() {
+        return false;
+    }
+
     public static final GBeanInfo GBEAN_INFO;
 
     static {
-        GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(ResourceAdapterWrapperGBean.class, NameFactory.RESOURCE_ADAPTER);
+        GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(ResourceAdapterWrapperGBean.class, NameFactory.JCA_RESOURCE_ADAPTER);
         infoBuilder.addAttribute("resourceAdapterClass", String.class, true);
         infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
+        infoBuilder.addAttribute("objectName", String.class, false);
 
         infoBuilder.addReference("WorkManager", GeronimoWorkManager.class, NameFactory.JCA_WORK_MANAGER);
 
         infoBuilder.addOperation("registerResourceAdapterAssociation", new Class[]{ResourceAdapterAssociation.class});
 
         infoBuilder.addInterface(ResourceAdapter.class);
+        infoBuilder.addInterface(JCAResourceAdapter.class);
 
-        infoBuilder.setConstructor(new String[]{"resourceAdapterClass", "WorkManager", "classLoader"});
+        infoBuilder.setConstructor(new String[]{"resourceAdapterClass", "WorkManager", "classLoader", "objectName"});
 
         GBEAN_INFO = infoBuilder.getBeanInfo();
     }

Modified: geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java (original)
+++ geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImpl.java Tue Mar 14 12:58:25 2006
@@ -16,23 +16,22 @@
  */
 package org.apache.geronimo.connector.outbound;
 
-import java.util.Hashtable;
-
-import javax.management.ObjectName;
-
-import org.apache.geronimo.management.J2EEServer;
-import org.apache.geronimo.management.JCAConnectionFactory;
 import org.apache.geronimo.j2ee.management.impl.InvalidObjectNameException;
 import org.apache.geronimo.kernel.jmx.JMXUtil;
+import org.apache.geronimo.management.JCAConnectionFactory;
+import org.apache.geronimo.management.geronimo.JCAManagedConnectionFactory;
+
+import javax.management.ObjectName;
+import java.util.Hashtable;
 
 /**
  * @version $Rev$ $Date$
  */
 public class JCAConnectionFactoryImpl implements JCAConnectionFactory  {
     private final String objectName;
-    private final String managedConnectionFactory;
+    private final JCAManagedConnectionFactory managedConnectionFactory;
 
-    public JCAConnectionFactoryImpl(String objectName, J2EEServer server, String managedConnectionFactory) {
+    public JCAConnectionFactoryImpl(String objectName, JCAManagedConnectionFactory managedConnectionFactory) {
         // todo do we really need to do this at runtime - shouldn't the builder set this up correctly?
         ObjectName myObjectName = JMXUtil.getObjectName(objectName);
         verifyObjectName(myObjectName);
@@ -42,7 +41,7 @@
     }
 
     public String getManagedConnectionFactory() {
-        return managedConnectionFactory;
+        return managedConnectionFactory.getObjectName();
     }
 
     public String getObjectName() {

Modified: geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImplGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImplGBean.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImplGBean.java (original)
+++ geronimo/branches/1.1/modules/connector/src/java/org/apache/geronimo/connector/outbound/JCAConnectionFactoryImplGBean.java Tue Mar 14 12:58:25 2006
@@ -21,6 +21,7 @@
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.management.J2EEServer;
 import org.apache.geronimo.management.JCAConnectionFactory;
+import org.apache.geronimo.management.geronimo.JCAManagedConnectionFactory;
 
 /**
  * 
@@ -32,13 +33,12 @@
 
     static {
         GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(JCAConnectionFactoryImplGBean.class, JCAConnectionFactoryImpl.class, NameFactory.JCA_CONNECTION_FACTORY);
-        infoFactory.addReference("J2EEServer", J2EEServer.class);
 
         infoFactory.addAttribute("objectName", String.class, false);
-        infoFactory.addAttribute("managedConnectionFactory", String.class, true);
+        infoFactory.addReference("JCAManagedConnectionFactory", JCAManagedConnectionFactory.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
         infoFactory.addInterface(JCAConnectionFactory.class);
 
-        infoFactory.setConstructor(new String[]{"objectName", "J2EEServer", "managedConnectionFactory"});
+        infoFactory.setConstructor(new String[]{"objectName", "managedConnectionFactory"});
 
         GBEAN_INFO = infoFactory.getBeanInfo();
     }

Modified: geronimo/branches/1.1/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/RefContext.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/RefContext.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/RefContext.java (original)
+++ geronimo/branches/1.1/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/RefContext.java Tue Mar 14 12:58:25 2006
@@ -124,18 +124,6 @@
         return serviceReferenceBuilder.createService(serviceInterface, wsdlURI, jaxrpcMappingURI, serviceQName, portComponentRefMap, handlerInfos, serviceRefType, deploymentContext, module, classLoader);
     }
 
-    public String getResourceAdapterContainerId(URI moduleURI, String resourceLink, NamingContext context) throws UnresolvedReferenceException {
-        AbstractName moduleName = context.getModuleName();
-        AbstractName containerName = locateComponentName(resourceLink, moduleURI, NameFactory.JCA_RESOURCE, NameFactory.JCA_RESOURCE_ADAPTER, moduleName, context, "resource adapter");
-        return containerName.toString();
-    }
-
-    public String getConnectionFactoryContainerId(URI moduleURI, String resourceLink, String type, NamingContext context) throws UnresolvedReferenceException {
-        AbstractName moduleName = context.getModuleName();
-        AbstractName containerName = locateComponentName(resourceLink, moduleURI, NameFactory.JCA_RESOURCE, type, moduleName, context, "connection factory");
-        return containerName.toString();
-    }
-
     public Object getMessageDestination(String messageDestinationLink) throws DeploymentException {
         Object destination = null;
         int pos = messageDestinationLink.indexOf('#');
@@ -168,11 +156,6 @@
         return destination;
     }
 
-    public String getAdminObjectContainerId(URI moduleURI, String resourceLink, NamingContext context) throws DeploymentException {
-        AbstractName moduleName = context.getModuleName();
-        AbstractName containerName = locateComponentName(resourceLink, moduleURI, NameFactory.JCA_RESOURCE, NameFactory.JCA_ADMIN_OBJECT, moduleName, context, "admin object");
-        return containerName.toString();
-    }
 
     public Reference getImplicitEJBRemoteRef(URI module, String refName, boolean isSession, String home, String remote, NamingContext namingContext) throws DeploymentException {
         return ejbReferenceBuilder.getImplicitEJBRemoteRef(module, refName, isSession, home, remote, namingContext);
@@ -210,20 +193,6 @@
         AbstractNameQuery query = new AbstractNameQuery(null, Collections.singletonMap("name", "ejb/mgmt/MEJB"), (String)null);
         AbstractName mejbName = locateUniqueNameInKernel(query, "Management EJB");
         return mejbName.toString();
-    }
-
-    public AbstractName locateComponentName(String resourceLink, URI moduleURI, String moduleType, String type, AbstractName j2eeContext, NamingContext context, String queryType) throws UnresolvedReferenceException {
-        GBeanData match = locateComponent(resourceLink, moduleURI, moduleType, type, j2eeContext, context, queryType);
-        return match.getAbstractName();
-    }
-
-    private GBeanData locateComponent(String resourceLink, URI moduleURI, String moduleType, String type, AbstractName j2eeContext, NamingContext context, String queryType) throws UnresolvedReferenceException {
-        GBeanData match = locateComponentInApplication(resourceLink, moduleURI, moduleType, type, j2eeContext, context, true);
-        if (match == null) {
-            //no matches in current context, look in other modules with J2EEApplication=null
-            return locateGBeanInKernel(resourceLink, type, j2eeContext, queryType);
-        }
-        return match;
     }
 
     private GBeanData locateComponentData(AbstractName name, NamingContext context) throws UnresolvedReferenceException {

Modified: geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java (original)
+++ geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/j2eeobjectnames/NameFactory.java Tue Mar 14 12:58:25 2006
@@ -31,7 +31,7 @@
 import javax.management.ObjectName;
 
 /**
- * @version $Rev: 385487 $ $Date$
+ * @version $Rev:385692 $ $Date$
  */
 public class NameFactory {
 
@@ -58,6 +58,7 @@
     public static final String RESOURCE_ADAPTER = "ResourceAdapter";
     public static final String JAVA_MAIL_RESOURCE = "JavaMailResource";
     public static final String JCA_RESOURCE = "JCAResource";
+//    public static final String JCA_RESOURCE_ADAPTER defined in geronimo extensions
     public static final String JCA_CONNECTION_FACTORY = "JCAConnectionFactory";
     public static final String JCA_MANAGED_CONNECTION_FACTORY = "JCAManagedConnectionFactory";
     public static final String JDBC_RESOURCE = "JDBCResource";
@@ -160,6 +161,16 @@
     }
 
 
+    /**
+     *
+     * @deprecated
+     * @param j2eeDomainName
+     * @param j2eeServerName
+     * @param j2eeApplicationName
+     * @param context
+     * @return
+     * @throws MalformedObjectNameException
+     */
     public static ObjectName getApplicationName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, J2eeContext context) throws MalformedObjectNameException {
         Properties props = new Properties();
         props.put(J2EE_TYPE, J2EE_APPLICATION);
@@ -168,6 +179,18 @@
         return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
     }
 
+    /**
+     *
+     * @deprecated
+     * @param j2eeDomainName
+     * @param j2eeServerName
+     * @param j2eeApplicationName
+     * @param j2eeModuleType
+     * @param j2eeModuleName
+     * @param context
+     * @return
+     * @throws MalformedObjectNameException
+     */
     public static ObjectName getModuleName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleType, String j2eeModuleName, J2eeContext context) throws MalformedObjectNameException {
         Properties props = new Properties();
         //N.B.! module context will have the module's j2eeType as its module type attribute.
@@ -178,6 +201,20 @@
         return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
     }
 
+    /**
+     *
+     * @deprecated
+     * @param j2eeDomainName
+     * @param j2eeServerName
+     * @param j2eeApplicationName
+     * @param j2eeModuleType
+     * @param j2eeModuleName
+     * @param j2eeName
+     * @param j2eeType
+     * @param context
+     * @return
+     * @throws MalformedObjectNameException
+     */
     public static ObjectName getComponentName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleType, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
         Properties props = new Properties();
         props.put(J2EE_TYPE, context.getJ2eeType(j2eeType));
@@ -188,19 +225,45 @@
         return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
     }
 
+    /**
+     *
+     * @deprecated
+     * @param j2eeDomainName
+     * @param j2eeServerName
+     * @param j2eeApplicationName
+     * @param j2eeModuleName
+     * @param j2eeName
+     * @param j2eeType
+     * @param context
+     * @return
+     * @throws MalformedObjectNameException
+     */
     public static ObjectName getEjbComponentName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
         return getComponentName(j2eeDomainName, j2eeServerName, j2eeApplicationName, EJB_MODULE, j2eeModuleName, j2eeName, j2eeType, context);
     }
 
-//    public static String getEjbComponentNameString(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
-//        return getEjbComponentName(j2eeDomainName, j2eeServerName, j2eeApplicationName, j2eeModuleName, j2eeName, j2eeType, context).getCanonicalName();
-//    }
-
-
+    /**
+     *
+     * @deprecated
+     * @param name
+     * @param type
+     * @param context
+     * @return AbstractNameQuery
+     */
     public static AbstractNameQuery getComponentNameQuery(String name, String type, AbstractName context) {
         return getComponentNameQuery(null, null, name, type, context);
     }
 
+    /**
+     *
+     * @deprecated
+     * @param moduleName
+     * @param moduleType
+     * @param name
+     * @param type
+     * @param context
+     * @return AbstractNameQuery
+     */
     public static AbstractNameQuery getComponentNameQuery(String moduleName, String moduleType, String name, String type, AbstractName context) {
         Map nameProperties = new HashMap(context.getName());
 
@@ -223,104 +286,38 @@
             nameProperties.put(J2EE_TYPE, type);
         }
 
-        return new AbstractNameQuery(context.getArtifact(), nameProperties, (String)null);
+        return new AbstractNameQuery(context.getArtifact(), nameProperties, (String) null);
     }
 
-    public static ObjectName getComponentNameQuery(String domainName, String serverName, String applicationName, String moduleType, String moduleName, String name, String type, J2eeContext context) throws MalformedObjectNameException {
-        StringBuffer buffer = new StringBuffer();
-        if ("*".equals(domainName)) {
-            buffer.append("*");
-        } else {
-            buffer.append(context.getJ2eeDomainName(domainName));
-        }
-        boolean query = false;
-        String sep = ":";
-        //implicit attributes, if they are missing it means "use value from j2eecontext": if they are * it means skip and make a query
-        if ("*".equals(serverName)) {
-            query = true;
-        } else {
-            buffer.append(sep).append(J2EE_SERVER).append("=").append(context.getJ2eeServerName(serverName));
-            sep = ",";
-        }
-        if ("*".equals(applicationName)) {
-            query = true;
-        } else {
-            buffer.append(sep).append(J2EE_APPLICATION).append("=").append(context.getJ2eeApplicationName(applicationName));
-            sep = ",";
-        }
-        if ("*".equals(moduleName)) {
-            query = true;
-        } else {
-            buffer.append(sep).append(context.getJ2eeModuleType(moduleType)).append("=").append(context.getJ2eeModuleName(moduleName));
-            sep = ",";
-        }
-        if ("*".equals(type)) {
-            query = true;
-        } else {
-            buffer.append(sep).append(J2EE_TYPE).append("=").append(context.getJ2eeType(type));
-            sep = ",";
-        }
-        //explicit attributes, must be included: if * then make a query
-        if ("*".equals(name)) {
-            query = true;
-        } else {
-            buffer.append(sep).append(J2EE_NAME).append("=").append(context.getJ2eeName(name));
-            sep = ",";
-        }
-        //make a query, possibly
-        if (query) {
-            buffer.append(sep).append("*");
-        }
-        try {
-            return ObjectName.getInstance(buffer.toString());
-        } catch (MalformedObjectNameException e) {
-            throw (MalformedObjectNameException) new MalformedObjectNameException("Could not construct object name: " + buffer.toString()).initCause(e);
-        }
-    }
-
-//    public static ObjectName getComponentNameQuery(String domainName, String serverName, String applicationName, String name, String type, J2eeContext context) throws MalformedObjectNameException {
-//        return getComponentNameQuery(domainName, serverName, applicationName, null, "*", name, type, context);
-//    }
-
-    public static ObjectName getComponentInModuleQuery(String domainName, String serverName, String applicationName, String moduleType, String moduleName, String type, J2eeContext context) throws MalformedObjectNameException {
-        return getComponentNameQuery(domainName, serverName, applicationName, moduleType, moduleName, "*", type, context);
-    }
-
-//    /**
-//     * Creates a query for components that are in no application with given name.
-//     *
-//     * @param domainName
-//     * @param serverName
-//     * @param name
-//     * @param type
-//     * @param context
-//     * @return
-//     * @throws MalformedObjectNameException
-//     */
-//    public static ObjectName getComponentRestrictedQueryName(String domainName, String serverName, String name, String type, J2eeContext context) throws MalformedObjectNameException {
-//        return getComponentNameQuery(domainName, serverName, NULL, null, "*", name, type, context);
-//    }
-
+    /**
+     * @param j2eeDomainName
+     * @param j2eeServerName
+     * @param j2eeApplicationName
+     * @param j2eeModuleName
+     * @param j2eeName
+     * @param j2eeType
+     * @param context
+     * @return
+     * @throws MalformedObjectNameException
+     * @deprecated
+     */
     public static ObjectName getWebComponentName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
         return getComponentName(j2eeDomainName, j2eeServerName, j2eeApplicationName, WEB_MODULE, j2eeModuleName, j2eeName, j2eeType, context);
     }
 
-    //TODO THIS IS KIND OF WEIRD. Is there a better way???
-    public static ObjectName getWebFilterMappingName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String filterName, String servletName, String urlPattern, J2eeContext context) throws MalformedObjectNameException {
-        Properties props = new Properties();
-        props.put(J2EE_TYPE, URL_WEB_FILTER_MAPPING);
-        props.put(J2EE_SERVER, context.getJ2eeServerName(j2eeServerName));
-        props.put(J2EE_APPLICATION, context.getJ2eeApplicationName(j2eeApplicationName));
-        props.put(WEB_MODULE, context.getJ2eeModuleName(j2eeModuleName));
-        props.put(WEB_FILTER, filterName);
-        if (servletName != null) {
-            props.put(SERVLET, servletName);
-        } else {
-            props.put(URL_PATTERN, ObjectName.quote(urlPattern));
-        }
-        return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
-    }
 
+    /**
+     * @param j2eeDomainName
+     * @param j2eeServerName
+     * @param j2eeApplicationName
+     * @param j2eeModuleName
+     * @param j2eeName
+     * @param j2eeType
+     * @param context
+     * @return
+     * @throws MalformedObjectNameException
+     * @deprecated
+     */
     //for non-j2ee-deployable resources such as the transaction manager
     public static ObjectName getComponentName(String j2eeDomainName, String j2eeServerName, String j2eeApplicationName, String j2eeModuleName, String j2eeName, String j2eeType, J2eeContext context) throws MalformedObjectNameException {
         Properties props = new Properties();
@@ -335,14 +332,4 @@
         return ObjectName.getInstance(context.getJ2eeDomainName(j2eeDomainName), props);
     }
 
-//    public static ObjectName getChildName(ObjectName parentObjectName, String type, String name) throws MalformedObjectNameException {
-//        String domain = parentObjectName.getDomain();
-//        Hashtable parentKeys = parentObjectName.getKeyPropertyList();
-//        String parentType = (String) parentKeys.remove(J2EE_TYPE);
-//        String parentName = (String) parentKeys.remove(J2EE_NAME);
-//        parentKeys.put(parentType, parentName);
-//        parentKeys.put(J2EE_TYPE, type);
-//        parentKeys.put(J2EE_NAME, name);
-//        return ObjectName.getInstance(domain, parentKeys);
-//    }
 }

Modified: geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java (original)
+++ geronimo/branches/1.1/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/Util.java Tue Mar 14 12:58:25 2006
@@ -17,45 +17,18 @@
 
 package org.apache.geronimo.j2ee.management.impl;
 
+import org.apache.geronimo.kernel.Kernel;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Set;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-
-import org.apache.geronimo.kernel.Kernel;
-import org.apache.geronimo.kernel.DependencyManager;
-import org.apache.geronimo.kernel.GBeanNotFoundException;
-import org.apache.geronimo.kernel.config.Configuration;
-import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
-import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.AbstractName;
-import org.apache.geronimo.gbean.GBeanData;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.logging.Log;
 
 /**
  * @version $Rev$ $Date$
  */
 public class Util {
-    private final static Log log = LogFactory.getLog(Util.class);
-
-    public static String[] getObjectNames(Kernel kernel, J2eeContext context, String[] j2eeTypes) throws MalformedObjectNameException {
-        List objectNames = new LinkedList();
-        for (int i = 0; i < j2eeTypes.length; i++) {
-            String j2eeType = j2eeTypes[i];
-            ObjectName query = NameFactory.getComponentInModuleQuery(null, null, null, null, null, j2eeType,  context);
-            objectNames.addAll(kernel.listGBeans(query));
-        }
-        String[] names = new String[objectNames.size()];
-        Iterator iterator = objectNames.iterator();
-        for (int i = 0; iterator.hasNext(); i++) {
-            names[i] = iterator.next().toString();
-        }
-        return names;
-    }
 
     public static String[] getObjectNames(Kernel kernel, Object parentName, String[] j2eeTypes) {
         List objectNames = new LinkedList();
@@ -76,46 +49,5 @@
         return names;
     }
 
-    /**
-     * Gets a Configuration that is the parent of the specified object.
-     *
-     * @param objectName the bean to find the Configuration for
-     * @return the Configuration the bean is in, or null if it is not in a Configuration
-     */
-    public synchronized static ObjectName getConfiguration(Kernel kernel, ObjectName objectName) {
-        try {
-            GBeanData data = kernel.getGBeanData(objectName);
-            AbstractName abstractName = data.getAbstractName();
-            AbstractName result = getConfiguration(kernel, abstractName);
-            if (result == null) {
-                return null;
-            }
-            return result.getObjectName();
-        } catch (GBeanNotFoundException e) {
-            log.warn("gbean not found" + objectName);
-            return null;
-        }
-    }
 
-    public synchronized static AbstractName getConfiguration(Kernel kernel, AbstractName abstractName) {
-        DependencyManager mgr = kernel.getDependencyManager();
-        Set parents = mgr.getParents(abstractName);
-        if(parents == null || parents.isEmpty()) {
-            log.warn("No parents found for "+abstractName);
-            return null;
-        }
-        for (Iterator it = parents.iterator(); it.hasNext();) {
-            AbstractName name = (AbstractName) it.next();
-            try {
-                GBeanInfo info = kernel.getGBeanInfo(name);
-                if(info.getClassName().equals(Configuration.class.getName())) {
-                    return name;
-                }
-            } catch (GBeanNotFoundException e) {
-                // should never happen
-            }
-        }
-        log.warn("No Configuration parent found");
-        return null;
-    }
 }

Modified: geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyPOJOWebServiceHolder.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyPOJOWebServiceHolder.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyPOJOWebServiceHolder.java (original)
+++ geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyPOJOWebServiceHolder.java Tue Mar 14 12:58:25 2006
@@ -129,7 +129,8 @@
             servletContext.setAttribute(pojoClassID, pojoClass);
 
             //this now starts the servlet in the appropriate context
-            context.registerServletHolder(this, getServletName(), this.servletMappings, this.webRoleRefPermissions);
+            //TODO check that we should not call this a servlet for jsr-77 benefit.
+            context.registerServletHolder(this, getServletName(), this.servletMappings, null);
 //            start();
         }
     }

Modified: geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java (original)
+++ geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletHolder.java Tue Mar 14 12:58:25 2006
@@ -19,8 +19,6 @@
 import java.io.IOException;
 import java.util.Map;
 import java.util.Set;
-import java.util.Collections;
-import javax.security.jacc.PolicyContext;
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
@@ -74,7 +72,7 @@
                 setInitOrder(loadOnStartup.intValue());
             }
             //this now starts the servlet in the appropriate context
-            context.registerServletHolder(this, servletName, servletMappings, webRoleRefPermissions == null? Collections.EMPTY_MAP: webRoleRefPermissions);
+            context.registerServletHolder(this, servletName, servletMappings, objectName);
         }
         setRunAs(runAsRole);
         this.objectName = objectName;

Modified: geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletRegistration.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletRegistration.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletRegistration.java (original)
+++ geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyServletRegistration.java Tue Mar 14 12:58:25 2006
@@ -28,7 +28,7 @@
  */
 public interface JettyServletRegistration {
 
-    void registerServletHolder(ServletHolder servletHolder, String servletName, Set servletMappings, Map webRoleRefPermissions) throws Exception;
+    void registerServletHolder(ServletHolder servletHolder, String servletName, Set servletMappings, String objectName) throws Exception;
 
     ServletHandler getServletHandler();
 

Modified: geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java?rev=385886&r1=385885&r2=385886&view=diff
==============================================================================
--- geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java (original)
+++ geronimo/branches/1.1/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebAppContext.java Tue Mar 14 12:58:25 2006
@@ -22,11 +22,8 @@
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.GBeanLifecycle;
-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.j2ee.management.impl.InvalidObjectNameException;
-import org.apache.geronimo.j2ee.management.impl.Util;
 import org.apache.geronimo.jetty.interceptor.BeforeAfter;
 import org.apache.geronimo.jetty.interceptor.ComponentContextBeforeAfter;
 import org.apache.geronimo.jetty.interceptor.InstanceContextBeforeAfter;
@@ -61,7 +58,6 @@
 import org.mortbay.jetty.servlet.WebApplicationContext;
 import org.mortbay.jetty.servlet.WebApplicationHandler;
 
-import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 import javax.naming.Context;
 import java.io.IOException;
@@ -70,6 +66,7 @@
 import java.security.PermissionCollection;
 import java.util.Collection;
 import java.util.EventListener;
+import java.util.HashSet;
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.Map;
@@ -83,9 +80,6 @@
 public class JettyWebAppContext extends WebApplicationContext implements GBeanLifecycle, JettyServletRegistration, WebModule {
     private static Log log = LogFactory.getLog(JettyWebAppContext.class);
 
-    private final Kernel kernel;
-    //jsr-77 stuff
-    private final J2eeContext moduleContext;
     private final String originalSpecDD;
     private final J2EEServer server;
     private final J2EEApplication application;
@@ -101,10 +95,11 @@
     private final BeforeAfter chain;
     private final int contextLength;
     private final SecurityContextBeforeAfter securityInterceptor;
-    private static final String[] J2EE_TYPES = {NameFactory.SERVLET};
 
     private final String objectName;
 
+    private final Set servletNames = new HashSet();
+
     private String sessionManager;
 
 
@@ -143,10 +138,8 @@
      * @deprecated never use this... this is only here because Jetty WebApplicationContext is externalizable
      */
     public JettyWebAppContext() {
-        kernel = null;
         server = null;
         application = null;
-        moduleContext = null;
         originalSpecDD = null;
         webClassLoader = null;
         jettyContainer = null;
@@ -208,13 +201,11 @@
         assert trackedConnectionAssociator != null;
         assert jettyContainer != null;
 
-        this.kernel = kernel;
         this.server = server;
         this.application = application;
         this.objectName = objectName;
         ObjectName myObjectName = JMXUtil.getObjectName(objectName);
         verifyObjectName(myObjectName);
-        moduleContext = J2eeContextImpl.newContext(myObjectName, NameFactory.WEB_MODULE);
 
         this.jettyContainer = jettyContainer;
 
@@ -479,15 +470,11 @@
     }
 
     public String[] getServlets() {
-        try {
-            return Util.getObjectNames(kernel, moduleContext, J2EE_TYPES);
-        } catch (MalformedObjectNameException e) {
-            log.error(e);
-            return new String[0];
+        synchronized(servletNames) {
+            return (String[]) servletNames.toArray(new String[servletNames.size()]);
         }
     }
 
-
     public String getSessionManager() {
         return this.sessionManager;
     }
@@ -535,7 +522,7 @@
         }
     }
 
-    public void registerServletHolder(ServletHolder servletHolder, String servletName, Set servletMappings, Map webRoleRefPermissions) throws Exception {
+    public void registerServletHolder(ServletHolder servletHolder, String servletName, Set servletMappings, String objectName) throws Exception {
         //TODO filters
         handler.addServletHolder(servletHolder);
         if (servletMappings != null) {
@@ -544,14 +531,16 @@
                 handler.mapPathToServlet(urlPattern, servletName);
             }
         }
-//        if (securityInterceptor != null) {
-//            securityInterceptor.registerServletHolder(webRoleRefPermissions);
-//        }
         Object context = enterContextScope(null, null);
         try {
             servletHolder.start();
         } finally {
             leaveContextScope(null, null, context);
+        }
+        if (objectName != null) {
+            synchronized(servletNames) {
+                servletNames.add(objectName);
+            }
         }
     }
 

Added: geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/JCAResourceAdapter.java
URL: http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/JCAResourceAdapter.java?rev=385886&view=auto
==============================================================================
--- geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/JCAResourceAdapter.java (added)
+++ geronimo/branches/1.1/modules/management/src/java/org/apache/geronimo/management/geronimo/JCAResourceAdapter.java Tue Mar 14 12:58:25 2006
@@ -0,0 +1,29 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed 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.management.geronimo;
+
+import org.apache.geronimo.management.J2EEManagedObject;
+
+/**
+ * Represents the JSR-77 type with the same name
+ *
+ * @version $Rev: 355877 $ $Date: 2005-12-10 18:48:27 -0800 (Sat, 10 Dec 2005) $
+ */
+public interface JCAResourceAdapter extends J2EEManagedObject {
+    //TODO consider adding references to ManagedConnectionFactory and ActivationSpec/MessageEndpointFactory.
+}