You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ri...@apache.org on 2008/03/21 14:23:18 UTC

svn commit: r639632 [1/2] - in /geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb: CORBA/ OB/ OBCORBA/ OBPortableServer/ OCI/IIOP/

Author: rickmcguire
Date: Fri Mar 21 06:22:39 2008
New Revision: 639632

URL: http://svn.apache.org/viewvc?rev=639632&view=rev
Log:
YOKO-421 yoko does not resolve initial references with corbaloc: url references.

Also adds a lot more logging information and some coding standards cleanup. 


Modified:
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/Delegate.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/InputStream.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/BootManager_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ClientManager.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CollocatedServer.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CorbalocURLScheme_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Downcall.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/DowncallStub.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPConnectionThreaded.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServer.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarter.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarterThreaded.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/InitialServiceManager.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectFactory.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKey.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKeyData.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ServerManager.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Upcall.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ValueReader.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBCORBA/ORB_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POALocator.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManagerFactory_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManager_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POANameHasher.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAOAInterface_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POA_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Acceptor_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Connector_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Transport_impl.java
    geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Util.java

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/Delegate.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/Delegate.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/Delegate.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/Delegate.java Fri Mar 21 06:22:39 2008
@@ -16,14 +16,18 @@
  */
 
 package org.apache.yoko.orb.CORBA;
+ 
 import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import org.omg.CORBA.INV_POLICY;
+import org.omg.CORBA.LocalObject;
 
 //
 // Delegate is equivalent to OBCORBA::Object in C++
 //
 public final class Delegate extends org.omg.CORBA_2_4.portable.Delegate {
+    static final Logger logger = Logger.getLogger(Delegate.class.getName());
     //
     // The ORBInstance object
     //
@@ -76,10 +80,10 @@
         if (retryTSS_ != null) {
             Thread t = Thread.currentThread();
             RetryInfo info = (RetryInfo) retryTSS_.remove(t);
-            if (info != null)
+            if (info != null) {
                 return info;
+            }
         }
-
         return new RetryInfo();
     }
 
@@ -87,8 +91,9 @@
     // Set retry information for current thread in TSS
     //
     private synchronized void setRetry(RetryInfo info) {
-        if (retryTSS_ == null)
+        if (retryTSS_ == null) {
             retryTSS_ = new java.util.Hashtable(7);
+        }
 
         Thread t = Thread.currentThread();
         retryTSS_.put(t, info);
@@ -130,15 +135,15 @@
         } catch (org.omg.CORBA.TRANSIENT e) {
         } catch (org.omg.CORBA.NO_RESPONSE e) {
         } catch (org.omg.CORBA.SystemException e) {
-            org.apache.yoko.orb.OB.Logger logger = orbInstance_.getLogger();
             logger.log(java.util.logging.Level.FINE, "System exception during operation", ex); 
             if (coreTraceLevels.traceRetry() > 0) {
                 String msg = "retry only upon COMM_FAILURE, TRANSIENT "
                         + "and NO_RESPONSE exceptions";
                 String exMsg = ex.getMessage();
-                if (exMsg != null)
+                if (exMsg != null) {
                     msg += "\n" + exMsg;
-                logger.trace("retry", msg);
+                }
+                logger.fine("retry: " + msg);
             }
             throw ex;
         }
@@ -170,10 +175,10 @@
             if (coreTraceLevels.traceRetry() > 0) {
                 String msg = "retry only upon locally raised exceptions\n";
                 String exMsg = ex.getMessage();
-                if (exMsg != null)
+                if (exMsg != null) {
                     msg += "\n" + exMsg;
-                org.apache.yoko.orb.OB.Logger logger = orbInstance_.getLogger();
-                logger.trace("retry", msg);
+                }
+                logger.fine("retry " + msg);
             }
             throw ex;
         }
@@ -186,10 +191,10 @@
                 String msg = "can't try again, because I "
                         + "tried maximum times already";
                 String exMsg = ex.getMessage();
-                if (exMsg != null)
+                if (exMsg != null) {
                     msg += "\n" + exMsg;
-                org.apache.yoko.orb.OB.Logger logger = orbInstance_.getLogger();
-                logger.trace("retry", msg);
+                }
+                logger.fine("retry " + msg);
             }
             throw ex;
         }
@@ -202,10 +207,10 @@
                 String msg = "can't try again because the "
                         + "RETRY_NEVER policy is set";
                 String exMsg = ex.getMessage();
-                if (exMsg != null)
+                if (exMsg != null) {
                     msg += "\n" + exMsg;
-                org.apache.yoko.orb.OB.Logger logger = orbInstance_.getLogger();
-                logger.trace("retry", msg);
+                }
+                logger.fine("retry " + msg);
             }
             throw ex;
         }
@@ -221,10 +226,10 @@
                         + "RETRY_STRICT policy is set\n"
                         + "and completion status is not " + "COMPLETED_NO";
                 String exMsg = ex.getMessage();
-                if (exMsg != null)
+                if (exMsg != null) {
                     msg += "\n" + exMsg;
-                org.apache.yoko.orb.OB.Logger logger = orbInstance_.getLogger();
-                logger.trace("retry", msg);
+                }
+                logger.fine("retry " + msg);
             }
             throw ex;
         }
@@ -237,8 +242,7 @@
             if (coreTraceLevels.traceRetry() > 0) {
                 String msg = "next attempt in " + policies_.retry.interval
                         + " milliseconds";
-                org.apache.yoko.orb.OB.Logger logger = orbInstance_.getLogger();
-                logger.trace("retry", msg);
+                logger.fine("retry " + msg);
             }
             try {
                 Thread.sleep(policies_.retry.interval);
@@ -252,9 +256,9 @@
         // DirectServant must be explicitly destroyed in order to
         // make it eligible for garbage collection
         //
-        if (directServant_ != null)
+        if (directServant_ != null) {
             directServant_.destroy();
-
+        }
         super.finalize();
     }
 
@@ -273,8 +277,7 @@
                 try {
                     out = request(self, "_interface", true);
                     in = invoke(self, out);
-                    org.omg.CORBA.InterfaceDef def = org.omg.CORBA.InterfaceDefHelper
-                            .read(in);
+                    org.omg.CORBA.InterfaceDef def = org.omg.CORBA.InterfaceDefHelper.read(in);
                     return def;
                 } catch (org.omg.CORBA.portable.ApplicationException ex) {
                     org.apache.yoko.orb.OB.Assert._OB_assert(ex);
@@ -313,8 +316,9 @@
         //
         // Check IDL:omg.org/CORBA/Object:1.0
         //
-        if (repository_id.equals("IDL:omg.org/CORBA/Object:1.0"))
+        if (repository_id.equals("IDL:omg.org/CORBA/Object:1.0")) {
             return true;
+        }
 
         //
         // Check all other ids
@@ -322,17 +326,19 @@
         org.omg.CORBA.portable.ObjectImpl o = (org.omg.CORBA.portable.ObjectImpl) self;
 
         String[] ids = o._ids();
-        for (int i = 0; i < ids.length; i++)
-            if (repository_id.equals(ids[i]))
+        for (int i = 0; i < ids.length; i++) {
+            if (repository_id.equals(ids[i])) {
                 return true;
+            }
+        }
 
         //
         // Check the type_id in the IOR and the original IOR
         //
         synchronized (this) {
-            if (repository_id.equals(IOR_.type_id)
-                    || repository_id.equals(origIOR_.type_id))
+            if (repository_id.equals(IOR_.type_id) || repository_id.equals(origIOR_.type_id)) {
                 return true;
+            }
         }
 
         //
@@ -361,8 +367,9 @@
             } else {
                 org.omg.CORBA.portable.ServantObject so = servant_preinvoke(
                         self, "_is_a", null);
-                if (so == null)
+                if (so == null) {
                     continue;
+                }
                 try {
                     org.omg.PortableServer.Servant servant = (org.omg.PortableServer.Servant) so.servant;
                     return servant._is_a(repository_id);
@@ -390,10 +397,10 @@
                     releaseReply(self, in);
                 }
             } else {
-                org.omg.CORBA.portable.ServantObject so = servant_preinvoke(
-                        self, "_non_existent", null);
-                if (so == null)
+                org.omg.CORBA.portable.ServantObject so = servant_preinvoke(self, "_non_existent", null);
+                if (so == null) {
                     continue;
+                }
                 try {
                     org.omg.PortableServer.Servant servant = (org.omg.PortableServer.Servant) so.servant;
                     return servant._non_existent();
@@ -409,37 +416,38 @@
         //
         // Check for nil reference
         //
-        if (rhs == null)
+        if (rhs == null) {
             return false;
+        }
 
         //
         // Direct object reference comparison
         //
-        if (self == rhs)
+        if (self == rhs) {
             return true;
+        }
 
         //
         // Locality-constrained objects are never equivalent if the
         // reference comparisons fail
         //
-        if (self instanceof org.omg.CORBA.LocalObject
-                || rhs instanceof org.omg.CORBA.LocalObject)
+        if (self instanceof org.omg.CORBA.LocalObject || rhs instanceof org.omg.CORBA.LocalObject) {
             return false;
+        }
 
         //
         // Direct delegate reference comparison
         //
-        Delegate p = (Delegate) ((org.omg.CORBA.portable.ObjectImpl) rhs)
-                ._get_delegate();
-        if (p == this)
+        Delegate p = (Delegate) ((org.omg.CORBA.portable.ObjectImpl) rhs)._get_delegate();
+        if (p == this) {
             return true;
+        }
 
         //
         // Ask the client manager
         //
         synchronized (this) {
-            org.apache.yoko.orb.OB.ClientManager clientManager = orbInstance_
-                    .getClientManager();
+            org.apache.yoko.orb.OB.ClientManager clientManager = orbInstance_.getClientManager();
             return clientManager.equivalent(origIOR_, p._OB_origIOR());
         }
     }
@@ -449,8 +457,7 @@
         // Ask the client manager
         //
         synchronized (this) {
-            org.apache.yoko.orb.OB.ClientManager clientManager = orbInstance_
-                    .getClientManager();
+            org.apache.yoko.orb.OB.ClientManager clientManager = orbInstance_.getClientManager();
             return clientManager.hash(origIOR_, maximum);
         }
     }
@@ -469,8 +476,7 @@
             org.omg.CORBA.NVList arg_list, org.omg.CORBA.NamedValue result,
             org.omg.CORBA.ExceptionList excepts,
             org.omg.CORBA.ContextList contexts) {
-        Request request = new Request(self, operation, arg_list, result,
-                excepts, contexts);
+        Request request = new Request(self, operation, arg_list, result, excepts, contexts);
         request.ctx(ctx);
 
         return request;
@@ -536,16 +542,15 @@
         RetryInfo info = (RetryInfo) obout._OB_delegateContext();
         try {
             org.apache.yoko.orb.OB.DowncallStub downcallStub = _OB_getDowncallStub(self);
-            org.omg.CORBA.portable.InputStream in = downcallStub.invoke(self,
-                    obout);
+            org.omg.CORBA.portable.InputStream in = downcallStub.invoke(self, obout);
             return in;
         } catch (org.omg.CORBA.portable.ApplicationException ex) {
-            org.apache.yoko.orb.OB.Logger logger = orbInstance_.getLogger();
             logger.log(java.util.logging.Level.FINE, "Received ApplicationException for request", ex); 
             throw ex;
         } catch (org.omg.CORBA.portable.RemarshalException ex) {
             // fall through
         } catch (Exception ex) {
+            logger.log(java.util.logging.Level.FINE, "Received unexpected exception for request", ex); 
             _OB_handleException(self, ex, info, false, true);
         }
 
@@ -583,8 +588,8 @@
         // Check for duplicate policy type
         //
         if (np.length > 1) {
-            for (int i = 0; i < np.length - 1; i++)
-                for (int j = i + 1; j < np.length; j++)
+            for (int i = 0; i < np.length - 1; i++) {
+                for (int j = i + 1; j < np.length; j++) {
                     if (np[i].policy_type() == np[j].policy_type()) {
                         throw new org.omg.CORBA.BAD_PARAM(
                                 org.apache.yoko.orb.OB.MinorCodes
@@ -592,6 +597,8 @@
                                 org.apache.yoko.orb.OB.MinorCodes.MinorDuplicatePolicyType,
                                 org.omg.CORBA.CompletionStatus.COMPLETED_NO);
                     }
+                }
+            }
         }
 
         //
@@ -605,24 +612,27 @@
         } else // ADD_OVERRIDE
         {
             java.util.Vector v = new java.util.Vector();
-            for (int i = 0; i < policies_.value.length; i++)
+            for (int i = 0; i < policies_.value.length; i++) {
                 v.addElement(policies_.value[i]);
+            }
 
             for (int i = 0; i < np.length; i++) {
                 int len = v.size();
                 int j;
 
                 for (j = 0; j < len; j++) {
-                    org.omg.CORBA.Policy policy = (org.omg.CORBA.Policy) v
-                            .elementAt(j);
-                    if (policy.policy_type() == np[i].policy_type())
+                    org.omg.CORBA.Policy policy = (org.omg.CORBA.Policy) v.elementAt(j);
+                    if (policy.policy_type() == np[i].policy_type()) {
                         break;
+                    }
                 }
 
-                if (j < len)
+                if (j < len) {
                     v.setElementAt(np[i], j);
-                else
+                }
+                else {
                     v.addElement(np[i]);
+                }
             }
 
             newPolicies = new org.omg.CORBA.Policy[v.size()];
@@ -652,16 +662,16 @@
     public boolean is_local(org.omg.CORBA.Object self) {
         if (checkLocal_) {
             synchronized (directServantMutex_) {
-                if (directServant_ != null && !directServant_.deactivated())
+                if (directServant_ != null && !directServant_.deactivated()) {
                     return true;
+                }
 
                 org.apache.yoko.orb.OBPortableServer.POAManagerFactory pmFactory = orbInstance_
                         .getPOAManagerFactory();
                 org.apache.yoko.orb.OBPortableServer.POAManagerFactory_impl factory = (org.apache.yoko.orb.OBPortableServer.POAManagerFactory_impl) pmFactory;
                 while (true) {
                     try {
-                        directServant_ = factory._OB_getDirectServant(IOR_,
-                                policies_);
+                        directServant_ = factory._OB_getDirectServant(IOR_, policies_);
                         break;
                     } catch (org.apache.yoko.orb.OB.LocationForward ex) {
                         synchronized (this) {
@@ -669,8 +679,9 @@
                             // Change the IOR
                             //
                             IOR_ = ex.ior;
-                            if (ex.perm)
+                            if (ex.perm) {
                                 origIOR_ = ex.ior;
+                            }
 
                             //
                             // Clear the downcall stub
@@ -696,8 +707,9 @@
                     if (directServant_.servant.getClass().getClassLoader() == self
                             .getClass().getClassLoader()) {
                         getRetry();
-                        if (!directServant_.locate_request())
+                        if (!directServant_.locate_request()) {
                             throw new org.omg.CORBA.OBJECT_NOT_EXIST();
+                        }
                         return true;
                     }
                 }
@@ -708,12 +720,12 @@
                 checkLocal_ = false;
             }
         }
-
         return false;
     }
 
     public org.omg.CORBA.portable.ServantObject servant_preinvoke(
-            org.omg.CORBA.Object self, String operation, Class expectedType) {
+            org.omg.CORBA.Object self, String operation, Class expectedType)  
+  {  
         org.omg.CORBA.portable.ServantObject result = null;
 
         org.apache.yoko.orb.OBPortableServer.DirectServant ds = directServant_;
@@ -761,28 +773,27 @@
         //
         if (types.length == 0) {
             org.omg.CORBA.Policy[] all = new org.omg.CORBA.Policy[policies_.value.length];
-            System
-                    .arraycopy(policies_.value, 0, all, 0,
-                            policies_.value.length);
+            System.arraycopy(policies_.value, 0, all, 0, policies_.value.length);
 
             return all;
         }
 
         java.util.Vector policies = new java.util.Vector();
 
-        for (int i = 0; i < types.length; i++)
-            for (int j = 0; j < policies_.value.length; j++)
-                if (policies_.value[j].policy_type() == types[i])
+        for (int i = 0; i < types.length; i++) {
+            for (int j = 0; j < policies_.value.length; j++) {
+                if (policies_.value[j].policy_type() == types[i]) {
                     policies.addElement(policies_.value[j]);
+                }
+            }
+        }
 
-        org.omg.CORBA.Policy[] result = new org.omg.CORBA.Policy[policies
-                .size()];
+        org.omg.CORBA.Policy[] result = new org.omg.CORBA.Policy[policies.size()];
         policies.copyInto(result);
         return result;
     }
 
-    public org.omg.CORBA.Policy get_client_policy(org.omg.CORBA.Object self,
-            int type) {
+    public org.omg.CORBA.Policy get_client_policy(org.omg.CORBA.Object self, int type) {
         //
         // TODO: Implement
         //
@@ -825,8 +836,9 @@
     }
 
     public org.apache.yoko.orb.OCI.TransportInfo get_oci_transport_info() {
-        if (is_local(null))
+        if (is_local(null)) {
             return null;
+        }
 
         RetryInfo info = new RetryInfo();
         while (true) {
@@ -886,10 +898,11 @@
     }
 
     public org.omg.CORBA.Policy _OB_getPolicy(int policy_type) {
-        for (int i = 0; i < policies_.value.length; i++)
-            if (policies_.value[i].policy_type() == policy_type)
+        for (int i = 0; i < policies_.value.length; i++) {
+            if (policies_.value[i].policy_type() == policy_type) {
                 return policies_.value[i];
-
+            }
+        }
         return null;
     }
 
@@ -901,7 +914,6 @@
     void _OB_handleException(org.omg.CORBA.Object self, Exception ex,
             RetryInfo info, boolean ignoreRebind, boolean useTSS) {
         
-        org.apache.yoko.orb.OB.Logger logger = orbInstance_.getLogger();
         try {
             throw ex;
         } catch (org.apache.yoko.orb.OB.LocationForward e) {
@@ -918,7 +930,7 @@
                 if (policies_.rebindMode == org.omg.Messaging.NO_RECONNECT.value
                         && !ignoreRebind) {
                     if (coreTraceLevels.traceRetry() > 0) {
-                        logger.trace("retry", "can't try again, because "
+                        logger.fine("retry: can't try again, because "
                                 + "NO_RECONNECT prevents a transparent "
                                 + "location forward");
                     }
@@ -934,8 +946,7 @@
                 info.hop++;
                 if (info.hop > 10) {
                     if (coreTraceLevels.traceRetry() > 0) {
-                        logger.trace("retry",
-                                "location forward hop count exceeded");
+                        logger.fine("retry: location forward hop count exceeded");
                     }
 
                     throw new org.omg.CORBA.TRANSIENT(
@@ -950,8 +961,9 @@
                 // Change the IOR
                 //
                 IOR_ = e.ior;
-                if (e.perm)
+                if (e.perm) {
                     origIOR_ = e.ior;
+                }
 
                 //
                 // We need to reget the downcall stub
@@ -964,13 +976,13 @@
                 checkLocal_ = true;
 
                 if (coreTraceLevels.traceRetry() > 0) {
-                    logger.trace("retry", "trying again because of location "
-                            + "forward");
+                    logger.fine("retry:  trying again because of location forward");
                 }
             }
 
-            if (useTSS)
+            if (useTSS) {
                 setRetry(info);
+            }
         } catch (org.apache.yoko.orb.OB.FailureException e) {
             info.retry++;
 
@@ -985,13 +997,15 @@
                 String msg = "trying again (" + info.retry
                         + ") because of failure";
                 String exMsg = e.exception.getMessage();
-                if (exMsg != null)
+                if (exMsg != null) {
                     msg += "\n" + exMsg;
-                logger.trace("retry", msg);
+                }
+                logger.fine("retry: " + msg);
             }
 
-            if (useTSS)
+            if (useTSS) {
                 setRetry(info);
+            }
         } catch (org.omg.CORBA.TRANSIENT e) {
             info.retry++;
 
@@ -1006,13 +1020,15 @@
                 String msg = "trying again (" + info.retry
                         + ") because server sent a TRANSIENT " + "exception";
                 String exMsg = e.getMessage();
-                if (exMsg != null)
+                if (exMsg != null) {
                     msg += "\n" + exMsg;
-                logger.trace("retry", msg);
+                }
+                logger.fine("retry: " + msg);
             }
 
-            if (useTSS)
+            if (useTSS) {
                 setRetry(info);
+            }
         } catch (org.omg.CORBA.SystemException e) {
             logger.log(java.util.logging.Level.FINE, "Received SystemException", e); 
             throw e;
@@ -1033,19 +1049,18 @@
             throws org.apache.yoko.orb.OB.LocationForward,
             org.apache.yoko.orb.OB.FailureException {
         if (downcallStub_ == null) {
-            downcallStub_ = new org.apache.yoko.orb.OB.DowncallStub(
-                    orbInstance_, IOR_, origIOR_, policies_);
-            if (!downcallStub_.locate_request())
+            downcallStub_ = new org.apache.yoko.orb.OB.DowncallStub(orbInstance_, IOR_, origIOR_, policies_);
+            if (!downcallStub_.locate_request()) {
                 throw new org.omg.CORBA.OBJECT_NOT_EXIST();
+            }
         }
-
         return downcallStub_;
     }
 
     public synchronized void _OB_closeConnection(boolean terminate) {
-        if (downcallStub_ == null)
+        if (downcallStub_ == null) {
             return;
-
+        }
         downcallStub_._OB_closeConnection(terminate);
         downcallStub_ = null;
     }

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/InputStream.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/InputStream.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/InputStream.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/CORBA/InputStream.java Fri Mar 21 06:22:39 2008
@@ -26,6 +26,7 @@
 
 final public class InputStream extends org.omg.CORBA_2_3.portable.InputStream {
     static final Logger logger = Logger.getLogger(InputStream.class.getName());
+    
     org.apache.yoko.orb.OB.ORBInstance orbInstance_;
 
     public org.apache.yoko.orb.OCI.Buffer buf_;

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/BootManager_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/BootManager_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/BootManager_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/BootManager_impl.java Fri Mar 21 06:22:39 2008
@@ -16,12 +16,18 @@
  */
 
 package org.apache.yoko.orb.OB;
+ 
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import org.apache.yoko.orb.OB.BootLocator;
 import org.apache.yoko.orb.OB.BootManager;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.ORBPackage.InvalidName;
 
 final public class BootManager_impl extends org.omg.CORBA.LocalObject implements
         BootManager {
+    static final Logger logger = Logger.getLogger(BootManager_impl.class.getName());
     //
     // Set of known bindings
     //
@@ -32,9 +38,13 @@
     // since assign and read methods are atomic in Java.
     //
     private BootLocator locator_ = null;
+    
+    // the ORB that created us 
+    private ORB orb_; 
 
-    public BootManager_impl() {
+    public BootManager_impl(ORB orb) {
         bindings_ = new java.util.Hashtable(17);
+        orb_ = orb; 
     }
 
     // ------------------------------------------------------------------
@@ -44,6 +54,9 @@
     public void add_binding(byte[] id, org.omg.CORBA.Object obj)
             throws org.apache.yoko.orb.OB.BootManagerPackage.AlreadyExists {
         ObjectIdHasher oid = new ObjectIdHasher(id);
+        if (logger.isLoggable(Level.FINE)) {
+            logger.fine("Adding binding under id " + IORUtil.dump_octets(id)); 
+        }
 
         //
         // If binding id is not already mapped add the binding.
@@ -59,6 +72,9 @@
     public void remove_binding(byte[] id)
             throws org.apache.yoko.orb.OB.BootManagerPackage.NotFound {
         ObjectIdHasher oid = new ObjectIdHasher(id);
+        if (logger.isLoggable(Level.FINE)) {
+            logger.fine("Removing binding with id " + IORUtil.dump_octets(id)); 
+        }
 
         //
         // If binding id is mapped remove the binding
@@ -87,22 +103,41 @@
         // binding for the requested ObjectId.
         //
         ObjectIdHasher oid = new ObjectIdHasher(id);
+        
+        if (logger.isLoggable(Level.FINE)) {
+            logger.fine("Searching for binding with id " + IORUtil.dump_octets(id)); 
+        }
         org.omg.CORBA.Object obj = (org.omg.CORBA.Object) bindings_.get(oid);
         if (obj == null && locator_ != null) {
+            logger.fine("Object not found, passing on to locator");
             try {
                 org.omg.CORBA.ObjectHolder objHolder = new org.omg.CORBA.ObjectHolder();
                 org.omg.CORBA.BooleanHolder addHolder = new org.omg.CORBA.BooleanHolder();
                 locator_.locate(id, objHolder, addHolder);
 
                 obj = objHolder.value;
-                if (addHolder.value)
+                if (addHolder.value) {
                     bindings_.put(oid, obj);
+                }
             } catch (org.apache.yoko.orb.OB.BootManagerPackage.NotFound ex) {
             }
         }
 
-        if (obj == null)
-            return null;
+        if (obj == null) {
+            // these should map to initial references as well when used as a corbaloc name.
+            // convert the key to a string and try for one of those 
+            String keyString = new String(id); 
+            try {
+                obj = orb_.resolve_initial_references(keyString); 
+            } catch (org.omg.CORBA.ORBPackage.InvalidName ex) {
+                // if this is not valid, it won't work 
+                return null; 
+            }
+            // just return null if still not there 
+            if (obj == null) {
+                return null;
+            }
+        }
 
         org.apache.yoko.orb.CORBA.Delegate p = (org.apache.yoko.orb.CORBA.Delegate) (((org.omg.CORBA.portable.ObjectImpl) obj)
                 ._get_delegate());

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ClientManager.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ClientManager.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ClientManager.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ClientManager.java Fri Mar 21 06:22:39 2008
@@ -16,6 +16,9 @@
  */
 
 package org.apache.yoko.orb.OB;
+ 
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import org.apache.yoko.orb.OB.CONNECTION_REUSE_POLICY_ID;
 import org.apache.yoko.orb.OB.ConnectionReusePolicy;
@@ -23,8 +26,10 @@
 import org.apache.yoko.orb.OB.PROTOCOL_POLICY_ID;
 import org.apache.yoko.orb.OB.ProtocolPolicy;
 import org.apache.yoko.orb.OB.ProtocolPolicyHelper;
+import org.omg.PortableServer.POAManagerPackage.State;
 
 public final class ClientManager {
+    static final Logger logger = Logger.getLogger(ClientManager.class.getName());
     private boolean destroy_; // True if destroy() was called
 
     //
@@ -67,8 +72,9 @@
         //
         // Don't destroy twice
         //
-        if (destroy_)
+        if (destroy_) {
             return;
+        }
 
         //
         // Set the destroy flag
@@ -115,18 +121,21 @@
         //
         // Can't create a Client for a nil object
         //
-        if (ior.type_id.length() == 0 && ior.profiles.length == 0)
+        if (ior.type_id.length() == 0 && ior.profiles.length == 0) {
             throw new org.omg.CORBA.INV_OBJREF("Object reference is nil");
+        }
 
         //
         // The ORB destroys this object, so it's an initialization error
         // if this operation is called after ORB destruction
         //
-        if (destroy_)
+        if (destroy_) {
             throw new org.omg.CORBA.INITIALIZE(org.apache.yoko.orb.OB.MinorCodes
                     .describeInitialize(org.apache.yoko.orb.OB.MinorCodes.MinorORBDestroyed),
                     org.apache.yoko.orb.OB.MinorCodes.MinorORBDestroyed,
                     org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+        }
+            
 
         //
         // Find out whether private clients are requested
@@ -134,10 +143,10 @@
         boolean privateClients = false;
         for (int i = 0; i < policies.length; i++) {
             if (policies[i].policy_type() == CONNECTION_REUSE_POLICY_ID.value) {
-                ConnectionReusePolicy p = ConnectionReusePolicyHelper
-                        .narrow(policies[i]);
-                if (p.value() == false)
+                ConnectionReusePolicy p = ConnectionReusePolicyHelper.narrow(policies[i]);
+                if (p.value() == false) {
                     privateClients = true;
+                }
                 break;
             }
         }
@@ -161,8 +170,9 @@
             if (policies[i].policy_type() == org.omg.BiDirPolicy.BIDIRECTIONAL_POLICY_TYPE.value) {
                 org.omg.BiDirPolicy.BidirectionalPolicy p = org.omg.BiDirPolicy.BidirectionalPolicyHelper
                         .narrow(policies[i]);
-                if (p.value() == org.omg.BiDirPolicy.BOTH.value)
+                if (p.value() == org.omg.BiDirPolicy.BOTH.value) {
                     enableBidir = true;
+                }
             }
         }
 
@@ -171,8 +181,7 @@
         //
         // First try to create CollocatedClients
         //
-        org.apache.yoko.orb.OBPortableServer.POAManagerFactory pmFactory = orbInstance_
-                .getPOAManagerFactory();
+        org.apache.yoko.orb.OBPortableServer.POAManagerFactory pmFactory = orbInstance_.getPOAManagerFactory();
         org.omg.PortableServer.POAManager[] managers = pmFactory.list();
 
         for (int i = 0; i < managers.length; i++) {
@@ -182,19 +191,20 @@
 
                 boolean local = false;
                 for (int j = 0; j < acceptors.length && !local; j++) {
-                    org.apache.yoko.orb.OCI.ProfileInfo[] localProfileInfos = acceptors[j]
-                            .get_local_profiles(ior);
-                    if (localProfileInfos.length > 0)
+                    org.apache.yoko.orb.OCI.ProfileInfo[] localProfileInfos = acceptors[j].get_local_profiles(ior);
+                    if (localProfileInfos.length > 0) {
                         local = true;
+                    }
                 }
 
-                if (local) {
+                // we can get into hang situations if we return a collocated server for an 
+                // inactive POA.  This can happen with the RootPOA, which is generally not activated. 
+                if (local && managers[i].get_state() == State.ACTIVE) {
                     //
                     // Retrieve the CollocatedServer from the POAManager
                     //
                     org.apache.yoko.orb.OBPortableServer.POAManager_impl manager = (org.apache.yoko.orb.OBPortableServer.POAManager_impl) managers[i];
-                    CollocatedServer collocatedServer = manager
-                            ._OB_getCollocatedServer();
+                    CollocatedServer collocatedServer = manager._OB_getCollocatedServer();
 
                     //
                     // Create a new CollocatedClient and add the new client to
@@ -202,12 +212,10 @@
                     // that is returned
                     //
                     CodeConverters conv = new CodeConverters();
-                    Client client = new CollocatedClient(collocatedServer,
-                            concModel_, conv);
+                    Client client = new CollocatedClient(collocatedServer, concModel_, conv);
                     allClients_.addElement(client);
 
-                    org.apache.yoko.orb.OCI.ProfileInfo[] profileInfos = client
-                            .getUsableProfiles(ior, policies);
+                    org.apache.yoko.orb.OCI.ProfileInfo[] profileInfos = client.getUsableProfiles(ior, policies);
                     for (int j = 0; j < profileInfos.length; j++) {
                         ClientProfilePair pair = new ClientProfilePair();
                         pair.client = client;
@@ -237,11 +245,12 @@
                 // protocol list
                 //
                 if (protocolPolicy != null) {
-                    org.apache.yoko.orb.OCI.ConnectorInfo info = reusableClient
-                            .connectorInfo();
-                    if (info != null)
-                        if (!protocolPolicy.contains(info.id()))
+                    org.apache.yoko.orb.OCI.ConnectorInfo info = reusableClient.connectorInfo();
+                    if (info != null) {
+                        if (!protocolPolicy.contains(info.id())) {
                             continue;
+                        }
+                    }
                 }
 
                 org.apache.yoko.orb.OCI.ProfileInfo[] profileInfos = reusableClient
@@ -271,14 +280,16 @@
                 // protocol list
                 //
                 if (protocolPolicy != null)
-                    if (!protocolPolicy.contains(connectors[j].id()))
+                {
+                    if (!protocolPolicy.contains(connectors[j].id())) {
                         continue;
+                    }
+                }
 
                 //
                 // Get all usable profiles
                 //
-                org.apache.yoko.orb.OCI.ProfileInfo[] profileInfos = connectors[j]
-                        .get_usable_profiles(ior, policies);
+                org.apache.yoko.orb.OCI.ProfileInfo[] profileInfos = connectors[j].get_usable_profiles(ior, policies);
                 Assert._OB_assert(profileInfos.length >= 1);
 
                 //
@@ -298,10 +309,10 @@
                         int l;
 
                         for (l = 0; l < pairs.size(); l++) {
-                            ClientProfilePair pair = (ClientProfilePair) pairs
-                                    .elementAt(l);
-                            if (pair.client.equal(client))
+                            ClientProfilePair pair = (ClientProfilePair) pairs.elementAt(l);
+                            if (pair.client.equal(client)) {
                                 break;
+                            }
                         }
 
                         if (l != pairs.size()) {
@@ -331,8 +342,9 @@
                     // If no private clients have been requested, also add the
                     // client to the list of existing reusable clients
                     //
-                    if (!privateClients)
+                    if (!privateClients) {
                         reusableClients_.addElement(client);
+                    }
                 }
             }
         }
@@ -354,10 +366,10 @@
             //
             for (int i = 0; i < pairs.size(); i++) {
                 ClientProfilePair pair = (ClientProfilePair) pairs.elementAt(i);
-                org.apache.yoko.orb.OCI.ConnectorInfo info = pair.client
-                        .connectorInfo();
-                if (info == null)
+                org.apache.yoko.orb.OCI.ConnectorInfo info = pair.client.connectorInfo();
+                if (info == null) {
                     newPairs.addElement(pair);
+                }
             }
 
             //
@@ -365,13 +377,13 @@
             //
             for (int i = 0; i < protocols.length; i++) {
                 for (int j = 0; j < pairs.size(); j++) {
-                    ClientProfilePair pair = (ClientProfilePair) pairs
-                            .elementAt(j);
-                    org.apache.yoko.orb.OCI.ConnectorInfo info = pair.client
-                            .connectorInfo();
-                    if (info != null)
-                        if (protocols[i].equals(info.id()))
+                    ClientProfilePair pair = (ClientProfilePair) pairs.elementAt(j);
+                    org.apache.yoko.orb.OCI.ConnectorInfo info = pair.client.connectorInfo();
+                    if (info != null) {
+                        if (protocols[i].equals(info.id())) {
                             newPairs.addElement(pair);
+                        }
+                    }
                 }
             }
 
@@ -382,12 +394,13 @@
         // If we still don't have any client/profile pairs, throw a
         // TRANSIENT exception
         //
-        if (pairs.isEmpty())
+        if (pairs.isEmpty()) {
             throw new org.omg.CORBA.TRANSIENT(org.apache.yoko.orb.OB.MinorCodes
                     .describeTransient(org.apache.yoko.orb.OB.MinorCodes.MinorNoUsableProfileInIOR)
                     + "Unable to create client",
                     org.apache.yoko.orb.OB.MinorCodes.MinorNoUsableProfileInIOR,
                     org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+        }
 
         //
         // Increment the usage count on all clients
@@ -396,7 +409,6 @@
             ClientProfilePair pair = (ClientProfilePair) pairs.elementAt(i);
             pair.client.incUsage();
         }
-
         return pairs;
     }
 
@@ -405,8 +417,9 @@
         // The ORB destroys this object, so it's an initialization error
         // if this operation is called after ORB destruction
         //
-        if (destroy_)
+        if (destroy_) {
             return;
+        }
 
         //
         // TODO:
@@ -453,10 +466,11 @@
 
         org.apache.yoko.orb.OCI.ConFactory[] factories = conFactoryRegistry
                 .get_factories();
-        for (int i = 0; i < factories.length; i++)
-            if (!factories[i].equivalent(ior1, ior2))
+        for (int i = 0; i < factories.length; i++) {
+            if (!factories[i].equivalent(ior1, ior2)) {
                 return false;
-
+            }
+        }
         return true;
     }
 
@@ -464,12 +478,11 @@
         org.apache.yoko.orb.OCI.ConFactoryRegistry conFactoryRegistry = orbInstance_
                 .getConFactoryRegistry();
 
-        org.apache.yoko.orb.OCI.ConFactory[] factories = conFactoryRegistry
-                .get_factories();
+        org.apache.yoko.orb.OCI.ConFactory[] factories = conFactoryRegistry.get_factories();
         int hash = 0;
-        for (int i = 0; i < factories.length; i++)
+        for (int i = 0; i < factories.length; i++) {
             hash ^= factories[i].hash(ior, maximum);
-
+        }
         return hash % (maximum + 1);
     }
 }

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CollocatedServer.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CollocatedServer.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CollocatedServer.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CollocatedServer.java Fri Mar 21 06:22:39 2008
@@ -17,7 +17,11 @@
 
 package org.apache.yoko.orb.OB;
 
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 final public class CollocatedServer extends Server implements UpcallReturn {
+    static final Logger logger = Logger.getLogger(CollocatedServer.class.getName());
     //
     // The next request ID and the corresponding mutex
     //
@@ -106,6 +110,7 @@
     //
     public synchronized void hold() {
         Assert._OB_assert(!destroy_);
+        logger.fine("Collocated server placed in hold state"); 
         hold_ = true;
 
         //
@@ -119,6 +124,7 @@
     //
     public synchronized void activate() {
         Assert._OB_assert(!destroy_);
+        logger.fine("Collocated server activated"); 
         hold_ = false;
 
         //
@@ -131,6 +137,7 @@
     // Called to emit downcalls
     //
     public boolean send(Downcall down, boolean b) {
+        logger.fine("Sending a request"); 
         //
         // We need a state monitor if the request is dispatched in a
         // separate thread.
@@ -149,6 +156,7 @@
             //
             while (hold_ && !destroy_) {
                 try {
+                    logger.fine("Waiting for hold to be released"); 
                     wait();
                 } catch (InterruptedException ex) {
                 }
@@ -164,8 +172,7 @@
             //
             // Collect the Upcall data
             //
-            org.apache.yoko.orb.OCI.ProfileInfo profileInfo = down
-                    .profileInfo();
+            org.apache.yoko.orb.OCI.ProfileInfo profileInfo = down.profileInfo();
             int reqId = down.requestId();
             String op = down.operation();
             org.apache.yoko.orb.CORBA.OutputStream out = down.output();
@@ -247,6 +254,7 @@
     }
 
     public boolean receive(Downcall down, boolean block) {
+        logger.fine("Receiving a request"); 
         //
         // Try to receive the reply
         //

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CorbalocURLScheme_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CorbalocURLScheme_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CorbalocURLScheme_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/CorbalocURLScheme_impl.java Fri Mar 21 06:22:39 2008
@@ -35,14 +35,14 @@
 
         for (int i = 0; i < result.length; i++) {
             char ch = keyStr.charAt(i);
-            if (ch > 255)
+            if (ch > 255) {
                 throw new org.omg.CORBA.BAD_PARAM(
                         MinorCodes
                                 .describeBadParam(org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart)
                                 + ": invalid character in key",
                         org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart,
                         org.omg.CORBA.CompletionStatus.COMPLETED_NO);
-
+            }
             result[i] = (byte) ch;
         }
 
@@ -56,24 +56,25 @@
         //
         if (str.substring(startIdx, startIdx + 4).equals("rir:")) {
             int comma = str.indexOf(',', startIdx);
-            if (comma != -1 && comma <= endIdx)
+            if (comma != -1 && comma <= endIdx) {
                 throw new org.omg.CORBA.BAD_PARAM(
                         MinorCodes
                                 .describeBadParam(org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart)
                                 + ": rir cannot be used with other protocols",
                         org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart,
                         org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+            }
 
-            if (startIdx + 3 != endIdx)
+            if (startIdx + 3 != endIdx) {
                 throw new org.omg.CORBA.BAD_PARAM(org.apache.yoko.orb.OB.MinorCodes
                         .describeBadParam(org.apache.yoko.orb.OB.MinorCodes.MinorBadAddress)
                         + ": rir does not allow an address",
                         org.apache.yoko.orb.OB.MinorCodes.MinorBadAddress,
                         org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+            }
 
             try {
-                InitialServiceManager initialServiceManager = orbInstance_
-                        .getInitialServiceManager();
+                InitialServiceManager initialServiceManager = orbInstance_.getInitialServiceManager();
                 return initialServiceManager.resolveInitialReferences(keyStr);
             } catch (org.omg.CORBA.ORBPackage.InvalidName ex) {
                 throw new org.omg.CORBA.BAD_PARAM(
@@ -102,31 +103,36 @@
             //
             String protocol;
             int colon = str.indexOf(':', pos);
-            if (colon == -1)
+            if (colon == -1) {
                 throw new org.omg.CORBA.BAD_PARAM(
                         MinorCodes
                                 .describeBadParam(org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart)
                                 + ": no protocol",
                         org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart,
                         org.omg.CORBA.CompletionStatus.COMPLETED_NO);
-            else if (colon > endIdx)
+            }
+            else if (colon > endIdx) {
                 break;
-            if (colon == pos) // ":" is shorthand for "iiop:"
+            }
+            if (colon == pos) {// ":" is shorthand for "iiop:"
                 protocol = "iiop";
-            else
+            }
+            else {
                 protocol = str.substring(pos, colon).toLowerCase();
+            }
             pos = colon;
 
             //
             // Check for rir (again)
             //
-            if (protocol.equals("rir"))
+            if (protocol.equals("rir")) {
                 throw new org.omg.CORBA.BAD_PARAM(
                         MinorCodes
                                 .describeBadParam(org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart)
                                 + ": rir cannot be used with other protocols",
                         org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart,
                         org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+            }
 
             //
             // Get the protocol address
@@ -159,12 +165,13 @@
             }
         }
 
-        if (profiles.size() == 0)
+        if (profiles.size() == 0) {
             throw new org.omg.CORBA.BAD_PARAM(org.apache.yoko.orb.OB.MinorCodes
                     .describeBadParam(org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart)
                     + ": no valid protocol addresses",
                     org.apache.yoko.orb.OB.MinorCodes.MinorBadSchemeSpecificPart,
                     org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+        }
 
         org.omg.IOP.IOR ior = new org.omg.IOP.IOR();
         ior.type_id = "";
@@ -201,19 +208,21 @@
         // Although an object key is optional according to the specification,
         // we consider this to be an invalid URL
         //
-        if (slash == -1)
+        if (slash == -1) {
             throw new org.omg.CORBA.BAD_PARAM(org.apache.yoko.orb.OB.MinorCodes
                     .describeBadParam(org.apache.yoko.orb.OB.MinorCodes.MinorOther)
                     + ": no key specified", org.apache.yoko.orb.OB.MinorCodes.MinorOther,
                     org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+        }
 
         int addrStart = 9; // skip "corbaloc:"
         int addrEnd = slash - 1;
-        if (addrStart == slash)
+        if (addrStart == slash) {
             throw new org.omg.CORBA.BAD_PARAM(org.apache.yoko.orb.OB.MinorCodes
                     .describeBadParam(org.apache.yoko.orb.OB.MinorCodes.MinorBadAddress)
                     + ": no protocol address", org.apache.yoko.orb.OB.MinorCodes.MinorBadAddress,
                     org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+        }
 
         String key = url.substring(slash + 1);
         return parse_addresses(url, addrStart, addrEnd, key);
@@ -232,9 +241,9 @@
     public void add_protocol(CorbalocProtocol protocol)
             throws org.apache.yoko.orb.OB.CorbalocURLSchemePackage.ProtocolAlreadyExists {
         String name = protocol.name();
-        if (protocols_.containsKey(name))
+        if (protocols_.containsKey(name)) {
             throw new org.apache.yoko.orb.OB.CorbalocURLSchemePackage.ProtocolAlreadyExists();
-
+        }
         protocols_.put(name, protocol);
     }
 

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Downcall.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Downcall.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Downcall.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Downcall.java Fri Mar 21 06:22:39 2008
@@ -17,6 +17,8 @@
 
 package org.apache.yoko.orb.OB;
 
+import java.util.logging.Level;
+
 public class Downcall {
     //
     // The ORBInstance object

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/DowncallStub.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/DowncallStub.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/DowncallStub.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/DowncallStub.java Fri Mar 21 06:22:39 2008
@@ -16,6 +16,9 @@
  */
 
 package org.apache.yoko.orb.OB;
+ 
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import org.apache.yoko.orb.OB.RETRY_ALWAYS;
 
@@ -23,13 +26,12 @@
 // DowncallStub is equivalent to the C++ class OB::MarshalStubImpl
 //
 public final class DowncallStub {
+    static final Logger logger = Logger.getLogger(DowncallStub.class.getName());
     //
     // The ORBInstance object
     //
     private ORBInstance orbInstance_;
     
-    protected Logger logger_;   // the orbInstance_ logger object 
-
     //
     // The IOR and the original IOR
     //
@@ -72,8 +74,7 @@
             // Get all clients that can be used
             //
             ClientManager clientManager = orbInstance_.getClientManager();
-            clientProfilePairs_ = clientManager.getClientProfilePairs(IOR_,
-                    policies_.value);
+            clientProfilePairs_ = clientManager.getClientProfilePairs(IOR_, policies_.value);
         }
 
         //
@@ -83,7 +84,7 @@
         if (clientProfilePairs_.isEmpty()) {
             CoreTraceLevels coreTraceLevels = orbInstance_.getCoreTraceLevels();
             if (coreTraceLevels.traceRetry() >= 2) {
-                logger_.trace("retry", "no profiles available");
+                logger.fine("retry: no profiles available");
             }
 
             throw new FailureException(new org.omg.CORBA.TRANSIENT(org.apache.yoko.orb.OB.MinorCodes
@@ -92,8 +93,7 @@
                     org.omg.CORBA.CompletionStatus.COMPLETED_NO));
         }
 
-        ClientProfilePair clientProfilePair = (ClientProfilePair) clientProfilePairs_
-                .elementAt(0);
+        ClientProfilePair clientProfilePair = (ClientProfilePair) clientProfilePairs_.elementAt(0);
         profileInfo.value = clientProfilePair.profile;
         return clientProfilePair.client;
     }
@@ -133,9 +133,6 @@
         // Save the ORBInstance object
         //
         orbInstance_ = orbInstance;
-        // and get the logger from the instance 
-        logger_ = orbInstance_.getLogger(); 
-
         //
         // Save the IOR
         //
@@ -157,17 +154,16 @@
         Client client = getClientProfilePair(profile);
         Assert._OB_assert(client != null);
 
-        if (!policies_.interceptor)
-            return new Downcall(orbInstance_, client, profile.value, policies_,
-                    op, resp);
+        if (!policies_.interceptor) {
+            return new Downcall(orbInstance_, client, profile.value, policies_, op, resp);
+        }
 
         PIManager piManager = orbInstance_.getPIManager();
         if (piManager.haveClientInterceptors()) {
             return new PIDowncall(orbInstance_, client, profile.value,
                     policies_, op, resp, IOR_, origIOR_, piManager);
         } else {
-            return new Downcall(orbInstance_, client, profile.value, policies_,
-                    op, resp);
+            return new Downcall(orbInstance_, client, profile.value, policies_, op, resp);
         }
     }
 
@@ -179,8 +175,7 @@
         //
         // A LocateRequest is not seen by the interceptors
         //
-        return new Downcall(orbInstance_, client, profile.value, policies_,
-                "_locate", true);
+        return new Downcall(orbInstance_, client, profile.value, policies_, "_locate", true);
     }
 
     public Downcall createPIArgsDowncall(String op, boolean resp,
@@ -376,21 +371,15 @@
         // completion status is not COMPLETED_NO
         //
         if (policies_.retry.mode != RETRY_ALWAYS.value
-                && ex.exception.completed != org.omg.CORBA.CompletionStatus.COMPLETED_NO)
+                && ex.exception.completed != org.omg.CORBA.CompletionStatus.COMPLETED_NO) {
             throw ex;
+        }
 
         //
         // If no client/profile pairs are left, we cannot retry either
         //
         if (clientProfilePairs_.isEmpty()) {
-            CoreTraceLevels coreTraceLevels = orbInstance_.getCoreTraceLevels();
-            if (coreTraceLevels.traceRetry() >= 2) {
-                String msg = "retry:  no profiles left to try\n"
-                        + ex.exception.getMessage();
-
-                logger_.debug(msg, ex.exception);
-            }
-
+            logger.log(Level.FINE, "no profiles left to try", ex.exception);
             throw ex;
         }
 
@@ -398,14 +387,11 @@
         // OK, let's continue with the next profile
         //
         CoreTraceLevels coreTraceLevels = orbInstance_.getCoreTraceLevels();
-        if (coreTraceLevels.traceRetry() >= 2) {
-            String msg = "trying next profile\n" + ex.exception.getMessage();
-
-            logger_.trace("retry", msg);
-        }
+        logger.log(Level.FINE, "trying next profile", ex.exception);
     }
 
     public boolean locate_request() throws LocationForward, FailureException {
+        logger.fine("performing a locate_request"); 
         while (true) {
             org.apache.yoko.orb.OB.Downcall down = createLocateRequestDowncall();
 
@@ -420,16 +406,21 @@
                     //
                     // If the LocateRequest policy is false, then return now
                     //
-                    if (!policies_.locateRequest)
+                    if (!policies_.locateRequest) {
+                        logger.fine("LocateRequest policy is false, returning true"); 
                         return true;
+                    }
 
                     //
                     // If the client doesn't support twoway invocations,
                     // then silently pretend the locate request succeeded
                     //
-                    if (!client.twoway())
+                    if (!client.twoway()) {
+                        logger.fine("Twoway invocations not supported, returning true"); 
                         return true;
+                    }
                 } catch (org.omg.CORBA.SystemException ex) {
+                    logger.log(Level.FINE, "Exception occurred during locate request", ex); 
                     throw new FailureException(ex);
                 }
 
@@ -438,10 +429,13 @@
                 locate(down);
                 preUnmarshal(down);
                 postUnmarshal(down);
+                logger.fine("Object located"); 
                 return true;
             } catch (org.omg.CORBA.OBJECT_NOT_EXIST ex) {
+                logger.log(Level.FINE, "Object does not exist", ex); 
                 return false;
             } catch (FailureException ex) {
+                logger.log(Level.FINE, "Object lookup failure", ex); 
                 handleFailureException(down, ex);
             }
         }
@@ -614,8 +608,9 @@
         //
         // If the DowncallStub has changed, then remarshal
         //
-        if (ctx.downcallStub != this)
+        if (ctx.downcallStub != this) {
             throw new org.omg.CORBA.portable.RemarshalException();
+        }
 
         Downcall down = ctx.downcall;
 
@@ -627,10 +622,12 @@
             down.postMarshal();
 
             boolean response = down.responseExpected();
-            if (response)
+            if (response) {
                 down.request();
-            else
+            }
+            else {
                 down.oneway();
+            }
 
             if (response) {
                 org.apache.yoko.orb.CORBA.InputStream in = down.preUnmarshal();
@@ -1002,15 +999,15 @@
         //
         // Align to an 8 byte boundary if we have something left
         //
-        if (buf.rest_length() > 0)
+        if (buf.rest_length() > 0) {
             buf.pos((buf.pos() + 7) & ~7);
+        }
 
         //
         // Copy in the rest of the message body
         //
         messageBody.body = new byte[buf.rest_length()];
-        System.arraycopy(buf.data_, buf.pos(), messageBody.body, 0, buf
-                .rest_length());
+        System.arraycopy(buf.data_, buf.pos(), messageBody.body, 0, buf.rest_length());
         requestMessage.body = messageBody;
 
         //
@@ -1034,10 +1031,9 @@
             //
             int curLength = requestInfo.to_visit.length;
             org.omg.MessageRouting.Router[] toVisit = new org.omg.MessageRouting.Router[curLength + 1];
-            if (curLength > 0)
-                System
-                        .arraycopy(requestInfo.to_visit, 0, toVisit, 1,
-                                curLength);
+            if (curLength > 0) {
+                System.arraycopy(requestInfo.to_visit, 0, toVisit, 1, curLength);
+            }
             toVisit[0] = curRouter;
             requestInfo.to_visit = toVisit;
 
@@ -1049,7 +1045,7 @@
                 //
                 delivered = true;
             } catch (org.omg.CORBA.SystemException ex) {
-                orbInstance_.getLogger().warning("Failed to contact router: " + ex.getMessage(), ex); 
+                logger.log(Level.FINE, "Failed to contact router: " + ex.getMessage(), ex); 
                 //
                 // Failure: try the next router in the list
                 //

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPConnectionThreaded.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPConnectionThreaded.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPConnectionThreaded.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPConnectionThreaded.java Fri Mar 21 06:22:39 2008
@@ -17,7 +17,11 @@
 
 package org.apache.yoko.orb.OB;
 
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 public final class GIOPConnectionThreaded extends GIOPConnection {
+    static final Logger logger = Logger.getLogger(GIOPConnectionThreaded.class.getName());
     // ----------------------------------------------------------------
     // Inner helper classes
     // ----------------------------------------------------------------
@@ -391,6 +395,8 @@
     // called from a receiver thread to perform a reception
     //
     public void execReceive() {
+        
+        logger.fine("Receiving incoming message " + this); 
         GIOPIncomingMessage inMsg = new GIOPIncomingMessage(orbInstance_);
         org.apache.yoko.orb.OCI.Buffer buf = null;
 
@@ -405,6 +411,7 @@
             // Receive header, blocking, detect connection loss
             //
             try {
+                logger.fine("Reading message header"); 
                 transport_.receive(buf, true);
                 Assert._OB_assert(buf.is_full());
             } catch (org.omg.CORBA.SystemException ex) {
@@ -417,6 +424,7 @@
             //
             try {
                 inMsg.extractHeader(buf);
+                logger.fine("Header received for message of size " + inMsg.size()); 
                 buf.realloc(12 + inMsg.size());
             } catch (org.omg.CORBA.SystemException ex) {
                 processException(State.Error, ex, false);
@@ -428,12 +436,14 @@
                 // Receive body, blocking
                 //
                 try {
+                    logger.fine("Receiving message body of size " + inMsg.size()); 
                     transport_.receive(buf, true);
                     Assert._OB_assert(buf.is_full());
                 } catch (org.omg.CORBA.SystemException ex) {
                     processException(State.Closed, ex, false);
                     break;
                 }
+                logger.fine("Message body received "); 
             }
 
             //
@@ -464,8 +474,9 @@
             try {
                 org.apache.yoko.orb.OCI.Buffer bufCopy = buf;
                 buf = null;
-                if (inMsg.consumeBuffer(bufCopy) == true)
+                if (inMsg.consumeBuffer(bufCopy) == true) {
                     upcall = processMessage(inMsg);
+                }
             } catch (org.omg.CORBA.SystemException ex) {
                 processException(State.Error, ex, false);
                 break;
@@ -476,6 +487,7 @@
             // a fragment or error, so we can proceed to invoke it
             // 
             if (upcall != null) {
+                logger.fine("Processing message using upcall " + upcall.getClass().getName()); 
                 // 
                 // in the BiDir case, this upcall could result in a
                 // nested call back and forth. This requires a new
@@ -543,9 +555,10 @@
     // client-side send method (from DowncallEmitter)
     //
     public boolean send(Downcall down, boolean block) {
-        Assert
-                ._OB_assert(transport_.mode() != org.apache.yoko.orb.OCI.SendReceiveMode.ReceiveOnly);
+        Assert._OB_assert(transport_.mode() != org.apache.yoko.orb.OCI.SendReceiveMode.ReceiveOnly);
         Assert._OB_assert(down.unsent() == true);
+        
+        logger.fine("Sending a request with Downcall of type " + down.getClass().getName()); 
 
         //
         // if we send off a message in the loop, this var might help us
@@ -566,8 +579,9 @@
             //
             // make the downcall thread-safe
             //
-            if (down.responseExpected())
+            if (down.responseExpected()) {
                 down.initStateMonitor();
+            }
 
             // 
             // buffer the request
@@ -577,8 +591,9 @@
             //
             // check the sent status while we're locked
             //
-            if ((properties_ & Property.RequestSent) != 0)
+            if ((properties_ & Property.RequestSent) != 0) {
                 msgSentMarked = true;
+            }
         }
 
         //
@@ -631,8 +646,9 @@
                             // 
                             // Timeout?
                             // 
-                            if (!buf.is_full())
+                            if (!buf.is_full()) {
                                 throw new org.omg.CORBA.NO_RESPONSE();
+                            }
                         }
                     }
                 } catch (org.omg.CORBA.SystemException ex) {
@@ -703,6 +719,7 @@
             }
         }
 
+        logger.fine(" Request send completed with Downcall of type " + down.getClass().getName()); 
         return !down.responseExpected();
     }
 
@@ -710,11 +727,14 @@
     // client-side receive method (from DowncallEmitter)
     //
     public boolean receive(Downcall down, boolean block) {
+        logger.fine("Receiving response with Downcall of type " + down.getClass().getName()); 
         //
         // Try to receive the reply
         //
         try {
-            return down.waitUntilCompleted(block);
+            boolean result = down.waitUntilCompleted(block);
+            logger.fine("Completed eceiving response with Downcall of type " + down.getClass().getName()); 
+            return result; 
         } catch (org.omg.CORBA.SystemException ex) {
             processException(State.Closed, ex, false);
             return true;

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServer.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServer.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServer.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServer.java Fri Mar 21 06:22:39 2008
@@ -17,7 +17,11 @@
 
 package org.apache.yoko.orb.OB;
 
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 final class GIOPServer extends Server {
+    static final Logger logger = Logger.getLogger(GIOPServer.class.getName());
     protected ORBInstance orbInstance_; // The ORB Instance
 
     protected boolean destroy_; // True if destroy() was called
@@ -51,6 +55,8 @@
         destroy_ = false;
         acceptor_ = acceptor;
         oaInterface_ = oaInterface;
+        
+        logger.fine("GIOPServer " + System.identityHashCode(this) + " created for orb instance " + orbInstance_.getOrbId() + " and server " + orbInstance_.getServerId() + " identityHash=" + System.identityHashCode(orbInstance_)); 
 
         try {
             switch (concModel_) {
@@ -69,6 +75,7 @@
     // Destroy the server
     //
     public void destroy() {
+        logger.fine("Destroying GIOPServer " + System.identityHashCode(this) + " started for orb instance " + orbInstance_.getOrbId() + " and server " + orbInstance_.getServerId() + System.identityHashCode(orbInstance_)); 
         //
         // Don't destroy twice
         //
@@ -92,6 +99,7 @@
     // Hold any new requests that arrive for the Server
     //
     public void hold() {
+        logger.fine("Holding GIOPServer " + System.identityHashCode(this) + " started for orb instance " + orbInstance_.getOrbId() + " and server " + orbInstance_.getServerId() + System.identityHashCode(orbInstance_)); 
         Assert._OB_assert(!destroy_);
         Assert._OB_assert(starter_ != null);
         starter_.setState(GIOPServerStarter.StateHolding);
@@ -101,6 +109,7 @@
     // Dispatch any requests that arrive for the Server
     //
     public void activate() {
+        logger.fine("Activating GIOPServer " + System.identityHashCode(this) + " started for orb instance " + orbInstance_.getOrbId() + " and server " + orbInstance_.getServerId() + System.identityHashCode(orbInstance_)); 
         Assert._OB_assert(!destroy_);
         Assert._OB_assert(starter_ != null);
         starter_.setState(GIOPServerStarter.StateActive);

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarter.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarter.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarter.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarter.java Fri Mar 21 06:22:39 2008
@@ -17,9 +17,14 @@
 
 package org.apache.yoko.orb.OB;
 
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 import org.apache.yoko.orb.PortableServer.*;
 
 abstract class GIOPServerStarter {
+    static final Logger logger = Logger.getLogger(GIOPServerStarter.class.getName());
+    
     protected ORBInstance orbInstance_; // The ORBInstance
 
     protected org.apache.yoko.orb.OCI.Acceptor acceptor_; // The acceptor

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarterThreaded.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarterThreaded.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarterThreaded.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/GIOPServerStarterThreaded.java Fri Mar 21 06:22:39 2008
@@ -36,6 +36,7 @@
                 Assert._OB_assert(ex);
             }
 
+            logger.fine("Shutting down ORB server listener thread"); 
             //
             // Shutdown the acceptor so that no further connections are
             // accepted
@@ -46,7 +47,6 @@
             //
             // Accept all connections which might have queued up in the
             // listen() backlog
-            //
             while (true) {
                 org.apache.yoko.orb.OCI.Transport transport = null;
 
@@ -55,8 +55,10 @@
                 } catch (org.omg.CORBA.SystemException ex) {
                 }
 
-                if (transport == null)
+                if (transport == null) {
+                    logger.fine("Null transport received from a connect"); 
                     break;
+                }
 
                 try {
                     GIOPConnection connection = new GIOPConnectionThreaded(
@@ -91,6 +93,7 @@
             org.apache.yoko.orb.OCI.Acceptor acceptor, OAInterface oaInterface) {
         super(orbInstance, acceptor, oaInterface);
 
+        logger.fine("GIOPServer thread started " + this + " using acceptor " + acceptor); 
         try {
             //
             // Retrieve the thread group for the servers
@@ -124,15 +127,19 @@
         //
         // Don't do anything if there is no state change
         //
-        if (state_ == state)
+        if (state_ == state) {
             return;
+        }
+        
+        logger.fine("Setting server state to " + state); 
 
         //
         // It is not possible to transition backwards, except if we are
         // in holding state
         //
-        if (state_ != StateHolding && state < state_)
+        if (state_ != StateHolding && state < state_) {
             return;
+        }
 
         switch (state) {
         case StateActive: {
@@ -216,11 +223,13 @@
                 //
                 while (state_ == StateHolding) {
                     try {
+                        logger.fine("Waiting on an inbound connection because the state is holding.  acceptor=" + acceptor_); 
                         wait();
                     } catch (InterruptedException ex) {
                     }
                 }
 
+                logger.fine("Processing an inbound connection with state=" + state_); 
                 if (transport != null) {
                     try {
                         if (state_ == StateActive) {
@@ -233,6 +242,7 @@
                             connections_.addElement(connection);
                             connection.setState(GIOPConnection.State.Active);
                         } else {
+                            logger.fine("Processing an inbound connection because state is closed"); 
                             //
                             // If we're closed, we create a new dummy
                             // worker, only in order to set it to
@@ -246,14 +256,15 @@
                             connection.setState(GIOPConnection.State.Closing);
                         }
                     } catch (org.omg.CORBA.SystemException ex) {
-                        String msg = "can't accept connection\n"
-                                + ex.getMessage();
-                        orbInstance_.getLogger().log(java.util.logging.Level.WARNING, msg, ex);
+                        String msg = "can't accept connection\n" + ex.getMessage();
+                        logger.log(java.util.logging.Level.WARNING, msg, ex);
                     }
                 }
 
-                if (state_ == StateClosed)
+                if (state_ == StateClosed) {
+                    logger.fine("Shutting down server thread"); 
                     break;
+                }
             }
         }
     }

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/InitialServiceManager.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/InitialServiceManager.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/InitialServiceManager.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/InitialServiceManager.java Fri Mar 21 06:22:39 2008
@@ -141,11 +141,12 @@
         // The ORB destroys this object, so it's an initialization error
         // if this operation is called after ORB destruction
         //
-        if (destroy_)
+        if (destroy_) {
             throw new org.omg.CORBA.INITIALIZE(org.apache.yoko.orb.OB.MinorCodes
                     .describeInitialize(org.apache.yoko.orb.OB.MinorCodes.MinorORBDestroyed),
                     org.apache.yoko.orb.OB.MinorCodes.MinorORBDestroyed,
                     org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+        }
 
         Assert._OB_assert(identifier != null);
         
@@ -160,8 +161,9 @@
         //
         Service svc = (Service) services_.get(identifier);
         if (svc != null) {
-            if (svc.obj != null)
+            if (svc.obj != null) {
                 obj = svc.obj;
+            }
             else if (svc.ref.length() > 0) {
                 obj = objectFactory.stringToObject(svc.ref);
                 svc.obj = obj;
@@ -210,16 +212,16 @@
             } catch (org.omg.CORBA.INV_POLICY ex) {
             }
 
-            if (policy == null)
+            if (policy == null) {
                 policy = orbPolicies[i];
+            }
 
             vec.addElement(policy);
         }
         org.omg.CORBA.Policy[] p = new org.omg.CORBA.Policy[vec.size()];
         vec.copyInto(p);
 
-        return obj._set_policy_override(p,
-                org.omg.CORBA.SetOverrideType.SET_OVERRIDE);
+        return obj._set_policy_override(p, org.omg.CORBA.SetOverrideType.SET_OVERRIDE);
     }
 
     public void addInitialReference(String name, org.omg.CORBA.Object obj)
@@ -268,16 +270,18 @@
         // The ORB destroys this object, so it's an initialization error
         // if this operation is called after ORB destruction
         //
-        if (destroy_)
+        if (destroy_) {
             throw new org.omg.CORBA.INITIALIZE(org.apache.yoko.orb.OB.MinorCodes
                     .describeInitialize(org.apache.yoko.orb.OB.MinorCodes.MinorORBDestroyed),
                     org.apache.yoko.orb.OB.MinorCodes.MinorORBDestroyed,
                     org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+        }
 
         Assert._OB_assert(name != null);
 
-        if (services_.containsKey(name) && !override)
+        if (services_.containsKey(name) && !override) {
             throw new org.omg.CORBA.ORBPackage.InvalidName();
+        }
 
         Service svc = new Service();
         svc.ref = "";

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectFactory.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectFactory.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectFactory.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectFactory.java Fri Mar 21 06:22:39 2008
@@ -17,7 +17,12 @@
 
 package org.apache.yoko.orb.OB;
 
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 public final class ObjectFactory {
+    static final Logger logger = Logger.getLogger(ObjectFactory.class.getName());
+    
     private boolean destroy_; // True if destroy() was called
 
     ORBInstance orbInstance_; // The ORBInstance object
@@ -70,18 +75,22 @@
         // The ORB destroys this object, so it's an initialization error
         // if this operation is called after ORB destruction
         //
-        if (destroy_)
+        if (destroy_) {
             throw new org.omg.CORBA.INITIALIZE(org.apache.yoko.orb.OB.MinorCodes
                     .describeInitialize(org.apache.yoko.orb.OB.MinorCodes.MinorORBDestroyed),
                     org.apache.yoko.orb.OB.MinorCodes.MinorORBDestroyed,
                     org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+        }
 
         //
         // Check for nil object reference
         //
-        if (ior.type_id.length() == 0 && ior.profiles.length == 0)
+        if (ior.type_id.length() == 0 && ior.profiles.length == 0) {
             return null;
+        }
 
+        logger.fine("Creating an object of type " + ior.type_id); 
+        
         //
         // Create new delegate, set policies and change delegate
         //
@@ -93,6 +102,7 @@
         // Create new object, set the delegate and return
         //
         org.omg.CORBA.portable.ObjectImpl obj;
+        
         if(ior.type_id.startsWith("RMI")) {
         	obj = new org.apache.yoko.orb.CORBA.StubForRemote();
         }
@@ -104,6 +114,7 @@
     }
 
     public org.omg.CORBA.Object stringToObject(String ior) {
+        logger.fine("Creating an object from " + ior); 
         return orbInstance_.getURLRegistry().parse_url(ior);
     }
 

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKey.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKey.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKey.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKey.java Fri Mar 21 06:22:39 2008
@@ -31,8 +31,15 @@
 //
 
 package org.apache.yoko.orb.OB;
+ 
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.apache.yoko.orb.OB.IORUtil;
 
 final public class ObjectKey {
+    static final Logger logger = Logger.getLogger(ObjectKey.class.getName());
+    
     public static byte[] CreateObjectKey(ObjectKeyData id) {
         byte[] key;
 
@@ -40,8 +47,9 @@
         // Count the number of bytes for the poas.
         //
         int len = id.serverId.length() + 1;
-        for (int i = 0; i < id.poaId.length; i++)
+        for (int i = 0; i < id.poaId.length; i++) {
             len += id.poaId[i].length() + 1;
+        }
 
         //
         // Add one for the '\0'
@@ -85,8 +93,9 @@
         } else {
             key[data++] = (byte) '1';
             int n = time.length();
-            for (int i = 0; i < n; i++)
+            for (int i = 0; i < n; i++) {
                 key[data++] = (byte) time.charAt(i);
+            }
             data++;
         }
 
@@ -94,14 +103,16 @@
         // Copy in the data for the poas
         //
         int n = id.serverId.length();
-        for (int j = 0; j < n; j++)
+        for (int j = 0; j < n; j++) {
             key[data++] = (byte) id.serverId.charAt(j);
+        }
         data++;
 
         for (int i = 0; i < id.poaId.length; i++) {
             n = id.poaId[i].length();
-            for (int j = 0; j < n; j++)
+            for (int j = 0; j < n; j++) {
                 key[data++] = (byte) id.poaId[i].charAt(j);
+            }
             data++;
         }
 
@@ -112,6 +123,10 @@
 
         System.arraycopy(id.oid, 0, key, data, id.oid.length);
 
+        
+        if (logger.isLoggable(Level.FINEST)) {
+            logger.finest("Created object key\n" + IORUtil.dump_octets(key)); 
+        }
         return key;
     }
 
@@ -126,6 +141,10 @@
         //
         int data = 0;
         int end = key.length;
+        
+        if (logger.isLoggable(Level.FINE)) {
+            logger.fine("Parsing object key\n" + IORUtil.dump_octets(key)); 
+        }
 
         //
         // First try to figure out whether the object-key is OB 4.x
@@ -138,27 +157,34 @@
             data += 3;
             if (key[data] == '0') // persistent
             {
+                logger.fine("Parsing persistent object key"); 
                 keyData.persistent = true;
                 keyData.createTime = 0;
                 ++data;
             } else {
-                if (key[data] != '1')
+                if (key[data] != '1') {
+                    logger.fine("Characters '1' expected at position " + data); 
                     return false;
+                }
                 keyData.persistent = false;
                 ++data;
                 //
                 // Remember the start of the time stamp
                 //
                 int start = data;
-                while (data < end && key[data] != '\0')
+                while (data < end && key[data] != '\0') {
                     data++;
-                if (data >= end)
+                }
+                if (data >= end) {
+                    logger.fine("Missing '\0' in key data"); 
                     return false;
+                }
 
                 String t = new String(key, start, data - start);
                 try {
                     keyData.createTime = Integer.valueOf(t).intValue();
                 } catch (NumberFormatException ex) {
+                    logger.log(Level.FINE, "Invalid timestamp in key data", ex); 
                     return false;
                 }
                 //
@@ -174,23 +200,29 @@
                 // Remember the start of the POA name
                 //
                 int start = data;
-                while (data < end && key[data] != '\0')
+                while (data < end && key[data] != '\0') {
                     data++;
+                }
 
                 //
                 // Ensure that we haven't gone too far...
                 //
-                if (data >= end)
+                if (data >= end) {
+                    logger.fine("Missing '\0' in key data"); 
                     return false;
+                }
 
                 //
                 // Append this to the sequence of POA's.
                 //
                 if (first) {
                     keyData.serverId = new String(key, start, data - start);
+                    logger.fine("Parsed serverId=" + keyData.serverId); 
                     first = false;
                 } else {
-                    poaId.addElement(new String(key, start, data - start));
+                    String element = new String(key, start, data - start); 
+                    logger.fine("Parsed POA name=" + element); 
+                    poaId.addElement(element);
                 }
 
                 //
@@ -210,8 +242,10 @@
             //
             // Verify that we haven't gone too far.
             //
-            if (data >= end)
+            if (data >= end) {
+                logger.fine("Missing object id in key data"); 
                 return false;
+            }
 
             //
             // Remaining portion is the ObjectId.
@@ -220,8 +254,13 @@
             keyData.oid = new byte[len];
             System.arraycopy(key, data, keyData.oid, 0, len);
 
+            if (logger.isLoggable(Level.FINEST)) {
+                logger.finest("Parsed object id is\n" + IORUtil.dump_octets(keyData.oid)); 
+            }
+
             return true;
         } else {
+            logger.fine("Invalid magic number in object key"); 
             return false;
         }
     }

Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKeyData.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKeyData.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKeyData.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ObjectKeyData.java Fri Mar 21 06:22:39 2008
@@ -44,6 +44,19 @@
     }
     
     public String toString() {
-        return serverId + ":" + poaId + ":" + IORUtil.format_octets(oid); 
+        StringBuffer buf = new StringBuffer(); 
+        buf.append(serverId); 
+        buf.append(':'); 
+        if (poaId != null) {
+            for (int i = 0; i < poaId.length; i++) {
+                buf.append('/'); 
+                buf.append(poaId[i]); 
+            }
+        }
+        buf.append(':'); 
+        if (oid != null) {
+            buf.append(IORUtil.format_octets(oid)); 
+        }
+        return buf.toString(); 
     }
 }