maguro      2005/03/12 12:04:53

  Modified:    modules/core/src/java/org/openejb/corba AdapterEntity.java
                        AdapterStateful.java AdapterStateless.java
                        AdapterWrapper.java CORBABean.java CSSBean.java
                        TSSBean.java
  Log:

  Some fixes to POA policies and added default principal to the CORBA ORB.
  
  Revision  Changes    Path
  1.6       +4 -3      
openejb/modules/core/src/java/org/openejb/corba/AdapterEntity.java
  
  Index: AdapterEntity.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/AdapterEntity.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AdapterEntity.java        8 Mar 2005 04:08:26 -0000       1.5
  +++ AdapterEntity.java        12 Mar 2005 17:04:53 -0000      1.6
  @@ -84,11 +84,12 @@
       private final String referenceInterface;
       private final AdapterProxyFactory factory;
   
  -    public AdapterEntity(EJBContainer container, ORB orb, POA parentPOA, 
TieLoader tieLoader) throws CORBAException {
  +    public AdapterEntity(EJBContainer container, ORB orb, POA parentPOA, 
TieLoader tieLoader, Policy securityPolicy) throws CORBAException {
           super(container, orb, parentPOA, tieLoader);
   
           try {
               Policy[] policies = new Policy[]{
  +                securityPolicy,
                   
parentPOA.create_lifespan_policy(LifespanPolicyValue.PERSISTENT),
                   
parentPOA.create_request_processing_policy(RequestProcessingPolicyValue.USE_SERVANT_MANAGER),
                   
parentPOA.create_servant_retention_policy(ServantRetentionPolicyValue.NON_RETAIN),
  
  
  
  1.6       +4 -3      
openejb/modules/core/src/java/org/openejb/corba/AdapterStateful.java
  
  Index: AdapterStateful.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/AdapterStateful.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AdapterStateful.java      8 Mar 2005 04:08:26 -0000       1.5
  +++ AdapterStateful.java      12 Mar 2005 17:04:53 -0000      1.6
  @@ -84,11 +84,12 @@
       private final String referenceInterface;
       private final AdapterProxyFactory factory;
   
  -    public AdapterStateful(EJBContainer container, ORB orb, POA parentPOA, 
TieLoader tieLoader) throws CORBAException {
  +    public AdapterStateful(EJBContainer container, ORB orb, POA parentPOA, 
TieLoader tieLoader, Policy securityPolicy) throws CORBAException {
           super(container, orb, parentPOA, tieLoader);
   
           try {
               Policy[] policies = new Policy[]{
  +                securityPolicy,
                   
parentPOA.create_lifespan_policy(LifespanPolicyValue.TRANSIENT),
                   
parentPOA.create_request_processing_policy(RequestProcessingPolicyValue.USE_SERVANT_MANAGER),
                   
parentPOA.create_servant_retention_policy(ServantRetentionPolicyValue.NON_RETAIN),
  
  
  
  1.6       +4 -4      
openejb/modules/core/src/java/org/openejb/corba/AdapterStateless.java
  
  Index: AdapterStateless.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/AdapterStateless.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AdapterStateless.java     8 Mar 2005 04:08:26 -0000       1.5
  +++ AdapterStateless.java     12 Mar 2005 17:04:53 -0000      1.6
  @@ -49,7 +49,6 @@
   
   import org.omg.CORBA.ORB;
   import org.omg.CORBA.Policy;
  -import org.omg.CORBA.SetOverrideType;
   import org.omg.PortableServer.IdAssignmentPolicyValue;
   import org.omg.PortableServer.ImplicitActivationPolicyValue;
   import org.omg.PortableServer.LifespanPolicyValue;
  @@ -74,11 +73,12 @@
       private final byte[] object_id;
       private final org.omg.CORBA.Object objectReference;
   
  -    public AdapterStateless(EJBContainer container, ORB orb, POA parentPOA, 
TieLoader tieLoader) throws CORBAException {
  +    public AdapterStateless(EJBContainer container, ORB orb, POA parentPOA, 
TieLoader tieLoader, Policy securityPolicy) throws CORBAException {
           super(container, orb, parentPOA, tieLoader);
   
           try {
               Policy[] policies = new Policy[]{
  +                securityPolicy,
                   
parentPOA.create_lifespan_policy(LifespanPolicyValue.TRANSIENT),
                   
parentPOA.create_request_processing_policy(RequestProcessingPolicyValue.USE_ACTIVE_OBJECT_MAP_ONLY),
                   
parentPOA.create_servant_retention_policy(ServantRetentionPolicyValue.RETAIN),
  
  
  
  1.3       +7 -6      
openejb/modules/core/src/java/org/openejb/corba/AdapterWrapper.java
  
  Index: AdapterWrapper.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/AdapterWrapper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AdapterWrapper.java       18 Jan 2005 21:50:39 -0000      1.2
  +++ AdapterWrapper.java       12 Mar 2005 17:04:53 -0000      1.3
  @@ -48,6 +48,7 @@
   import java.util.Map;
   
   import org.omg.CORBA.ORB;
  +import org.omg.CORBA.Policy;
   import org.omg.CosNaming.NamingContextExt;
   import org.omg.PortableServer.POA;
   
  @@ -73,17 +74,17 @@
           return container;
       }
   
  -    public void start(ORB orb, POA poa, NamingContextExt initialContext, 
TieLoader tieLoader) throws CORBAException {
  +    public void start(ORB orb, POA poa, NamingContextExt initialContext, 
TieLoader tieLoader, Policy securityPolicy) throws CORBAException {
           switch (container.getProxyInfo().getComponentType()) {
               case EJBComponentType.STATELESS:
  -                generator = new AdapterStateless(container, orb, poa, 
tieLoader);
  +                generator = new AdapterStateless(container, orb, poa, 
tieLoader, securityPolicy);
                   break;
               case EJBComponentType.STATEFUL:
  -                generator = new AdapterStateful(container, orb, poa, 
tieLoader);
  +                generator = new AdapterStateful(container, orb, poa, 
tieLoader, securityPolicy);
                   break;
               case EJBComponentType.BMP_ENTITY:
               case EJBComponentType.CMP_ENTITY:
  -                generator = new AdapterEntity(container, orb, poa, 
tieLoader);
  +                generator = new AdapterEntity(container, orb, poa, 
tieLoader, securityPolicy);
                   break;
               default:
                   throw new CORBAException("CORBA Adapter does not handle MDB 
containers");
  
  
  
  1.7       +3 -3      
openejb/modules/core/src/java/org/openejb/corba/CORBABean.java
  
  Index: CORBABean.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/CORBABean.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CORBABean.java    8 Mar 2005 04:08:26 -0000       1.6
  +++ CORBABean.java    12 Mar 2005 17:04:53 -0000      1.7
  @@ -133,7 +133,7 @@
               Properties properties = 
configAdapter.translateToProps(tssConfig);
               properties.putAll(props);
   
  -            orb = ORB.init((String[]) args.toArray(new String[args.size()]), 
properties);
  +            orb = ORB.init(configAdapter.translateToArgs(tssConfig,  args), 
properties);
   
               org.omg.CORBA.Object obj = 
orb.resolve_initial_references("RootPOA");
   
  
  
  
  1.2       +18 -21    
openejb/modules/core/src/java/org/openejb/corba/CSSBean.java
  
  Index: CSSBean.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/CSSBean.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CSSBean.java      8 Mar 2005 04:08:26 -0000       1.1
  +++ CSSBean.java      12 Mar 2005 17:04:53 -0000      1.2
  @@ -53,6 +53,11 @@
   import org.apache.commons.logging.LogFactory;
   import org.omg.CORBA.ORB;
   import org.omg.CORBA.UserException;
  +import org.omg.CORBA.PolicyManager;
  +import org.omg.CORBA.PolicyManagerHelper;
  +import org.omg.CORBA.Any;
  +import org.omg.CORBA.Policy;
  +import org.omg.CORBA.SetOverrideType;
   import org.omg.CosNaming.NameComponent;
   import org.omg.CosNaming.NamingContextExt;
   import org.omg.CosNaming.NamingContextExtHelper;
  @@ -64,6 +69,7 @@
   
   import org.openejb.corba.security.config.ConfigAdapter;
   import org.openejb.corba.security.config.css.CSSConfig;
  +import org.openejb.corba.security.ClientPolicyFactory;
   
   
   /**
  @@ -95,19 +101,7 @@
       public CSSBean(ClassLoader classLoader, Executor threadPool, String 
configAdapter) throws ClassNotFoundException, IllegalAccessException, 
InstantiationException {
           this.classLoader = classLoader;
           this.threadPool = threadPool;
  -        log.info("LOADING - " + configAdapter);
  -        try {
  -            this.configAdapter = (ConfigAdapter) 
classLoader.loadClass(configAdapter).newInstance();
  -        } catch (InstantiationException e) {
  -            log.info("ERROR - " , e);
  -            throw e;
  -        } catch (IllegalAccessException e) {
  -            log.info("ERROR - " , e);
  -            throw e;
  -        } catch (ClassNotFoundException e) {
  -            log.info("ERROR - " , e);
  -            throw e;
  -        }
  +        this.configAdapter = (ConfigAdapter) 
classLoader.loadClass(configAdapter).newInstance();
       }
   
       public String getDescription() {
  @@ -192,7 +186,6 @@
       }
   
       public void doStart() throws Exception {
  -        log.info("Starting CORBA Client Security Server - " + description);
   
           if (nssConfig == null) nssConfig = cssConfig;
           if (nssArgs == null) nssArgs = cssArgs;
  @@ -203,24 +196,27 @@
   
               Properties properties = 
configAdapter.translateToProps(nssConfig);
               properties.putAll(nssProps);
  -            log.info("S1 CORBA Client Security Server - " + description);
   
               nssORB = ORB.init((String[]) nssArgs.toArray(new 
String[nssArgs.size()]), properties);
  -            log.info("S2 CORBA Client Security Server - " + description);
   
               threadPool.execute(new Runnable() {
                   public void run() {
                       nssORB.run();
                   }
               });
  -            log.info("S3 CORBA Client Security Server - " + description);
   
               properties = configAdapter.translateToProps(cssConfig);
               properties.putAll(cssProps);
  -            log.info("S4 CORBA Client Security Server - " + description);
   
               cssORB = ORB.init((String[]) cssArgs.toArray(new 
String[cssArgs.size()]), properties);
  -            log.info("S5 CORBA Client Security Server - " + description);
  +
  +            org.omg.CORBA.Object ref = 
cssORB.resolve_initial_references("ORBPolicyManager");
  +            PolicyManager pm = PolicyManagerHelper.narrow(ref);
  +
  +            Any any = cssORB.create_any();
  +            any.insert_Value(cssConfig);
  +
  +            pm.set_policy_overrides(new 
Policy[]{cssORB.create_policy(ClientPolicyFactory.POLICY_TYPE, any)}, 
SetOverrideType.ADD_OVERRIDE);
   
               threadPool.execute(new Runnable() {
                   public void run() {
  @@ -235,6 +231,7 @@
       }
   
       public void doStop() throws Exception {
  +
           nssORB.shutdown(true);
           cssORB.shutdown(true);
           log.info("Stopped CORBA Client Security Server - " + description);
  
  
  
  1.4       +8 -12     
openejb/modules/core/src/java/org/openejb/corba/TSSBean.java
  
  Index: TSSBean.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/TSSBean.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TSSBean.java      8 Mar 2005 04:08:26 -0000       1.3
  +++ TSSBean.java      12 Mar 2005 17:04:53 -0000      1.4
  @@ -96,6 +96,7 @@
       private Collection containers = Collections.EMPTY_SET;
       private Map adapters = new HashMap();
       private static final Map containerMap = new HashMap();
  +    private Policy securityPolicy;
   
   
       public TSSBean(ClassLoader classLoader, String POAName, CORBABean 
server, TieLoader tieLoader) {
  @@ -152,8 +153,9 @@
               Any any = orb.create_any();
               any.insert_Value(createCSIv2Config());
   
  +            securityPolicy = 
orb.create_policy(ServerPolicyFactory.POLICY_TYPE, any);
               Policy[] policies = new Policy[]{
  -                orb.create_policy(ServerPolicyFactory.POLICY_TYPE, any),
  +                securityPolicy,
                   
rootPOA.create_lifespan_policy(LifespanPolicyValue.TRANSIENT),
                   
rootPOA.create_request_processing_policy(RequestProcessingPolicyValue.USE_ACTIVE_OBJECT_MAP_ONLY),
                   
rootPOA.create_servant_retention_policy(ServantRetentionPolicyValue.RETAIN),
  @@ -170,7 +172,7 @@
               for (Iterator iter = adapters.keySet().iterator(); 
iter.hasNext();) {
                   AdapterWrapper adapterWrapper = (AdapterWrapper) 
adapters.get(iter.next());
                   try {
  -                    adapterWrapper.start(server.getORB(), localPOA, 
initialContext, tieLoader);
  +                    adapterWrapper.start(server.getORB(), localPOA, 
initialContext, tieLoader, securityPolicy);
                       log.info("Linked container " + 
adapterWrapper.getContainer().getContainerID());
                   } catch (CORBAException e) {
                       log.error("Unable to link container " + 
adapterWrapper.getContainer().getContainerID());
  @@ -248,20 +250,14 @@
   
       public void memberAdded(ReferenceCollectionEvent event) {
           EJBContainer container = (EJBContainer) event.getMember();
  -        ClassLoader cl1 = 
container.getProxyInfo().getHomeInterface().getClassLoader();
  -        ClassLoader cl2 = container.getClassLoader();
  -        if (cl1 != cl2) {
  -            log.info("differeing classloaders! for container: " + 
container.getContainerID() + " home interface: " + cl1 + " container: " + cl2);
  -        } else {
  -            log.info("same classloaders! container: " + 
container.getContainerID());
  -        }
  +
           containerMap.put(container.getContainerID(), container);
   
           if (localPOA != null) {
               try {
                   AdapterWrapper adapterWrapper = new 
AdapterWrapper(container);
   
  -                adapterWrapper.start(server.getORB(), localPOA, 
initialContext, tieLoader);
  +                adapterWrapper.start(server.getORB(), localPOA, 
initialContext, tieLoader, securityPolicy);
                   adapters.put(container.getContainerID(), adapterWrapper);
   
                   log.info("Linked container " + container.getContainerID());
  
  
  

Reply via email to