dain        2004/04/15 22:34:06

  Modified:    modules/core/src/java/org/openejb/entity/bmp
                        BMPContainerBuilder.java
                        BMPInstanceContextFactory.java
  Log:

  Changed container id to a String
  Simplified requirements to create an EJBProxyFactory
  EJBProxyFactory is now constructed in the GenericEJBContainer constructor
  Change ProxyRefAddress to store the class names instead of a proxy info
  object; this allows the construction of an ejb-ref without knowing the
  container type
  Merged stateless and stateful object base classes into a single class,
  which simplifies proxy construction
  
  Revision  Changes    Path
  1.4       +4 -7      
openejb/modules/core/src/java/org/openejb/entity/bmp/BMPContainerBuilder.java
  
  Index: BMPContainerBuilder.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/bmp/BMPContainerBuilder.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BMPContainerBuilder.java  6 Apr 2004 18:41:46 -0000       1.3
  +++ BMPContainerBuilder.java  16 Apr 2004 02:34:06 -0000      1.4
  @@ -63,7 +63,6 @@
   import org.openejb.entity.EntityInstanceFactory;
   import org.openejb.entity.EntityInterceptorBuilder;
   import org.openejb.entity.HomeMethod;
  -import org.openejb.proxy.EJBProxyFactory;
   
   /**
    *
  @@ -84,22 +83,20 @@
           InterfaceMethodSignature[] signatures = (InterfaceMethodSignature[]) 
vopMap.keySet().toArray(new InterfaceMethodSignature[vopMap.size()]);
           VirtualOperation[] vtable = (VirtualOperation[])vopMap.values().toArray(new 
VirtualOperation[vopMap.size()]);
   
  -        EJBProxyFactory proxyFactory = createProxyFactory(signatures);
  -
           // create and intitalize the interceptor builder
           InterceptorBuilder interceptorBuilder = initializeInterceptorBuilder(new 
EntityInterceptorBuilder(), signatures, vtable);
   
           // build the context factory
  -        InstanceContextFactory contextFactory = new 
BMPInstanceContextFactory(getContainerId(), proxyFactory, beanClass);
  +        InstanceContextFactory contextFactory = new 
BMPInstanceContextFactory(getContainerId(), beanClass);
           EntityInstanceFactory instanceFactory = new 
EntityInstanceFactory(getComponentContext(), contextFactory);
   
           // build the pool
           InstancePool pool = createInstancePool(instanceFactory);
   
           if (buildContainer) {
  -            return createContainer(proxyFactory, signatures, interceptorBuilder, 
pool);
  +            return createContainer(signatures, contextFactory, interceptorBuilder, 
pool);
           } else {
  -            return createConfiguration(proxyFactory, signatures, 
interceptorBuilder, pool);
  +            return createConfiguration(signatures, contextFactory, 
interceptorBuilder, pool);
           }
       }
   
  
  
  
  1.4       +10 -4     
openejb/modules/core/src/java/org/openejb/entity/bmp/BMPInstanceContextFactory.java
  
  Index: BMPInstanceContextFactory.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/entity/bmp/BMPInstanceContextFactory.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BMPInstanceContextFactory.java    4 Apr 2004 01:49:10 -0000       1.3
  +++ BMPInstanceContextFactory.java    16 Apr 2004 02:34:06 -0000      1.4
  @@ -64,16 +64,22 @@
    */
   public class BMPInstanceContextFactory implements InstanceContextFactory, 
Serializable {
       private final Object containerId;
  -    private final EJBProxyFactory proxyFactory;
       private final EJBInstanceFactory factory;
  +    private transient EJBProxyFactory proxyFactory;
   
  -    public BMPInstanceContextFactory(Object containerId, EJBProxyFactory 
proxyFactory, Class beanClass) {
  +    public BMPInstanceContextFactory(Object containerId, Class beanClass) {
           this.containerId = containerId;
  -        this.proxyFactory = proxyFactory;
           this.factory = new EJBInstanceFactoryImpl(beanClass);
       }
   
  +    public void setProxyFactory(EJBProxyFactory proxyFactory) {
  +        this.proxyFactory = proxyFactory;
  +    }
  +
       public InstanceContext newInstance() throws Exception {
  +        if (proxyFactory == null) {
  +            throw new IllegalStateException("ProxyFacory has not been set");
  +        }
           return new BMPInstanceContext(containerId, proxyFactory, (EntityBean) 
factory.newInstance());
       }
   }
  
  
  

Reply via email to