You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/01/16 11:35:16 UTC

svn commit: r496654 - in /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb: alt/config/ assembler/classic/

Author: dblevins
Date: Tue Jan 16 02:35:13 2007
New Revision: 496654

URL: http://svn.apache.org/viewvc?view=rev&rev=496654
Log:
Removed references to the *.sys.Openejb class in AutoDeployer and AutoConfigAndDeploy

Modified:
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbJarUtils.java
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ConnectorInfo.java

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java?view=diff&rev=496654&r1=496653&r2=496654
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoConfigAndDeploy.java Tue Jan 16 02:35:13 2007
@@ -17,35 +17,32 @@
  */
 package org.apache.openejb.alt.config;
 
-import org.apache.openejb.alt.config.sys.Openejb;
-import org.apache.openejb.alt.config.sys.Container;
-import org.apache.openejb.alt.config.sys.Connector;
-import org.apache.openejb.alt.config.ejb.OpenejbJar;
+import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.alt.config.ejb.EjbDeployment;
-import org.apache.openejb.alt.config.ejb.ResourceLink;
+import org.apache.openejb.alt.config.ejb.MethodParams;
+import org.apache.openejb.alt.config.ejb.OpenejbJar;
 import org.apache.openejb.alt.config.ejb.Query;
 import org.apache.openejb.alt.config.ejb.QueryMethod;
-import org.apache.openejb.alt.config.ejb.MethodParams;
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.util.SafeToolkit;
-import org.apache.openejb.util.Messages;
-import org.apache.openejb.util.Logger;
+import org.apache.openejb.alt.config.ejb.ResourceLink;
+import org.apache.openejb.assembler.classic.ConnectorInfo;
+import org.apache.openejb.assembler.classic.ContainerInfo;
 import org.apache.openejb.jee.ResourceRef;
+import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.Messages;
+import org.apache.openejb.util.SafeToolkit;
 
 import java.lang.reflect.Method;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.List;
 import java.util.ArrayList;
+import java.util.List;
 
 public class AutoConfigAndDeploy implements DynamicDeployer {
     public static Messages messages = new Messages("org.apache.openejb.util.resources");
     public static Logger logger = Logger.getInstance("OpenEJB", "org.apache.openejb.util.resources");
 
-    private final Openejb config;
+    private final ConfigurationFactory configFactory;
 
-    public AutoConfigAndDeploy(Openejb config) {
-        this.config = config;
+    public AutoConfigAndDeploy(ConfigurationFactory configFactory) {
+        this.configFactory = configFactory;
     }
 
     public void init() throws OpenEJBException {
@@ -83,26 +80,37 @@
             final Bean bean = beans[i];
 
             EjbDeployment ejbDeployment = openejbJar.getDeploymentsByEjbName().get(bean.getEjbName());
-            if (ejbDeployment == null){
+            if (ejbDeployment == null) {
 
                 ejbDeployment = new EjbDeployment();
 
                 ejbDeployment.setEjbName(bean.getEjbName());
                 ejbDeployment.setDeploymentId(autoAssignDeploymentId(bean));
-                ejbDeployment.setContainerId(autoAssignContainerId(bean));
 
-                logger.warning("Auto-deploying ejb "+bean.getEjbName()+": EjbDeployment(deployment-id="+ejbDeployment.getDeploymentId()+", container-id="+ejbDeployment.getContainerId()+")");
+                Class<? extends ContainerInfo> containerInfoType = ConfigurationFactory.getContainerInfoType(bean.getType());
+
+                String containerId = getUsableContainer(containerInfoType);
+
+                if (containerId == null){
+                    ContainerInfo containerInfo = configFactory.configureDefault(containerInfoType);
+                    logger.warning("Auto-creating a container for bean " + ejbDeployment.getDeploymentId() + ": Container(type=" + bean.getType() + ", id=" + containerInfo.id + ")");
+                    configFactory.install(containerInfo);
+                    containerId = containerInfo.id;
+                }
+
+                ejbDeployment.setContainerId(containerId);
+
+                logger.warning("Auto-deploying ejb " + bean.getEjbName() + ": EjbDeployment(deployment-id=" + ejbDeployment.getDeploymentId() + ", container-id=" + ejbDeployment.getContainerId() + ")");
                 openejbJar.getEjbDeployment().add(ejbDeployment);
             }
 
             // create the container if it doesn't exist
-            Map<String, Container> containerMap = getContainersById();
-            if (!containerMap.containsKey(ejbDeployment.getContainerId())){
-                Container container = new Container();
-                container.setId(ejbDeployment.getContainerId());
-                container.setCtype(bean.getType());
-                logger.warning("Auto-creating a container for bean "+ejbDeployment.getDeploymentId()+": Container(type="+container.getCtype()+", id="+container.getId()+")");
-                config.addContainer(container);
+            if (!configFactory.getContainerIds().contains(ejbDeployment.getContainerId())) {
+
+                ContainerInfo containerInfo = configFactory.configureDefault(ConfigurationFactory.getContainerInfoType(bean.getType()));
+                logger.warning("Auto-creating a container for bean " + ejbDeployment.getDeploymentId() + ": Container(type=" + bean.getType() + ", id=" + containerInfo.id + ")");
+                configFactory.install(containerInfo);
+
             }
 
             // check the resource refs
@@ -110,39 +118,45 @@
             for (int j = 0; j < refs.length; j++) {
                 ResourceRef ref = refs[j];
                 ResourceLink link = ejbDeployment.getResourceLink(ref.getResRefName());
-                if (link == null){
+                if (link == null) {
                     link = new ResourceLink();
-                    Map<String, Connector> connectorMap = getConnectorsById();
+                    List<String> connectorMap = configFactory.getConnectorIds();
                     String resRefName = ref.getResRefName();
-                    Connector connector = connectorMap.get(resRefName);
-                    if (connector == null){
-                        String name = resRefName.replaceFirst(".*/","");
-                        connector = connectorMap.get(name);
-                        if (connector == null){
-                            connector = new Connector();
-                            connector.setId(name);
-                            logger.warning("Auto-creating a connector for res-ref-name '"+resRefName+"' in bean "+ejbDeployment.getDeploymentId()+": Connector(id="+connector.getId()+").  THERE IS LITTLE CHANCE THIS WILL WORK!");
-                            config.addConnector(connector);
+
+                    String id = null;
+                    if (!connectorMap.contains(resRefName)) {
+                        String name = resRefName.replaceFirst(".*/", "");
+                        if (!connectorMap.contains(name)) {
+                            ConnectorInfo connectorInfo = configFactory.configureDefault(ConnectorInfo.class);
+                            id = connectorInfo.id = name;
+                            logger.warning("Auto-creating a connector for res-ref-name '" + resRefName + "' in bean '" + ejbDeployment.getDeploymentId() + "': Connector(id=" + id + ").  THERE IS LITTLE CHANCE THIS WILL WORK!");
+                            configFactory.install(connectorInfo);
                         }
                     }
-                    logger.warning("Auto-linking res-ref-name '"+resRefName+"' in bean "+ejbDeployment.getDeploymentId()+" to Connector(id="+connector.getId()+")");
-                    link.setResId(connector.getId());
+                    logger.warning("Auto-linking res-ref-name '" + resRefName + "' in bean " + ejbDeployment.getDeploymentId() + " to Connector(id=" + id + ")");
+                    link.setResId(id);
                     link.setResRefName(resRefName);
                     ejbDeployment.addResourceLink(link);
                 } else {
-                    Map<String, Connector> connectorMap = getConnectorsById();
-                    Connector connector = connectorMap.get(link.getResId());
-                    if (connector == null) {
-                        logger.error("Bad resource-link: No such connector with specified res-id: ResourceLink(res-ref-name="+link.getResRefName()+", res-id"+link.getResId()+")");
-                        connector = new Connector();
-                        connector.setId(link.getResId());
-                        logger.warning("Auto-creating a connector with res-id "+link.getResId()+".  THERE IS LITTLE CHANCE THIS WILL WORK!");
-                        config.addConnector(connector);
+
+                    List<String> connectorMap = configFactory.getConnectorIds();
+                    if (!connectorMap.contains(link.getResId())) {
+                        logger.error("Bad resource-link in bean '" + ejbDeployment.getDeploymentId() + "': No such connector with specified res-id: ResourceLink(res-ref-name=" + link.getResRefName() + ", res-id" + link.getResId() + ")");
+
+                        String id = null;
+                        if (connectorMap.size() > 0) {
+                            id = connectorMap.get(0);
+                        } else {
+                            ConnectorInfo connectorInfo = configFactory.configureDefault(ConnectorInfo.class);
+                            id = connectorInfo.id;
+                            logger.warning("Auto-creating a connector with res-id " + link.getResId() + " for bean '"+ejbDeployment.getDeploymentId()+"'.  THERE IS LITTLE CHANCE THIS WILL WORK!");
+                            configFactory.install(connectorInfo);
+                        }
                     }
                 }
             }
 
-            if (bean.getType().equals("CMP_ENTITY") && ((EntityBean)bean).getCmpVersion() == 1 ) {
+            if (bean.getType().equals("CMP_ENTITY") && ((EntityBean) bean).getCmpVersion() == 1) {
                 List<Query> queries = ejbDeployment.getQuery();
                 if (bean.getHome() != null) {
                     Class interfce = loadClass(bean.getHome(), classLoader, jarLocation);
@@ -150,7 +164,7 @@
                     for (Query query : queries) {
                         finderMethods.remove(new Key(query));
                     }
-                    if (finderMethods.size() != 0){
+                    if (finderMethods.size() != 0) {
                         throw new OpenEJBException("CMP 1.1 Beans with finder methods cannot be autodeployed; finder methods require OQL Select statements which cannot be generated accurately.");
                     }
                 }
@@ -160,7 +174,7 @@
                     for (Query query : queries) {
                         finderMethods.remove(new Key(query));
                     }
-                    if (finderMethods.size() != 0){
+                    if (finderMethods.size() != 0) {
                         throw new OpenEJBException("CMP 1.1 Beans with finder methods cannot be autodeployed; finder methods require OQL Select statements which cannot be generated accurately.");
                     }
                 }
@@ -188,38 +202,20 @@
             }
             MethodParams mp = qmethod.getMethodParams();
             int length = method.getParameterTypes().length;
-            if ( (mp == null && length != 0) || mp == null || mp.getMethodParam().size() != length) {
+            if ((mp == null && length != 0) || mp == null || mp.getMethodParam().size() != length) {
                 return false;
             }
             List<String> params = mp.getMethodParam();
             for (int i = 0; i < method.getParameterTypes().length; i++) {
                 Class<?> type = method.getParameterTypes()[i];
-                if (!type.getName().equals(params.get(i))){
+                if (!type.getName().equals(params.get(i))) {
                     return false;
                 }
             }
             return true;
         }
     }
-    private Map<String, Connector> getConnectorsById() {
-        Connector[] connectorList = config.getConnector();
-        Map<String,Connector> connectorMap = new HashMap();
-        for (int k = 0; k < connectorList.length; k++) {
-            Connector connector = connectorList[k];
-            connectorMap.put(connector.getId(), connector);
-        }
-        return connectorMap;
-    }
-
-    private Map<String, Container> getContainersById() {
-        Container[] containerList = config.getContainer();
-        Map<String,Container> containerMap = new HashMap();
-        for (int j = 0; j < containerList.length; j++) {
-            Container container = containerList[j];
-            containerMap.put(container.getId(), container);
-        }
-        return containerMap;
-    }
+
 
     private Class loadClass(String className, ClassLoader classLoader, String jarLocation) throws OpenEJBException {
         try {
@@ -241,30 +237,17 @@
         return finderMethods;
     }
 
-    private String autoAssignDeploymentId(Bean bean){
+    private String autoAssignDeploymentId(Bean bean) {
         return bean.getEjbName();
     }
 
-    private String autoAssignContainerId(Bean bean) {
-        Container[] usableContainers = EjbJarUtils.getUsableContainers(config.getContainer(), bean);
-
-        if (usableContainers != null && usableContainers.length > 0){
-            return usableContainers[0].getId();
-        } else {
-            String type = bean.getType();
-            if (type.equals(Bean.BMP_ENTITY)){
-                return ProviderDefaults.DEFAULT_BMP_CONTAINER;
-            } else if (type.equals(Bean.CMP_ENTITY)){
-                return ProviderDefaults.DEFAULT_CMP_CONTAINER;
-            } else if (type.equals(Bean.STATEFUL)){
-                return ProviderDefaults.DEFAULT_STATEFUL_CONTAINER;
-            } else if (type.equals(Bean.STATELESS)){
-                return ProviderDefaults.DEFAULT_STATELESS_CONTAINER;
-            } else if (type.equals(Bean.MESSAGE)){
-                return ProviderDefaults.DEFAULT_MDB_CONTAINER;
+    private String getUsableContainer(Class<? extends ContainerInfo> containerInfoType) {
+        for (ContainerInfo containerInfo : configFactory.getContainerInfos()) {
+            if (containerInfo.getClass().equals(containerInfoType)){
+                return containerInfo.id;
             }
-
-            throw new IllegalStateException("Unknown bean type "+type);
         }
+
+        return null;
     }
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java?view=diff&rev=496654&r1=496653&r2=496654
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/AutoDeployer.java Tue Jan 16 02:35:13 2007
@@ -22,28 +22,23 @@
 import org.apache.openejb.jee.ResourceRef;
 import org.apache.openejb.jee.ApplicationClient;
 import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.assembler.classic.ContainerInfo;
 import org.apache.openejb.alt.config.ejb.EjbDeployment;
 import org.apache.openejb.alt.config.ejb.OpenejbJar;
 import org.apache.openejb.alt.config.ejb.ResourceLink;
-import org.apache.openejb.alt.config.sys.Connector;
-import org.apache.openejb.alt.config.sys.Container;
-import org.apache.openejb.alt.config.sys.Openejb;
 import org.apache.openejb.util.SafeToolkit;
 
 public class AutoDeployer implements DynamicDeployer {
 
-    private Container[] containers;
-    private Connector[] resources;
-//    private ClassLoader classLoader;
-//    private String jarLocation;
-//    private String moduleId;
+    private List<ContainerInfo> containers;
+    private List<String> resources;
 
-    public AutoDeployer(Openejb config) {
+    public AutoDeployer(ConfigurationFactory config) {
         /* Load container list */
-        this.containers = config.getContainer();
+        this.containers = config.getContainerInfos();
 
         /* Load resource list */
-        this.resources = config.getConnector();
+        this.resources = config.getConnectorIds();
     }
 
     public void init() throws OpenEJBException {
@@ -147,20 +142,31 @@
     }
 
     private String autoAssignContainerId(Bean bean) throws OpenEJBException {
-        Container[] cs = getUsableContainers(bean);
+        Class<? extends ContainerInfo> containerInfoType = ConfigurationFactory.getContainerInfoType(bean.getType());
 
-        if (cs.length == 0) {
+        String containerId = getUsableContainer(containerInfoType);
+
+        if (containerId == null) {
             throw new OpenEJBException("A container of type " + bean.getType() + " must be declared in the configuration file.");
         }
-        return cs[0].getId();
+        return containerId;
     }
 
+    private String getUsableContainer(Class<? extends ContainerInfo> containerInfoType) {
+        for (ContainerInfo containerInfo : containers) {
+            if (containerInfo.getClass().equals(containerInfoType)){
+                return containerInfo.id;
+            }
+        }
+
+        return null;
+    }
     private ResourceLink autoAssingResourceRef(ResourceRef ref) throws OpenEJBException {
-        if (resources.length == 0) {
+        if (resources.size() == 0) {
             throw new OpenEJBException("A Connector must be declared in the configuration file to satisfy the resource-ref " + ref.getResRefName());
         }
 
-        String id = resources[0].getId();
+        String id = resources.get(0);
         ref.setResLink(id);
         ResourceLink link = new ResourceLink();
         link.setResRefName(ref.getResRefName());
@@ -168,7 +174,4 @@
         return link;
     }
 
-    private Container[] getUsableContainers(Bean bean) {
-        return EjbJarUtils.getUsableContainers(containers, bean);
-    }
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java?view=diff&rev=496654&r1=496653&r2=496654
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/ConfigurationFactory.java Tue Jan 16 02:35:13 2007
@@ -39,7 +39,6 @@
 import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
 import org.apache.openejb.assembler.classic.FacilitiesInfo;
 import org.apache.openejb.assembler.classic.JndiContextInfo;
-import org.apache.openejb.assembler.classic.ManagedConnectionFactoryInfo;
 import org.apache.openejb.assembler.classic.MdbContainerInfo;
 import org.apache.openejb.assembler.classic.OpenEjbConfiguration;
 import org.apache.openejb.assembler.classic.OpenEjbConfigurationFactory;
@@ -49,6 +48,7 @@
 import org.apache.openejb.assembler.classic.StatefulSessionContainerInfo;
 import org.apache.openejb.assembler.classic.StatelessSessionContainerInfo;
 import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+import org.apache.openejb.assembler.classic.Assembler;
 import org.apache.openejb.jee.ApplicationClient;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.util.Logger;
@@ -108,6 +108,24 @@
         }
     }
 
+    public void install(ContainerInfo serviceInfo) throws OpenEJBException {
+        if (sys != null){
+            sys.containerSystem.containers.add(serviceInfo);
+        } else {
+            Assembler assembler = SystemInstance.get().getComponent(Assembler.class);
+            assembler.createContainer(serviceInfo);
+        }
+    }
+
+    public void install(ConnectorInfo serviceInfo) throws OpenEJBException {
+        if (sys != null){
+            sys.facilities.connectors.add(serviceInfo);
+        } else {
+            Assembler assembler = SystemInstance.get().getComponent(Assembler.class);
+            assembler.createConnector(serviceInfo);
+        }
+    }
+
     public OpenEjbConfiguration getOpenEjbConfiguration() throws OpenEJBException {
 
         if (configLocation != null) {
@@ -116,7 +134,20 @@
             openejb = new Openejb();
         }
 
-        deployer = getDeployer(openejb);
+        sys = new OpenEjbConfiguration();
+        sys.containerSystem = new ContainerSystemInfo();
+        sys.facilities = new FacilitiesInfo();
+
+
+        initJndiProviders(openejb, sys.facilities);
+        initSecutityService(openejb, sys.facilities);
+        initTransactionService(openejb, sys.facilities);
+        initConnectors(openejb, sys.facilities);
+        initConnectionManagers(openejb, sys.facilities);
+        initProxyFactory(openejb, sys.facilities);
+        initContainerInfos(openejb);
+
+        deployer = getDeployer();
 
         List<String> jarList = DeploymentsResolver.resolveAppLocations(openejb.getDeployments());
 
@@ -130,42 +161,24 @@
             appInfos.add(appInfo);
         }
 
-        sys = new OpenEjbConfiguration();
-        sys.containerSystem = new ContainerSystemInfo();
-        sys.facilities = new FacilitiesInfo();
-
-        initJndiProviders(openejb, sys.facilities);
-        initTransactionService(openejb, sys.facilities);
-        initConnectors(openejb, sys.facilities);
-        initConnectionManagers(openejb, sys.facilities);
-        initProxyFactory(openejb, sys.facilities);
-
-        initContainerInfos(openejb);
 
         sys.containerSystem.containers.addAll(containers);
 
 
         sys.containerSystem.applications.addAll(appInfos);
 
-//        SecurityRoleInfo defaultRole = new SecurityRoleInfo();
-//        defaultRole.description = "The role applied to recurity references that are not linked.";
-//        defaultRole.roleName = EjbJarInfoBuilder.DEFAULT_SECURITY_ROLE;
-//        ejbJarInfoBuilder.getSecurityRoleInfos().add(defaultRole);
-
-        initSecutityService(openejb, sys.facilities);
-
         return sys;
     }
 
 
-    private DynamicDeployer getDeployer(Openejb openejb) {
+    private DynamicDeployer getDeployer() {
         DynamicDeployer deployer;
         // TODO: Create some way to enable one versus the other
         if (false) {
-            deployer = new AutoDeployer(openejb);
+            deployer = new AutoDeployer(this);
 
         } else {
-            deployer = new AutoConfigAndDeploy(openejb);
+            deployer = new AutoConfigAndDeploy(this);
         }
 
         deployer = new AnnotationDeployer(deployer);
@@ -258,7 +271,7 @@
         if (provider == null || provider.length < 1) return;
 
         for (int i = 0; i < provider.length; i++) {
-            JndiContextInfo info = configureService(provider[i], JndiContextInfo.class, "Default Jndi Provider", JndiProvider.class);
+            JndiContextInfo info = configureService(provider[i], JndiContextInfo.class);
 
             facilities.remoteJndiContexts.add(info);
         }
@@ -266,12 +279,12 @@
 
     private void initSecutityService(Openejb openejb, FacilitiesInfo facilities) throws OpenEJBException {
 
-        facilities.securityService = configureService(openejb.getSecurityService(), SecurityServiceInfo.class, DEFAULT_SECURITY_SERVICE, SecurityService.class);
+        facilities.securityService = configureService(openejb.getSecurityService(), SecurityServiceInfo.class);
     }
 
     private void initTransactionService(Openejb openejb, FacilitiesInfo facilities) throws OpenEJBException {
 
-        facilities.transactionService = configureService(openejb.getTransactionService(), TransactionServiceInfo.class, DEFAULT_TRANSACTION_MANAGER, TransactionManager.class);
+        facilities.transactionService = configureService(openejb.getTransactionService(), TransactionServiceInfo.class);
 
     }
 
@@ -284,13 +297,7 @@
 
         for (int i = 0; i < conn.length; i++) {
 
-            ManagedConnectionFactoryInfo info = configureService(conn[i], ManagedConnectionFactoryInfo.class, DEFAULT_JDBC_DATABASE, Connector.class);
-
-            ConnectorInfo connectorInfo = new ConnectorInfo();
-            connectorInfo.connectorId = info.id;
-            // TODO: This should not be hardcoded
-            connectorInfo.connectionManagerId = DEFAULT_LOCAL_TX_CON_MANAGER;
-            connectorInfo.managedConnectionFactory = (ManagedConnectionFactoryInfo) info;
+            ConnectorInfo connectorInfo = configureService(conn[i], ConnectorInfo.class);
 
             facilities.connectors.add(connectorInfo);
         }
@@ -299,7 +306,7 @@
     private void initConnectionManagers(Openejb openejb, FacilitiesInfo facilities)
             throws OpenEJBException {
 
-        ConnectionManagerInfo service = configureService(openejb.getConnectionManager(), ConnectionManagerInfo.class, DEFAULT_LOCAL_TX_CON_MANAGER, ConnectionManager.class);
+        ConnectionManagerInfo service = configureService(openejb.getConnectionManager(), ConnectionManagerInfo.class);
 
         facilities.connectionManagers.add(service);
     }
@@ -318,7 +325,7 @@
             throw new RuntimeException("Unable to determine the version of your VM.  No ProxyFactory Can be installed");
         }
 
-        facilities.intraVmServer = configureService(openejb.getProxyFactory(), ProxyFactoryInfo.class, defaultId, ProxyFactory.class);
+        facilities.intraVmServer = configureService(openejb.getProxyFactory(), ProxyFactoryInfo.class);
 
     }
 
@@ -344,12 +351,10 @@
         defaultProviders.put(TransactionServiceInfo.class, new DefaultService(DEFAULT_TRANSACTION_MANAGER, TransactionManager.class));
         defaultProviders.put(ConnectionManagerInfo.class, new DefaultService(DEFAULT_LOCAL_TX_CON_MANAGER, ConnectionManager.class));
         defaultProviders.put(ProxyFactoryInfo.class, new DefaultService(DEFAULT_JDK_13_PROXYFACTORY, ProxyFactory.class));
-
-        // Should be connector info
-        defaultProviders.put(ManagedConnectionFactoryInfo.class, new DefaultService(DEFAULT_JDBC_DATABASE, Connector.class));
+        defaultProviders.put(ConnectorInfo.class, new DefaultService(DEFAULT_JDBC_DATABASE, Connector.class));
     }
 
-    public <T extends ServiceInfo> T configureDefault(Class<? extends T> type) throws OpenEJBException {
+    protected <T extends ServiceInfo> T configureDefault(Class<? extends T> type) throws OpenEJBException {
         DefaultService defaultService = defaultProviders.get(type);
 
         Service service = null;
@@ -368,32 +373,26 @@
             throw new OpenEJBException("Cannot instantiate class " + type.getName(), e);
         }
 
-        return configureService(service, info, defaultService.type.getSimpleName());
+        return configureService(service, info);
     }
 
-    public <T extends ServiceInfo> T configureService(Service service, Class<? extends T> info, String defaultId, Class type) throws OpenEJBException {
+    private <T extends ServiceInfo> T configureService(Service service, Class<? extends T> info) throws OpenEJBException {
+
         if (service == null) {
             return configureDefault(info);
-        } else if (service.getProvider() == null) {
-
-            try {
-                ServiceUtils.getServiceProvider(service.getId());
-                service.setProvider(service.getId());
-            } catch (Exception e) {
-
-                service.setProvider(defaultId);
-            }
         }
 
         try {
-            return configureService(service, info.newInstance(), type.getSimpleName());
+            return configureService(service, info.newInstance());
         } catch (Exception e) {
             throw new OpenEJBException("Cannot instantiate class " + e);
         }
     }
 
-    private <T extends ServiceInfo>T configureService(Service service, T info, String serviceType) throws OpenEJBException {
-        ServiceProvider provider = ServiceUtils.getServiceProvider(service.getProvider());
+    private <T extends ServiceInfo>T configureService(Service service, T info) throws OpenEJBException {
+        String serviceType = service.getClass().getSimpleName();
+        String providerId = (service.getProvider() != null) ? service.getProvider() : service.getId();
+        ServiceProvider provider = ServiceUtils.getServiceProvider(providerId);
         Properties properties = ServiceUtils.assemblePropertiesFor(serviceType, service.getId(), service.getContent(), configLocation, provider);
 
         if (!provider.getProviderType().equals(serviceType)) {
@@ -409,51 +408,50 @@
         info.properties = properties;
         info.constructorArgs.addAll(parseConstructorArgs(provider));
 
-        String serviceId = serviceType + ":" + info.id;
-        if (serviceIds.contains(serviceId)) {
-            handleException("conf.0105", configLocation, info.id, serviceType);
-        }
+//        String serviceId = serviceType + ":" + info.id;
+//        if (serviceIds.contains(serviceId)) {
+//            handleException("conf.0105", configLocation, info.id, serviceType);
+//        }
 
-        serviceIds.add(serviceId);
+//        serviceIds.add(serviceId);
 
         return info;
     }
 
+    static Map<String, Class<? extends ContainerInfo>> containerTypes = new HashMap();
+
+    static {
+        containerTypes.put(Bean.STATELESS, StatelessSessionContainerInfo.class);
+        containerTypes.put(Bean.STATEFUL, StatefulSessionContainerInfo.class);
+        containerTypes.put(Bean.BMP_ENTITY, BmpEntityContainerInfo.class);
+        containerTypes.put(Bean.CMP_ENTITY, CmpEntityContainerInfo.class);
+        containerTypes.put(Bean.CMP2_ENTITY, CmpEntityContainerInfo.class);
+        containerTypes.put(Bean.MESSAGE, MdbContainerInfo.class);
+    }
+
     private void initContainerInfos(Openejb conf) throws OpenEJBException {
 
         Container[] containers = conf.getContainer();
 
         for (Container declaration : containers) {
-            ContainerInfo info;
-            String defaultId;
-            if (declaration.getCtype().equals("STATELESS")) {
-                defaultId = DEFAULT_STATELESS_CONTAINER;
-                info = configureService(declaration, StatelessSessionContainerInfo.class, defaultId, Container.class);
-            } else if (declaration.getCtype().equals("STATEFUL")) {
-                defaultId = DEFAULT_STATEFUL_CONTAINER;
-                info = configureService(declaration, StatefulSessionContainerInfo.class, defaultId, Container.class);
-            } else if (declaration.getCtype().equals("BMP_ENTITY")) {
-                defaultId = DEFAULT_BMP_CONTAINER;
-                info = configureService(declaration, BmpEntityContainerInfo.class, defaultId, Container.class);
-            } else if (declaration.getCtype().equals("CMP_ENTITY")) {
-                defaultId = DEFAULT_CMP_CONTAINER;
-                info = configureService(declaration, CmpEntityContainerInfo.class, defaultId, Container.class);
-            } else if (declaration.getCtype().equals("CMP2_ENTITY")) {
-                defaultId = DEFAULT_CMP2_CONTAINER;
-                info = configureService(declaration, CmpEntityContainerInfo.class, defaultId, Container.class);
-            } else if (declaration.getCtype().equals("MESSAGE")) {
-                defaultId = DEFAULT_MDB_CONTAINER;
-                info = configureService(declaration, MdbContainerInfo.class, defaultId, Container.class);
-            } else {
+
+            Class<? extends ContainerInfo> infoClass = getContainerInfoType(declaration.getCtype());
+
+            if (infoClass == null) {
                 throw new OpenEJBException("Unrecognized contianer type " + declaration.getCtype());
             }
 
+            ContainerInfo info = configureService(declaration, infoClass);
 
             this.containers.add(info);
             containerTable.put(info.id, info);
         }
     }
 
+    public static Class<? extends ContainerInfo> getContainerInfoType(String ctype) {
+        return containerTypes.get(ctype);
+    }
+
     private List<String> parseConstructorArgs(ServiceProvider service) {
         String constructor = service.getConstructor();
         if (constructor == null) {
@@ -473,7 +471,7 @@
         for (EnterpriseBeanInfo bean : beans) {
             EjbDeployment d = (EjbDeployment) ejbds.get(bean.ejbName);
 
-            if (!containerIds.contains(d.getContainerId())) {
+            if (!getContainerIds().contains(d.getContainerId())) {
 
                 String msg = messages.format("config.noContainerFound", d.getContainerId(), d.getEjbName());
 
@@ -482,6 +480,78 @@
             }
             bean.containerId = d.getContainerId();
         }
+    }
+
+
+    protected List<String> getConnectorIds() {
+        List<String> connectorIds = new ArrayList();
+
+        OpenEjbConfiguration runningConfig = getRunningConfig();
+        for (ConnectorInfo connectorInfo : runningConfig.facilities.connectors) {
+            connectorIds.add(connectorInfo.id);
+        }
+
+        if (sys != null) {
+            for (ConnectorInfo connectorInfo : sys.facilities.connectors) {
+                connectorIds.add(connectorInfo.id);
+            }
+            
+            // The only time we'd have one of these is if we were building
+            // the above sys instance
+            if (openejb != null){
+                for (Connector connector : openejb.getConnector()) {
+                    connectorIds.add(connector.getId());
+                }
+            }
+        }
+        return connectorIds;
+    }
+
+    protected List<String> getContainerIds() {
+        List<String> containerIds = new ArrayList();
+
+        OpenEjbConfiguration runningConfig = getRunningConfig();
+        for (ContainerInfo containerInfo : runningConfig.containerSystem.containers) {
+            containerIds.add(containerInfo.id);
+        }
+
+        if (sys != null) {
+            for (ContainerInfo containerInfo : sys.containerSystem.containers) {
+                containerIds.add(containerInfo.id);
+            }
+
+            // The only time we'd have one of these is if we were building
+            // the above sys instance
+            if (openejb != null){
+                for (Container container : openejb.getContainer()) {
+                    containerIds.add(container.getId());
+                }
+            }
+        }
+
+        return containerIds;
+    }
+
+    public List<ContainerInfo> getContainerInfos() {
+        List<ContainerInfo> containers = new ArrayList();
+
+        OpenEjbConfiguration runningConfig = getRunningConfig();
+        for (ContainerInfo containerInfo : runningConfig.containerSystem.containers) {
+            containers.add(containerInfo);
+        }
+
+        if (sys != null) {
+            for (ContainerInfo containerInfo : sys.containerSystem.containers) {
+                containers.add(containerInfo);
+            }
+        }
+        return containers;
+    }
+
+
+    private OpenEjbConfiguration getRunningConfig() {
+        OpenEjbConfiguration runningConfig = SystemInstance.get().getComponent(OpenEjbConfiguration.class);
+        return runningConfig;
     }
 
     public static void handleException(String errorCode, Object... args) throws OpenEJBException {

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbJarUtils.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbJarUtils.java?view=diff&rev=496654&r1=496653&r2=496654
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbJarUtils.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/alt/config/EjbJarUtils.java Tue Jan 16 02:35:13 2007
@@ -31,6 +31,7 @@
 import org.exolab.castor.util.Configuration;
 import org.exolab.castor.util.LocalConfiguration;
 import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.assembler.classic.ContainerInfo;
 import org.apache.openejb.jee.EjbJar;
 import org.apache.openejb.jee.JndiConsumer;
 import org.apache.openejb.alt.config.ejb.OpenejbJar;

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?view=diff&rev=496654&r1=496653&r2=496654
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Tue Jan 16 02:35:13 2007
@@ -16,27 +16,6 @@
  */
 package org.apache.openejb.assembler.classic;
 
-import java.io.File;
-import java.io.IOException;
-import java.lang.instrument.ClassFileTransformer;
-import java.lang.instrument.Instrumentation;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.persistence.EntityManagerFactory;
-import javax.resource.spi.ConnectionManager;
-import javax.resource.spi.ManagedConnectionFactory;
-import javax.transaction.TransactionManager;
-import javax.transaction.TransactionSynchronizationRegistry;
-
 import org.apache.openejb.Container;
 import org.apache.openejb.DeploymentInfo;
 import org.apache.openejb.EnvProps;
@@ -65,6 +44,27 @@
 import org.apache.xbean.recipe.ObjectRecipe;
 import org.apache.xbean.recipe.StaticRecipe;
 
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.persistence.EntityManagerFactory;
+import javax.resource.spi.ConnectionManager;
+import javax.resource.spi.ManagedConnectionFactory;
+import javax.transaction.TransactionManager;
+import javax.transaction.TransactionSynchronizationRegistry;
+import java.io.File;
+import java.io.IOException;
+import java.lang.instrument.ClassFileTransformer;
+import java.lang.instrument.Instrumentation;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
 public class Assembler extends AssemblerTool implements org.apache.openejb.spi.Assembler {
 
     public static final Logger logger = Logger.getInstance("OpenEJB.startup", Assembler.class.getPackage().getName());
@@ -102,6 +102,8 @@
         jndiBuilder = new JndiBuilder(containerSystem.getJNDIContext());
 
         setConfiguration(new OpenEjbConfiguration());
+
+        SystemInstance.get().setComponent(Assembler.class, this);
     }
 
     private void setConfiguration(OpenEjbConfiguration config) {
@@ -380,7 +382,7 @@
         return classLoader;
     }
 
-    public void createExternalContext(JndiContextInfo contextInfo) throws OpenEJBException, NamingException {
+    public void createExternalContext(JndiContextInfo contextInfo) throws OpenEJBException {
         InitialContext result;
         try {
             InitialContext ic = new InitialContext(contextInfo.properties);
@@ -390,13 +392,18 @@
             throw new OpenEJBException("The remote JNDI EJB references for remote-jndi-contexts = " + contextInfo.id + "+ could not be resolved.", ne);
         }
         InitialContext cntx = result;
-        containerSystem.getJNDIContext().bind("java:openejb/remote_jndi_contexts/" + contextInfo.id, cntx);
+
+        try {
+            containerSystem.getJNDIContext().bind("java:openejb/remote_jndi_contexts/" + contextInfo.id, cntx);
+        } catch (NamingException e) {
+            throw new OpenEJBException("Cannot bind " + contextInfo.serviceType + " with id " + contextInfo.id, e);
+        }
 
         // Update the config tree
         config.facilities.remoteJndiContexts.add(contextInfo);
     }
 
-    public void createContainer(ContainerInfo serviceInfo) throws OpenEJBException, NamingException {
+    public void createContainer(ContainerInfo serviceInfo) throws OpenEJBException {
 
         ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.factoryMethod, serviceInfo.constructorArgs.toArray(new String[0]), null);
         serviceRecipe.setAllProperties(serviceInfo.properties);
@@ -410,7 +417,11 @@
         Class interfce = serviceInterfaces.get(serviceInfo.serviceType);
         checkImplementation(interfce, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
 
-        this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType + "/" + serviceInfo.id, service);
+        try {
+            this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType + "/" + serviceInfo.id, service);
+        } catch (NamingException e) {
+            throw new OpenEJBException("Cannot bind " + serviceInfo.serviceType + " with id " + serviceInfo.id, e);
+        }
 
         SystemInstance.get().setComponent(interfce, service);
 
@@ -424,7 +435,7 @@
         config.containerSystem.containers.add(serviceInfo);
     }
 
-    public void createProxyFactory(ProxyFactoryInfo serviceInfo) throws OpenEJBException, NamingException {
+    public void createProxyFactory(ProxyFactoryInfo serviceInfo) throws OpenEJBException {
 
         ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.factoryMethod, serviceInfo.constructorArgs.toArray(new String[0]), null);
         serviceRecipe.setAllProperties(serviceInfo.properties);
@@ -437,7 +448,11 @@
         ProxyManager.registerFactory(serviceInfo.id, (ProxyFactory) service);
         ProxyManager.setDefaultFactory(serviceInfo.id);
 
-        this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType + "/" + serviceInfo.id, service);
+        try {
+            this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType + "/" + serviceInfo.id, service);
+        } catch (NamingException e) {
+            throw new OpenEJBException("Cannot bind " + serviceInfo.serviceType + " with id " + serviceInfo.id, e);
+        }
 
         SystemInstance.get().setComponent(interfce, service);
 
@@ -451,9 +466,8 @@
         config.facilities.intraVmServer = serviceInfo;
     }
 
-    public void createConnector(ConnectorInfo conInfo) throws OpenEJBException, NamingException {
+    public void createConnector(ConnectorInfo serviceInfo) throws OpenEJBException {
 
-        ManagedConnectionFactoryInfo serviceInfo = conInfo.managedConnectionFactory;
 
         ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.factoryMethod, serviceInfo.constructorArgs.toArray(new String[0]), null);
         serviceRecipe.setAllProperties(serviceInfo.properties);
@@ -463,22 +477,26 @@
         Class interfce = serviceInterfaces.get(serviceInfo.serviceType);
         checkImplementation(interfce, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
 
-        ConnectionManager connectionManager = (ConnectionManager) props.get(conInfo.connectionManagerId);
+        ConnectionManager connectionManager = SystemInstance.get().getComponent(ConnectionManager.class);
         if (connectionManager == null) {
-            throw new RuntimeException("Invalid connection manager specified for connector identity = " + conInfo.connectorId);
+            throw new RuntimeException("Invalid connection manager specified for connector identity = " + serviceInfo.id);
         }
 
         ManagedConnectionFactory managedConnectionFactory = (ManagedConnectionFactory) service;
 
         ConnectorReference reference = new ConnectorReference(connectionManager, managedConnectionFactory);
 
-        containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType + "/" + conInfo.connectorId, reference);
+        try {
+            containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType + "/" + serviceInfo.id, reference);
+        } catch (NamingException e) {
+            throw new OpenEJBException("Cannot bind " + serviceInfo.serviceType + " with id " + serviceInfo.id, e);
+        }
 
         // Update the config tree
-        config.facilities.connectors.add(conInfo);
+        config.facilities.connectors.add(serviceInfo);
     }
 
-    public void createConnectionManager(ConnectionManagerInfo serviceInfo) throws OpenEJBException, java.lang.reflect.InvocationTargetException, IllegalAccessException, NoSuchMethodException, NamingException {
+    public void createConnectionManager(ConnectionManagerInfo serviceInfo) throws OpenEJBException {
 
         ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.factoryMethod, serviceInfo.constructorArgs.toArray(new String[0]), null);
         serviceRecipe.setAllProperties(serviceInfo.properties);
@@ -491,7 +509,11 @@
         Class interfce = serviceInterfaces.get(serviceInfo.serviceType);
         checkImplementation(interfce, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
 
-        this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType + "/" + serviceInfo.id, service);
+        try {
+            this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType + "/" + serviceInfo.id, service);
+        } catch (NamingException e) {
+            throw new OpenEJBException("Cannot bind " + serviceInfo.serviceType + " with id " + serviceInfo.id, e);
+        }
 
         SystemInstance.get().setComponent(interfce, service);
 
@@ -505,7 +527,7 @@
         config.facilities.connectionManagers.add(serviceInfo);
     }
 
-    public void createSecurityService(SecurityServiceInfo serviceInfo) throws Exception {
+    public void createSecurityService(SecurityServiceInfo serviceInfo) throws OpenEJBException {
 
         ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.factoryMethod, serviceInfo.constructorArgs.toArray(new String[0]), null);
         serviceRecipe.setAllProperties(serviceInfo.properties);
@@ -515,7 +537,11 @@
         Class interfce = serviceInterfaces.get(serviceInfo.serviceType);
         checkImplementation(interfce, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
 
-        this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType, service);
+        try {
+            this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType, service);
+        } catch (NamingException e) {
+            throw new OpenEJBException("Cannot bind " + serviceInfo.serviceType + " with id " + serviceInfo.id, e);
+        }
 
         SystemInstance.get().setComponent(interfce, service);
 
@@ -531,7 +557,7 @@
         config.facilities.securityService = serviceInfo;
     }
 
-    public void createTransactionManager(TransactionServiceInfo serviceInfo) throws NamingException, OpenEJBException {
+    public void createTransactionManager(TransactionServiceInfo serviceInfo) throws OpenEJBException {
 
         ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.factoryMethod, serviceInfo.constructorArgs.toArray(new String[0]), null);
         serviceRecipe.setAllProperties(serviceInfo.properties);
@@ -541,7 +567,11 @@
         Class interfce = serviceInterfaces.get(serviceInfo.serviceType);
         checkImplementation(interfce, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
 
-        this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType, service);
+        try {
+            this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType, service);
+        } catch (NamingException e) {
+            throw new OpenEJBException("Cannot bind " + serviceInfo.serviceType + " with id " + serviceInfo.id, e);
+        }
 
         SystemInstance.get().setComponent(interfce, service);
 
@@ -559,7 +589,7 @@
         // todo find a better place for this
 
         // TransactionSynchronizationRegistry
-        TransactionSynchronizationRegistry synchronizationRegistry ;
+        TransactionSynchronizationRegistry synchronizationRegistry;
         if (transactionManager instanceof TransactionSynchronizationRegistry) {
             synchronizationRegistry = (TransactionSynchronizationRegistry) transactionManager;
         } else {

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ConnectorInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ConnectorInfo.java?view=diff&rev=496654&r1=496653&r2=496654
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ConnectorInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ConnectorInfo.java Tue Jan 16 02:35:13 2007
@@ -16,9 +16,6 @@
  */
 package org.apache.openejb.assembler.classic;
 
-public class ConnectorInfo extends InfoObject {
+public class ConnectorInfo extends ServiceInfo {
 
-    public String connectorId;
-    public String connectionManagerId;
-    public ManagedConnectionFactoryInfo managedConnectionFactory;
 }