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/07 21:37:09 UTC
svn commit: r634809 - in
/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb:
OB/InitialServiceManager.java OBPortableInterceptor/ORBInitInfo_impl.java
Author: rickmcguire
Date: Fri Mar 7 12:37:08 2008
New Revision: 634809
URL: http://svn.apache.org/viewvc?rev=634809&view=rev
Log:
YOKO-419 RootPOA not available to resolve_initial_reference() call in ORB initializer.
Modified:
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/OBPortableInterceptor/ORBInitInfo_impl.java
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=634809&r1=634808&r2=634809&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 7 12:37:08 2008
@@ -17,7 +17,14 @@
package org.apache.yoko.orb.OB;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.omg.CORBA.LocalObject;
+
public final class InitialServiceManager {
+ static final Logger logger = Logger.getLogger(InitialServiceManager.class.getName());
+
//
// Set of available initial services
//
@@ -141,6 +148,8 @@
org.omg.CORBA.CompletionStatus.COMPLETED_NO);
Assert._OB_assert(identifier != null);
+
+ logger.fine("Resolving initial ORB reference for " + identifier);
ObjectFactory objectFactory = orbInstance_.getObjectFactory();
@@ -159,6 +168,8 @@
services_.put(identifier, svc);
}
}
+
+ logger.fine("No match found for ORB intial reference " + identifier);
//
// If no match was found, and there's a default initial
@@ -173,14 +184,17 @@
obj = objectFactory.stringToObject(url);
}
- if (obj == null)
+ if (obj == null) {
+ logger.fine("No default initializer found for ORB intial reference " + identifier);
throw new org.omg.CORBA.ORBPackage.InvalidName();
+ }
//
// If the object is a l-c object, return the object now
//
- if (obj instanceof org.omg.CORBA.LocalObject)
+ if (obj instanceof org.omg.CORBA.LocalObject) {
return obj;
+ }
//
// If the object is remote, return a new reference with the
@@ -215,20 +229,26 @@
public synchronized void addInitialReference(String name, String iorString,
boolean override) throws org.omg.CORBA.ORBPackage.InvalidName {
+ logger.fine("Adding initial reference name=" + name + ", ior=" + iorString);
//
// The ORB destroys this object, so it's an initialization error
// if this operation is called after ORB destruction
//
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);
+ .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 && iorString != null);
if (services_.containsKey(name) && !override)
+ {
+ logger.fine("Initial reference name=" + name + "already exists");
throw new org.omg.CORBA.ORBPackage.InvalidName();
+ }
Service svc = new Service();
svc.ref = iorString;
@@ -238,6 +258,12 @@
public synchronized void addInitialReference(String name,
org.omg.CORBA.Object p, boolean override)
throws org.omg.CORBA.ORBPackage.InvalidName {
+ if (p != null) {
+ logger.fine("Adding initial reference name=" + name + " of type " + p.getClass().getName());
+ }
+ else {
+ logger.fine("Adding initial reference name=" + name + " with null implementation");
+ }
//
// The ORB destroys this object, so it's an initialization error
// if this operation is called after ORB destruction
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableInterceptor/ORBInitInfo_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableInterceptor/ORBInitInfo_impl.java?rev=634809&r1=634808&r2=634809&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableInterceptor/ORBInitInfo_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableInterceptor/ORBInitInfo_impl.java Fri Mar 7 12:37:08 2008
@@ -124,7 +124,10 @@
// TODO: check state
try {
- return initServiceManager_.resolveInitialReferences(name);
+ // we delegate this to the ORB rather than call the initial service manager directly.
+ // because the ORB has a special test to initialize the RootPOA service if it
+ // doesn't exist.
+ return orb_.resolve_initial_references(name);
} catch (org.omg.CORBA.ORBPackage.InvalidName ex) {
throw (org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName)new
org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName().initCause(ex);