You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by dm...@apache.org on 2006/06/21 14:53:51 UTC

svn commit: r416000 - /incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerBinding.java

Author: dmiddlem
Date: Wed Jun 21 07:53:51 2006
New Revision: 416000

URL: http://svn.apache.org/viewvc?rev=416000&view=rev
Log:
Bug fix for object references as corbalocs

Modified:
    incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerBinding.java

Modified: incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerBinding.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerBinding.java?rev=416000&r1=415999&r2=416000&view=diff
==============================================================================
--- incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerBinding.java (original)
+++ incubator/yoko/trunk/bindings/src/main/java/org/apache/yoko/bindings/corba/CorbaServerBinding.java Wed Jun 21 07:53:51 2006
@@ -147,6 +147,23 @@
             } else if (location.startsWith("file:/")) {
                 String iorFile = location.substring("file:/".length(), location.length());
                 CorbaUtils.exportObjectReferenceToFile(obj, orb, iorFile);
+            } else if (location.startsWith("corbaloc")) {
+                // Try add the key to the boot manager.  This is required for a corbaloc
+                try {
+                    int keyIndex = location.indexOf('/');
+                    String key = location.substring(keyIndex + 1);
+                    org.apache.yoko.orb.OB.BootManager bootManager = 
+                        org.apache.yoko.orb.OB.BootManagerHelper.narrow(
+                            orb.resolve_initial_references("BootManager"));
+                    bootManager.add_binding(key.getBytes(), obj);
+                    LOG.info("Added key " + key + " to bootmanager");
+                } catch (Exception ex) {
+                    // TODO: Continue without for now
+                }
+                String ior = orb.object_to_string(obj);
+                address.setLocation(ior);
+                String iorFile = "endpoint.ior";
+                CorbaUtils.exportObjectReferenceToFile(obj, orb, iorFile);
             } else {
                 String ior = orb.object_to_string(obj);
                 address.setLocation(ior);