djencks     2004/01/19 22:13:39

  Modified:    .        maven.xml
               modules/core/src/java/org/apache/geronimo/connector
                        BootstrapContext.java
               modules/core/src/java/org/apache/geronimo/connector/outbound
                        ConnectionManagerDeployment.java
               
modules/core/src/java/org/apache/geronimo/connector/outbound/security
                        PasswordCredentialRealm.java
               modules/core/src/java/org/apache/geronimo/connector/work
                        GeronimoWorkManager.java
               modules/core/src/test/org/apache/geronimo/connector/outbound
                        ConnectionManagerTest.java
               modules/deployment/src/test-resources/etc
                        bootstrapped-service.xml
  Log:
  gbean-ify the easy connector beans
  
  Revision  Changes    Path
  1.52      +9 -1      incubator-geronimo/maven.xml
  
  Index: maven.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/maven.xml,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- maven.xml 20 Jan 2004 01:36:58 -0000      1.51
  +++ maven.xml 20 Jan 2004 06:13:38 -0000      1.52
  @@ -663,6 +663,10 @@
                       <fileset dir="${maven.repo.local}/regexp/jars">
                             <include name="regexp-1.3-dev.jar"/>
                       </fileset>
  +                    <!-- connector work manager -->
  +                    <fileset dir="${maven.repo.local}/concurrent/jars">
  +                          <include name="concurrent-1.3.2.jar"/>
  +                    </fileset>
                   </classpath>
   
                   <arg 
value="file:${run.dir}/deployment/src/test-resources/etc/bootstrapped-service.xml"/>
  @@ -735,6 +739,10 @@
                       <!-- security -->
                       <fileset dir="${maven.repo.local}/regexp/jars">
                             <include name="regexp-1.3-dev.jar"/>
  +                    </fileset>
  +                    <!-- connector work manager -->
  +                    <fileset dir="${maven.repo.local}/concurrent/jars">
  +                          <include name="concurrent-1.3.2.jar"/>
                       </fileset>
                   </classpath>
   
  
  
  
  1.3       +24 -1     
incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/BootstrapContext.java
  
  Index: BootstrapContext.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/BootstrapContext.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BootstrapContext.java     26 Nov 2003 02:17:40 -0000      1.2
  +++ BootstrapContext.java     20 Jan 2004 06:13:38 -0000      1.3
  @@ -64,12 +64,19 @@
   
   import org.apache.geronimo.kernel.service.GeronimoMBeanEndpoint;
   import org.apache.geronimo.kernel.service.GeronimoMBeanInfo;
  +import org.apache.geronimo.gbean.GBeanInfo;
  +import org.apache.geronimo.gbean.GBeanInfoFactory;
  +import org.apache.geronimo.gbean.GOperationInfo;
  +import org.apache.geronimo.gbean.GEndpointInfo;
  +import org.apache.geronimo.gbean.GConstructorInfo;
   
   /**
    * @version $Revision$ $Date$
    */
   public class BootstrapContext implements javax.resource.spi.BootstrapContext 
{
   
  +    private static final GBeanInfo GBEAN_INFO;
  +
       private WorkManager workManager;
       private XATerminator xATerminator;
   
  @@ -117,6 +124,22 @@
           return new Timer();
       }
   
  +    static {
  +        GBeanInfoFactory infoFactory = new 
GBeanInfoFactory(BootstrapContext.class.getName());
  +        infoFactory.addOperation(new GOperationInfo("getWorkManager"));
  +        infoFactory.addOperation(new GOperationInfo("getXATerminator"));
  +        infoFactory.addOperation(new GOperationInfo("createTimer"));
  +        infoFactory.addEndpoint(new GEndpointInfo("WorkManager", 
WorkManager.class.getName()));
  +        infoFactory.addEndpoint(new GEndpointInfo("XATerminator", 
XATerminator.class.getName()));
  +        infoFactory.setConstructor(new GConstructorInfo(
  +                new String[] {"WorkManager", "XATerminator"},
  +                new Class[] {WorkManager.class, XATerminator.class}));
  +        GBEAN_INFO = infoFactory.getBeanInfo();
  +    }
  +
  +    public static GBeanInfo getGBeanInfo() {
  +        return GBEAN_INFO;
  +    }
   
       public static GeronimoMBeanInfo getGeronimoMBeanInfo() throws Exception {
           GeronimoMBeanInfo rc = new GeronimoMBeanInfo();
  
  
  
  1.11      +89 -26    
incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/ConnectionManagerDeployment.java
  
  Index: ConnectionManagerDeployment.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/ConnectionManagerDeployment.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ConnectionManagerDeployment.java  15 Jan 2004 01:20:53 -0000      1.10
  +++ ConnectionManagerDeployment.java  20 Jan 2004 06:13:38 -0000      1.11
  @@ -57,12 +57,22 @@
   package org.apache.geronimo.connector.outbound;
   
   import javax.management.MBeanOperationInfo;
  +import javax.management.MBeanServer;
  +import javax.management.MalformedObjectNameException;
   import javax.management.ObjectName;
   import javax.resource.ResourceException;
   import javax.resource.spi.ManagedConnectionFactory;
   
   import org.apache.geronimo.connector.deployment.ConnectionManagerFactory;
   import 
org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTracker;
  +import org.apache.geronimo.gbean.GAttributeInfo;
  +import org.apache.geronimo.gbean.GBean;
  +import org.apache.geronimo.gbean.GBeanInfo;
  +import org.apache.geronimo.gbean.GBeanInfoFactory;
  +import org.apache.geronimo.gbean.GConstructorInfo;
  +import org.apache.geronimo.gbean.GEndpointInfo;
  +import org.apache.geronimo.gbean.GOperationInfo;
  +import org.apache.geronimo.kernel.KernelMBean;
   import org.apache.geronimo.kernel.service.GeronimoAttributeInfo;
   import org.apache.geronimo.kernel.service.GeronimoMBeanContext;
   import org.apache.geronimo.kernel.service.GeronimoMBeanEndpoint;
  @@ -79,9 +89,9 @@
    *
    * @version $Revision$ $Date$
    * */
  -public class ConnectionManagerDeployment
  +public class ConnectionManagerDeployment implements GeronimoMBeanTarget, 
ConnectionManagerFactory, GBean {
   
  -        implements GeronimoMBeanTarget, ConnectionManagerFactory {
  +    private static final GBeanInfo GBEAN_INFO;
   
       private final static String MBEAN_SERVER_DELEGATE =
               "JMImplementation:type=MBeanServerDelegate";
  @@ -103,12 +113,11 @@
       /**
        * Identifying string used by unshareable resource detection
        */
  -    private String jndiName;
  +    private String name;
       //dependencies
       private RealmBridge realmBridge;
       private ConnectionTracker connectionTracker;
  -
  -    private String globalJNDIName;
  +    private KernelMBean kernel;
   
       //GeronimoMBeanTarget support.
       private GeronimoMBeanContext context;
  @@ -117,17 +126,17 @@
       public ConnectionManagerDeployment() {
       }
   
  -    //constructor primarily for testing.  Connection manager/connection 
factory will not be serializable.
       public ConnectionManagerDeployment(boolean useConnectionRequestInfo,
  -     boolean useSubject,
  -     boolean useTransactionCaching,
  -     boolean useLocalTransactions,
  -     boolean useTransactions,
  -     int maxSize,
  -     int blockingTimeout,
  -     RealmBridge realmBridge,
  -     String jndiName,
  -     ConnectionTracker connectionTracker) {
  +                                       boolean useSubject,
  +                                       boolean useTransactionCaching,
  +                                       boolean useLocalTransactions,
  +                                       boolean useTransactions,
  +                                       int maxSize,
  +                                       int blockingTimeout,
  +                                       String name,
  +                                       RealmBridge realmBridge,
  +                                       ConnectionTracker connectionTracker,
  +                                       KernelMBean kernel) {
           this.useConnectionRequestInfo = useConnectionRequestInfo;
           this.useLocalTransactions = useLocalTransactions;
           this.useSubject = useSubject;
  @@ -136,9 +145,9 @@
           this.maxSize = maxSize;
           this.blockingTimeout = blockingTimeout;
           this.realmBridge = realmBridge;
  -        this.jndiName = jndiName;
  +        this.name = name;
           this.connectionTracker = connectionTracker;
  -        setUpConnectionManager(null, null);
  +        this.kernel = kernel;
       }
   
       public void setMBeanContext(GeronimoMBeanContext context) {
  @@ -150,14 +159,29 @@
       }
   
       public void doStart() {
  -        ObjectName connectionManagerName = context.getObjectName();
  +        MBeanServer mbeanServer = null;
  +        if (kernel != null) {
  +            mbeanServer = kernel.getMBeanServer();
  +        } else if (context != null) {
  +            mbeanServer = context.getServer();
  +        } else {
  +            throw new IllegalStateException("Neither kernel nor context is 
set, but you're trying to start");
  +        }
  +
           String agentID;
           try {
               ObjectName name = ObjectName.getInstance(MBEAN_SERVER_DELEGATE);
  -            agentID = (String) context.getServer().getAttribute(name, 
"MBeanServerId");
  +            agentID = (String) mbeanServer.getAttribute(name, 
"MBeanServerId");
           } catch (Exception e) {
               throw new RuntimeException("Problem getting agentID from 
MBeanServerDelegate", e);
           }
  +
  +        ObjectName connectionManagerName = null;
  +        try {
  +            connectionManagerName = 
ObjectName.getInstance("geronimo.management:j2eeType=ConnectionManager,name=" + 
name);
  +        } catch (MalformedObjectNameException e) {
  +            throw new RuntimeException("could not construct an object name 
for ConnectionManagerDeployment mbean", e);
  +        }
           setUpConnectionManager(agentID, connectionManagerName);
   
       }
  @@ -217,7 +241,7 @@
           if (connectionTracker != null) {
               stack = new ConnectionTrackingInterceptor(
                       stack,
  -                    jndiName,
  +                    name,
                       connectionTracker,
                       realmBridge);
           }
  @@ -267,12 +291,12 @@
           this.connectionTracker = connectionTracker;
       }
   
  -    public String getJndiName() {
  -        return jndiName;
  +    public String getName() {
  +        return name;
       }
   
  -    public void setJndiName(String jndiName) {
  -        this.jndiName = jndiName;
  +    public void setName(String name) {
  +        this.name = name;
       }
   
       public int getMaxSize() {
  @@ -334,6 +358,45 @@
           this.useTransactionCaching = useTransactionCaching;
       }
   
  +    public KernelMBean getKernel() {
  +        return kernel;
  +    }
  +
  +    public void setKernel(KernelMBean kernel) {
  +        this.kernel = kernel;
  +    }
  +
  +    static {
  +        GBeanInfoFactory infoFactory = new 
GBeanInfoFactory(ConnectionManagerDeployment.class.getName());
  +
  +        infoFactory.addAttribute(new GAttributeInfo("BlockingTimeout", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("Name", true));
  +        infoFactory.addAttribute(new GAttributeInfo("MaxSize", true));
  +        infoFactory.addAttribute(new 
GAttributeInfo("UseConnectionRequestInfo", true));
  +        infoFactory.addAttribute(new GAttributeInfo("UseTransactions", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("UseLocalTransactions", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("UseTransactionCaching", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("UseSubject", true));
  +
  +        infoFactory.addOperation(new GOperationInfo("getStack"));
  +        infoFactory.addOperation(new 
GOperationInfo("createConnectionFactory", new 
String[]{ManagedConnectionFactory.class.getName()}));
  +
  +        infoFactory.addEndpoint(new GEndpointInfo("ConnectionTracker", 
ConnectionTracker.class.getName()));
  +        infoFactory.addEndpoint(new GEndpointInfo("RealmBridge", 
RealmBridge.class.getName()));
  +        infoFactory.addEndpoint(new GEndpointInfo("Kernel", 
KernelMBean.class.getName()));
  +
  +        infoFactory.setConstructor(new GConstructorInfo(
  +                new String[]{"UseConnectionRequestInfo", "UseSubject", 
"UseTransactionCaching", "UseLocalTransactions", "UseTransactions",
  +                             "MaxSize", "BlockingTimeout", "Name", 
"RealmBridge", "ConnectionTracker", "Kernel"},
  +                new Class[]{Boolean.TYPE, Boolean.TYPE, Boolean.TYPE, 
Boolean.TYPE, Boolean.TYPE,
  +                            Integer.TYPE, Integer.TYPE, String.class, 
RealmBridge.class, ConnectionTracker.class, KernelMBean.class}));
  +        GBEAN_INFO = infoFactory.getBeanInfo();
  +    }
  +
  +    public static GBeanInfo getGBeanInfo() {
  +        return GBEAN_INFO;
  +    }
  +
       public static GeronimoMBeanInfo getGeronimoMBeanInfo() throws Exception {
           GeronimoMBeanInfo mBeanInfo = new GeronimoMBeanInfo();
   
  @@ -353,7 +416,7 @@
           mBeanInfo.addOperationInfo(new GeronimoOperationInfo("getStack"));
   
           mBeanInfo.addOperationInfo(new 
GeronimoOperationInfo("createConnectionFactory",
  -                new GeronimoParameterInfo[] {new 
GeronimoParameterInfo("ManagedConnectionFactory", 
ManagedConnectionFactory.class, "ManagedConnectionFactory that will create the 
ConnectionFactory")},
  +                new GeronimoParameterInfo[]{new 
GeronimoParameterInfo("ManagedConnectionFactory", 
ManagedConnectionFactory.class, "ManagedConnectionFactory that will create the 
ConnectionFactory")},
                   MBeanOperationInfo.ACTION,
                   "PRIVATE OPERATION. Have the supplied 
ManagedConnectionFactory create a connection factory"));
           return mBeanInfo;
  
  
  
  1.2       +21 -9     
incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/security/PasswordCredentialRealm.java
  
  Index: PasswordCredentialRealm.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/outbound/security/PasswordCredentialRealm.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PasswordCredentialRealm.java      11 Jan 2004 08:28:15 -0000      1.1
  +++ PasswordCredentialRealm.java      20 Jan 2004 06:13:38 -0000      1.2
  @@ -59,14 +59,15 @@
   import java.util.HashMap;
   import java.util.Map;
   import java.util.Set;
  -import java.security.Principal;
   
   import javax.resource.spi.ManagedConnectionFactory;
  -import javax.resource.spi.security.PasswordCredential;
   import javax.security.auth.login.AppConfigurationEntry;
   
  +import org.apache.geronimo.gbean.GBeanInfo;
  +import org.apache.geronimo.gbean.GBeanInfoFactory;
   import org.apache.geronimo.kernel.service.GeronimoAttributeInfo;
   import org.apache.geronimo.kernel.service.GeronimoMBeanInfo;
  +import org.apache.geronimo.security.AbstractSecurityRealm;
   import org.apache.geronimo.security.GeronimoSecurityException;
   import org.apache.geronimo.security.SecurityRealm;
   import org.apache.regexp.RE;
  @@ -79,18 +80,14 @@
    * */
   public class PasswordCredentialRealm implements SecurityRealm {
   
  +    private static final GBeanInfo GBEAN_INFO;
  +
       private String realmName;
   
       ManagedConnectionFactory managedConnectionFactory;
   
       static final String REALM_INSTANCE = 
"org.apache.connector.outbound.security.PasswordCredentialRealm";
   
  -    public static GeronimoMBeanInfo getGeronimoMBeanInfo() {
  -        GeronimoMBeanInfo mbeanInfo = new GeronimoMBeanInfo();
  -        mbeanInfo.setTargetClass(PasswordCredentialRealm.class);
  -        mbeanInfo.addAttributeInfo(new GeronimoAttributeInfo("Realm", true, 
true, "Name of this realm"));
  -        return mbeanInfo;
  -    }
   
       public void setRealmName(String realmName) {
           this.realmName = realmName;
  @@ -136,4 +133,19 @@
           return managedConnectionFactory;
       }
   
  +    static {
  +        GBeanInfoFactory infoFactory = new 
GBeanInfoFactory(PasswordCredentialRealm.class.getName(), 
AbstractSecurityRealm.getGBeanInfo());
  +        GBEAN_INFO = infoFactory.getBeanInfo();
  +    }
  +
  +    public static GBeanInfo getGBeanInfo() {
  +        return GBEAN_INFO;
  +    }
  +
  +    public static GeronimoMBeanInfo getGeronimoMBeanInfo() {
  +        GeronimoMBeanInfo mbeanInfo = new GeronimoMBeanInfo();
  +        mbeanInfo.setTargetClass(PasswordCredentialRealm.class);
  +        mbeanInfo.addAttributeInfo(new GeronimoAttributeInfo("Realm", true, 
true, "Name of this realm"));
  +        return mbeanInfo;
  +    }
   }
  
  
  
  1.6       +53 -19    
incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java
  
  Index: GeronimoWorkManager.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- GeronimoWorkManager.java  27 Nov 2003 02:30:21 -0000      1.5
  +++ GeronimoWorkManager.java  20 Jan 2004 06:13:38 -0000      1.6
  @@ -55,6 +55,7 @@
    */
   
   package org.apache.geronimo.connector.work;
  +
   import javax.resource.spi.work.ExecutionContext;
   import javax.resource.spi.work.Work;
   import javax.resource.spi.work.WorkException;
  @@ -67,6 +68,11 @@
   import org.apache.geronimo.connector.work.pool.WorkExecutorPool;
   import org.apache.geronimo.kernel.service.GeronimoMBeanInfo;
   import org.apache.geronimo.kernel.service.GeronimoAttributeInfo;
  +import org.apache.geronimo.gbean.GBeanInfo;
  +import org.apache.geronimo.gbean.GBeanInfoFactory;
  +import org.apache.geronimo.gbean.GAttributeInfo;
  +import org.apache.geronimo.gbean.GOperationInfo;
  +import org.apache.geronimo.gbean.GConstructorInfo;
   
   /**
    * WorkManager implementation which uses under the cover three 
WorkExecutorPool
  @@ -79,13 +85,15 @@
    * TODO There needs to be better lifecycle support.  The individual pools 
can be stopped now, but
    * not restarted AFAIK.
    *
  -* @version $Revision$ $Date$
  + * @version $Revision$ $Date$
    */
   public class GeronimoWorkManager implements WorkManager {
   
       private final static int DEFAULT_MIN_POOL_SIZE = 0;
       private final static int DEFAULT_MAX_POOL_SIZE = 10;
   
  +    private static final GBeanInfo GBEAN_INFO;
  +
       /**
        * Pool of threads used by this WorkManager in order to process
        * the Work instances submitted via the doWork methods.
  @@ -192,13 +200,13 @@
        * @see 
javax.resource.spi.work.WorkManager#doWork(javax.resource.spi.work.Work, long, 
javax.resource.spi.work.ExecutionContext, javax.resource.spi.work.WorkListener)
        */
       public void doWork(
  -        Work work,
  -        long startTimeout,
  -        ExecutionContext execContext,
  -        WorkListener workListener)
  -        throws WorkException {
  +            Work work,
  +            long startTimeout,
  +            ExecutionContext execContext,
  +            WorkListener workListener)
  +            throws WorkException {
           WorkerContext workWrapper =
  -            new WorkerContext(work, startTimeout, execContext, workListener);
  +                new WorkerContext(work, startTimeout, execContext, 
workListener);
           workWrapper.setThreadPriority(Thread.currentThread().getPriority());
           syncWorkExecutorPool.executeWork(workWrapper);
       }
  @@ -217,13 +225,13 @@
        * @see 
javax.resource.spi.work.WorkManager#startWork(javax.resource.spi.work.Work, 
long, javax.resource.spi.work.ExecutionContext, 
javax.resource.spi.work.WorkListener)
        */
       public long startWork(
  -        Work work,
  -        long startTimeout,
  -        ExecutionContext execContext,
  -        WorkListener workListener)
  -        throws WorkException {
  +            Work work,
  +            long startTimeout,
  +            ExecutionContext execContext,
  +            WorkListener workListener)
  +            throws WorkException {
           WorkerContext workWrapper =
  -            new WorkerContext(work, startTimeout, execContext, workListener);
  +                new WorkerContext(work, startTimeout, execContext, 
workListener);
           workWrapper.setThreadPriority(Thread.currentThread().getPriority());
           startWorkExecutorPool.executeWork(workWrapper);
           return System.currentTimeMillis() - workWrapper.getAcceptedTime();
  @@ -242,17 +250,43 @@
        * @see 
javax.resource.spi.work.WorkManager#scheduleWork(javax.resource.spi.work.Work, 
long, javax.resource.spi.work.ExecutionContext, 
javax.resource.spi.work.WorkListener)
        */
       public void scheduleWork(
  -        Work work,
  -        long startTimeout,
  -        ExecutionContext execContext,
  -        WorkListener workListener)
  -        throws WorkException {
  +            Work work,
  +            long startTimeout,
  +            ExecutionContext execContext,
  +            WorkListener workListener)
  +            throws WorkException {
           WorkerContext workWrapper =
  -            new WorkerContext(work, startTimeout, execContext, workListener);
  +                new WorkerContext(work, startTimeout, execContext, 
workListener);
           workWrapper.setThreadPriority(Thread.currentThread().getPriority());
           scheduledWorkExecutorPool.executeWork(workWrapper);
       }
   
  +    static {
  +        GBeanInfoFactory infoFactory = new 
GBeanInfoFactory(GeronimoWorkManager.class.getName());
  +        infoFactory.addAttribute(new GAttributeInfo("SyncThreadCount", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("SyncMinimumPoolSize", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("SyncMaximumPoolSize", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("StartThreadCount", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("StartMinimumPoolSize", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("StartMaximumPoolSize", 
true));
  +        infoFactory.addAttribute(new GAttributeInfo("ScheduledThreadCount", 
true));
  +        infoFactory.addAttribute(new 
GAttributeInfo("ScheduledMinimumPoolSize", true));
  +        infoFactory.addAttribute(new 
GAttributeInfo("ScheduledMaximumPoolSize", true));
  +        infoFactory.addOperation(new GOperationInfo("doWork", new 
String[]{Work.class.getName()}));
  +        infoFactory.addOperation(new GOperationInfo("doWork", new 
String[]{Work.class.getName(), Long.TYPE.getName(), 
ExecutionContext.class.getName(), WorkListener.class.getName()}));
  +        infoFactory.addOperation(new GOperationInfo("startWork", new 
String[]{Work.class.getName()}));
  +        infoFactory.addOperation(new GOperationInfo("startWork", new 
String[]{Work.class.getName(), Long.TYPE.getName(), 
ExecutionContext.class.getName(), WorkListener.class.getName()}));
  +        infoFactory.addOperation(new GOperationInfo("scheduleWork", new 
String[]{Work.class.getName()}));
  +        infoFactory.addOperation(new GOperationInfo("scheduleWork", new 
String[]{Work.class.getName(), Long.TYPE.getName(), 
ExecutionContext.class.getName(), WorkListener.class.getName()}));
  +        infoFactory.setConstructor(new GConstructorInfo(
  +                new String[] {"SyncMinimumPoolSize", "SyncMaximumPoolSize", 
"StartMinimumPoolSize", "StartMaximumPoolSize", "ScheduledMinimumPoolSize", 
"ScheduledMaximumPoolSize"},
  +                new Class[] {Integer.TYPE, Integer.TYPE, Integer.TYPE, 
Integer.TYPE, Integer.TYPE, Integer.TYPE}));
  +        GBEAN_INFO = infoFactory.getBeanInfo();
  +    }
  +
  +    public static GBeanInfo getGBeanInfo() {
  +        return GBEAN_INFO;
  +    }
   
       /**
        * Provides the GeronimoMBean description for this class
  
  
  
  1.3       +12 -4     
incubator-geronimo/modules/core/src/test/org/apache/geronimo/connector/outbound/ConnectionManagerTest.java
  
  Index: ConnectionManagerTest.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/core/src/test/org/apache/geronimo/connector/outbound/ConnectionManagerTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ConnectionManagerTest.java        11 Jan 2004 08:28:15 -0000      1.2
  +++ ConnectionManagerTest.java        20 Jan 2004 06:13:38 -0000      1.3
  @@ -74,6 +74,7 @@
   import 
org.apache.geronimo.connector.outbound.connectiontracking.defaultimpl.DefaultInterceptor;
   import org.apache.geronimo.security.bridge.RealmBridge;
   import org.apache.geronimo.transaction.manager.TransactionManagerImpl;
  +import org.apache.geronimo.kernel.Kernel;
   
   /**
    *
  @@ -90,10 +91,11 @@
       protected boolean useTransactions = true;
       protected int maxSize = 5;
       protected int blockingTimeout = 100;
  -    protected String jndiName = "testCF";
  +    protected String name = "testCF";
       //dependencies
       protected RealmBridge realmBridge = this;
       protected ConnectionTrackingCoordinator connectionTrackingCoordinator;
  +    protected Kernel kernel;
   
       protected TransactionManager transactionManager;
       protected ConnectionManagerDeployment connectionManagerDeployment;
  @@ -107,6 +109,8 @@
   
       protected void setUp() throws Exception {
           connectionTrackingCoordinator = new ConnectionTrackingCoordinator();
  +        kernel = new Kernel("testdomain");
  +        kernel.boot();
           transactionManager = new TransactionManagerImpl();
           mockManagedConnectionFactory = new MockManagedConnectionFactory();
           subject = new Subject();
  @@ -117,9 +121,11 @@
                   useTransactions,
                   maxSize,
                   blockingTimeout,
  +                name,
                   realmBridge,
  -                jndiName,
  -                connectionTrackingCoordinator);
  +                connectionTrackingCoordinator,
  +                kernel);
  +        connectionManagerDeployment.doStart();
           connectionFactory = 
(MockConnectionFactory)connectionManagerDeployment.createConnectionFactory(mockManagedConnectionFactory);
           defaultComponentContext = new DefaultComponentContext();
           defaultComponentInterceptor = new DefaultComponentInterceptor(this, 
connectionTrackingCoordinator, unshareableResources, transactionManager);
  @@ -127,6 +133,8 @@
   
       protected void tearDown() throws Exception {
           connectionTrackingCoordinator = null;
  +        kernel.shutdown();
  +        kernel = null;
           transactionManager = null;
           mockManagedConnectionFactory = null;
           connectionManagerDeployment = null;
  
  
  
  1.4       +64 -3     
incubator-geronimo/modules/deployment/src/test-resources/etc/bootstrapped-service.xml
  
  Index: bootstrapped-service.xml
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/deployment/src/test-resources/etc/bootstrapped-service.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- bootstrapped-service.xml  20 Jan 2004 01:36:59 -0000      1.3
  +++ bootstrapped-service.xml  20 Jan 2004 06:13:39 -0000      1.4
  @@ -35,6 +35,70 @@
           <default attribute="GroupsURI" 
type="java.net.URI">file:./core/src/test-data/data/groups.properties</default>
       </gbean>
   
  +    <gbean 
class="org.apache.geronimo.security.bridge.CallerIdentityUserPasswordRealmBridge"
 objectName="geronimo.security:service=RealmBridge,type=CallerIdentity">
  +        <default attribute="TargetRealm" 
type="java.lang.String">Foo</default>
  +    </gbean>
  +
  +    <gbean 
class="org.apache.geronimo.security.bridge.ConfiguredIdentityUserPasswordRealmBridge"
 objectName="geronimo.security:service=RealmBridge,type=ConfiguredIdentity">
  +        <default attribute="TargetRealm" 
type="java.lang.String">Foo</default>
  +        <default attribute="ConfiguredUser" 
type="java.lang.String">user</default>
  +        <default attribute="ConfiguredPassword" 
type="java.lang.String">password</default>
  +    </gbean>
  +
  +    <gbean 
class="org.apache.geronimo.security.bridge.PropertiesFilePrincipalMappingUserPasswordRealmBridge"
 objectName="geronimo.security:service=RealmBridge,type=MappedIdentity">
  +        <default attribute="TargetRealm" 
type="java.lang.String">Foo</default>
  +        <default attribute="PrincipalSourceType" 
type="java.lang.Class">org.apache.geronimo.security.providers.PropertiesFileUserPrincipal</default>
  +        <default attribute="PrincipalTargetCallbackName" 
type="java.lang.String">user name</default>
  +        <default attribute="UserNameSourceType" 
type="java.lang.Class">org.apache.geronimo.security.providers.PropertiesFileUserPrincipal</default>
  +        <default attribute="UserNameTargetCallbackName" 
type="java.lang.String">user name</default>
  +        <default attribute="PasswordSourceType" 
type="java.lang.Class">org.apache.geronimo.security.providers.PropertiesFileUserPrincipal</default>
  +        <default attribute="PropertyFileURL" 
type="java.net.URL">file:./core/src/test-data/data/mapping.properties</default>
  +    </gbean>
  +
  +    <!-- transaction -->
  +    <gbean class="org.apache.geronimo.transaction.TransactionManagerProxy" 
objectName="geronimo.transaction:service=TransactionManager"/>
  +
  +    <!-- connector -->
  +    <gbean class="org.apache.geronimo.connector.work.GeronimoWorkManager" 
objectName="geronimo.connector:service=WorkManager">
  +        <default attribute="SyncMinimumPoolSize" type="int">0</default>
  +        <default attribute="SyncMaximumPoolSize" type="int">10</default>
  +        <default attribute="StartMinimumPoolSize" type="int">0</default>
  +        <default attribute="StartMaximumPoolSize" type="int">10</default>
  +        <default attribute="ScheduledMinimumPoolSize" type="int">0</default>
  +        <default attribute="ScheduledMaximumPoolSize" type="int">10</default>
  +    </gbean>
  +
  +    <gbean class="org.apache.geronimo.connector.BootstrapContext" 
objectName="geronimo.connector:role=BootstrapContext">
  +        <endpoint name="WorkManager">
  +            <pattern>geronimo.connector:service=WorkManager</pattern>
  +        </endpoint>
  +        <endpoint name="XATerminator">
  +            
<pattern>geronimo.transaction:service=TransactionManager</pattern>
  +        </endpoint>
  +    </gbean>
  +
  +    <gbean 
class="org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator"
 objectName="geronimo.connector:service=ConnectionTrackingCoordinator"/>
  +
  +    <gbean 
class="org.apache.geronimo.connector.outbound.ConnectionManagerDeployment" 
objectName="geronimo.management:j2eeType=ConnectionManager,name=test">
  +        <default attribute="UseConnectionRequestInfo" 
type="boolean">false</default>
  +        <default attribute="UseSubject" type="boolean">false</default>
  +        <default attribute="UseTransactionCaching" 
type="boolean">true</default>
  +        <default attribute="UseLocalTransactions" 
type="boolean">true</default>
  +        <default attribute="UseTransactions" type="boolean">true</default>
  +        <default attribute="MaxSize" type="int">10</default>
  +        <default attribute="BlockingTimeout" type="int">1000</default>
  +        <default attribute="Name" type="java.lang.String">test</default>
  +        <endpoint name="RealmBridge">
  +            
<pattern>geronimo.security:service=RealmBridge,type=CallerIdentity</pattern>
  +        </endpoint>
  +        <endpoint name="ConnectionTracker">
  +            
<pattern>geronimo.connector:service=ConnectionTrackingCoordinator</pattern>
  +        </endpoint>
  +        <endpoint name="Kernel">
  +            <pattern>geronimo.boot:role=Kernel</pattern>
  +        </endpoint>
  +    </gbean>
  +
       <!-- web -->
   
       <gbean class="org.apache.geronimo.web.jetty.JettyWebContainer" 
objectName="geronimo.web:type=WebContainer,container=Jetty">
  @@ -72,9 +136,6 @@
           </endpoint>
       </gbean>
   
  -    <gbean class="org.apache.geronimo.transaction.TransactionManagerProxy" 
objectName="geronimo.transaction:service=TransactionManager"/>
  -
  -    <gbean 
class="org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator"
 objectName="geronimo.connector:service=ConnectionTrackingCoordinator"/>
   
       <gbean class="org.apache.geronimo.deployment.util.ExplicitDeployment" 
objectName="geronimo.app:name=WebConsole">
           <default attribute="ConfigID" 
type="java.net.URI">org/apache/geronimo/WebConsole</default>
  
  
  

Reply via email to