summaryrefslogtreecommitdiff
path: root/org
diff options
context:
space:
mode:
authorAudrius Meskauskas <audriusa@Bioinformatics.org>2005-09-02 19:43:57 +0000
committerAudrius Meskauskas <audriusa@Bioinformatics.org>2005-09-02 19:43:57 +0000
commit4a686af2d536d3cd7345b50ae42fa16230a90fc8 (patch)
tree1eeb73859785191fd9acf980b614d34b27eb85a7 /org
parent035bed97b7c0c613bbd3ce023f17367e79daeeaa (diff)
downloadclasspath-4a686af2d536d3cd7345b50ae42fa16230a90fc8.tar.gz
2005-09-02 Audrius Meskauskas <AudriusA@Bioinformatics.org>
* org/omg/CosNaming/NamingContextOperations.java: Do not inherit from CORBA object. * org/omg/CosNaming/_NamingContextExtImplBase.java (_methods), omg/CosNaming/_NamingContextImplBase.java (methods): Made package private. * omg/CosNaming/NamingContextPOA.java, omg/CosNaming/NamingContextExtPOA.java, org/omg/CosNaming/BindingIteratorPOA.java: New files. Also fixing my invalid ChangeLog entries, made today (added author name).
Diffstat (limited to 'org')
-rw-r--r--org/omg/CosNaming/BindingIteratorPOA.java128
-rw-r--r--org/omg/CosNaming/NamingContextExtPOA.java461
-rw-r--r--org/omg/CosNaming/NamingContextOperations.java2
-rw-r--r--org/omg/CosNaming/NamingContextPOA.java365
-rw-r--r--org/omg/CosNaming/_NamingContextExtImplBase.java2
-rw-r--r--org/omg/CosNaming/_NamingContextImplBase.java3
6 files changed, 958 insertions, 3 deletions
diff --git a/org/omg/CosNaming/BindingIteratorPOA.java b/org/omg/CosNaming/BindingIteratorPOA.java
new file mode 100644
index 000000000..1aa7521fb
--- /dev/null
+++ b/org/omg/CosNaming/BindingIteratorPOA.java
@@ -0,0 +1,128 @@
+/* BindingIteratorPOA.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CosNaming;
+
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.CompletionStatus;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.InvokeHandler;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.ResponseHandler;
+import org.omg.PortableServer.POA;
+import org.omg.PortableServer.Servant;
+
+/**
+ * The binding iterator servant, used in POA-based naming service
+ * implementations.
+ *
+ * @since 1.4
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class BindingIteratorPOA
+ extends Servant
+ implements BindingIteratorOperations, InvokeHandler
+{
+ /** @inheritDoc */
+ public String[] _all_interfaces(POA poa, byte[] object_ID)
+ {
+ return new String[] { BindingIteratorHelper.id() };
+ }
+
+ /**
+ * Call the required method.
+ */
+ public OutputStream _invoke(String method, InputStream in, ResponseHandler rh)
+ {
+ OutputStream out = null;
+
+ // We suppose that the next_n should be the most popular.
+ if (method.equals("next_n"))
+ {
+ // The next_n has been invoked.
+ int amount = in.read_ulong();
+ BindingListHolder a_list = new BindingListHolder();
+
+ boolean result = next_n(amount, a_list);
+
+ out = rh.createReply();
+ out.write_boolean(result);
+ BindingListHelper.write(out, a_list.value);
+ }
+ else if (method.equals("next_one"))
+ {
+ // The next_one has been invoked.
+ BindingHolder a_binding = new BindingHolder();
+
+ boolean result = next_one(a_binding);
+
+ out = rh.createReply();
+ out.write_boolean(result);
+ BindingHelper.write(out, a_binding.value);
+ }
+ else if (method.equals("destroy"))
+ {
+ // The destroy has been invoked.
+ destroy();
+ out = rh.createReply();
+ }
+ else
+ throw new BAD_OPERATION(method, 0, CompletionStatus.COMPLETED_MAYBE);
+
+ return out;
+ }
+
+ /**
+ * Get the CORBA object that delegates calls to this servant. The servant must
+ * be already connected to an ORB.
+ */
+ public BindingIterator _this()
+ {
+ return BindingIteratorHelper.narrow(super._this_object());
+ }
+
+ /**
+ * Get the CORBA object that delegates calls to this servant. Connect to the
+ * given ORB, if needed.
+ */
+ public BindingIterator _this(org.omg.CORBA.ORB orb)
+ {
+ return BindingIteratorHelper.narrow(super._this_object(orb));
+ }
+}
diff --git a/org/omg/CosNaming/NamingContextExtPOA.java b/org/omg/CosNaming/NamingContextExtPOA.java
new file mode 100644
index 000000000..a6d3346f8
--- /dev/null
+++ b/org/omg/CosNaming/NamingContextExtPOA.java
@@ -0,0 +1,461 @@
+/* NamingContextExtPOA.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CosNaming;
+
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.CompletionStatus;
+import org.omg.CORBA.ObjectHelper;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.InvokeHandler;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.ResponseHandler;
+import org.omg.CosNaming.NamingContextExtPackage.InvalidAddress;
+import org.omg.CosNaming.NamingContextExtPackage.InvalidAddressHelper;
+import org.omg.CosNaming.NamingContextPackage.AlreadyBound;
+import org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper;
+import org.omg.CosNaming.NamingContextPackage.CannotProceed;
+import org.omg.CosNaming.NamingContextPackage.CannotProceedHelper;
+import org.omg.CosNaming.NamingContextPackage.InvalidName;
+import org.omg.CosNaming.NamingContextPackage.InvalidNameHelper;
+import org.omg.CosNaming.NamingContextPackage.NotEmpty;
+import org.omg.CosNaming.NamingContextPackage.NotEmptyHelper;
+import org.omg.CosNaming.NamingContextPackage.NotFound;
+import org.omg.CosNaming.NamingContextPackage.NotFoundHelper;
+import org.omg.PortableServer.POA;
+import org.omg.PortableServer.Servant;
+
+/**
+ * The extended naming service servant. After implementing the abstract methods the
+ * instance of this class can be connected to an ORB using POA.
+ *
+ * @since 1.4
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class NamingContextExtPOA
+ extends Servant
+ implements NamingContextExtOperations, InvokeHandler
+
+{
+ /** @inheritDoc */
+ public String[] _all_interfaces(POA poa, byte[] object_ID)
+ {
+ return new String[] { NamingContextExtHelper.id(), NamingContextHelper.id() };
+ }
+
+ /** @inheritDoc */
+ public OutputStream _invoke(String method, InputStream in, ResponseHandler rh)
+ {
+ Integer call_method = (Integer) _NamingContextExtImplBase._methods.get(method);
+
+ if (call_method == null)
+ // The older methods are handled separately.
+ return super_invoke(method, in, rh);
+
+ OutputStream out = null;
+
+ switch (call_method.intValue())
+ {
+ case 0: // to_string
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ String result = null;
+ result = this.to_string(a_name);
+ out = rh.createReply();
+ out.write_string(result);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 1: // to_name
+ {
+ try
+ {
+ String a_name_string = in.read_string();
+ NameComponent[] result = to_name(a_name_string);
+ out = rh.createReply();
+ NameHelper.write(out, result);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 2: // to_url
+ {
+ try
+ {
+ String an_address = in.read_string();
+ String a_name_string = in.read_string();
+ String result = to_url(an_address, a_name_string);
+ out = rh.createReply();
+ out.write_string(result);
+ }
+ catch (InvalidAddress ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidAddressHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 3: // resolve_str
+ {
+ try
+ {
+ String a_name_string = in.read_string();
+ org.omg.CORBA.Object result = resolve_str(a_name_string);
+ out = rh.createReply();
+ org.omg.CORBA.ObjectHelper.write(out, result);
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+ }
+ return out;
+ }
+
+ /**
+ * Handles calls to the methods from the NamingContext. The classes cannot be
+ * directly derived from each other; new public methods would appear.
+ */
+ OutputStream super_invoke(String method, InputStream in, ResponseHandler rh)
+ {
+ OutputStream out = null;
+ Integer call_method = (Integer) _NamingContextImplBase.methods.get(method);
+ if (call_method == null)
+ throw new BAD_OPERATION(0, CompletionStatus.COMPLETED_MAYBE);
+
+ switch (call_method.intValue())
+ {
+ case 0: // bind
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ org.omg.CORBA.Object an_object = ObjectHelper.read(in);
+ bind(a_name, an_object);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ catch (AlreadyBound ex)
+ {
+ out = rh.createExceptionReply();
+ AlreadyBoundHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 1: // rebind
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ org.omg.CORBA.Object an_object = ObjectHelper.read(in);
+ rebind(a_name, an_object);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 2: // bind_context
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ NamingContext a_context = NamingContextHelper.read(in);
+ bind_context(a_name, a_context);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ catch (AlreadyBound ex)
+ {
+ out = rh.createExceptionReply();
+ AlreadyBoundHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 3: // rebind_context
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ NamingContext a_context = NamingContextHelper.read(in);
+ rebind_context(a_name, a_context);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 4: // resolve
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ org.omg.CORBA.Object __result = null;
+ __result = resolve(a_name);
+ out = rh.createReply();
+ ObjectHelper.write(out, __result);
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 5: // unbind
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ unbind(a_name);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 6: // new_context
+ {
+ NamingContext __result = null;
+ __result = new_context();
+ out = rh.createReply();
+ NamingContextHelper.write(out, __result);
+ break;
+ }
+
+ case 7: // bind_new_context
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ NamingContext __result = null;
+ __result = bind_new_context(a_name);
+ out = rh.createReply();
+ NamingContextHelper.write(out, __result);
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (AlreadyBound ex)
+ {
+ out = rh.createExceptionReply();
+ AlreadyBoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 8: // destroy
+ {
+ try
+ {
+ destroy();
+ out = rh.createReply();
+ }
+ catch (NotEmpty ex)
+ {
+ out = rh.createExceptionReply();
+ NotEmptyHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 9: // list
+ {
+ int amount = in.read_ulong();
+ BindingListHolder a_list = new BindingListHolder();
+ BindingIteratorHolder an_iter = new BindingIteratorHolder();
+ list(amount, a_list, an_iter);
+ out = rh.createReply();
+ BindingListHelper.write(out, a_list.value);
+ BindingIteratorHelper.write(out, an_iter.value);
+ break;
+ }
+
+ default:
+ throw new BAD_OPERATION(0, CompletionStatus.COMPLETED_MAYBE);
+ }
+
+ return out;
+ }
+
+ /**
+ * Get the CORBA object that delegates calls to this servant. The servant must
+ * be already connected to an ORB.
+ */
+ public NamingContextExt _this()
+ {
+ return NamingContextExtHelper.narrow(super._this_object());
+ }
+
+ /**
+ * Get the CORBA object that delegates calls to this servant. Connect to the
+ * given ORB, if needed.
+ */
+ public NamingContextExt _this(org.omg.CORBA.ORB orb)
+ {
+ return NamingContextExtHelper.narrow(super._this_object(orb));
+ }
+}
diff --git a/org/omg/CosNaming/NamingContextOperations.java b/org/omg/CosNaming/NamingContextOperations.java
index 40ac419c4..dc25daaa3 100644
--- a/org/omg/CosNaming/NamingContextOperations.java
+++ b/org/omg/CosNaming/NamingContextOperations.java
@@ -55,7 +55,7 @@ import org.omg.CosNaming.NamingContextPackage.NotFound;
* @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
*/
public interface NamingContextOperations
- extends org.omg.CORBA.Object, IDLEntity
+ extends IDLEntity
{
/**
* Gives the object a name, valid in this context.
diff --git a/org/omg/CosNaming/NamingContextPOA.java b/org/omg/CosNaming/NamingContextPOA.java
new file mode 100644
index 000000000..a2db0ad35
--- /dev/null
+++ b/org/omg/CosNaming/NamingContextPOA.java
@@ -0,0 +1,365 @@
+/* NamingContextPOA.java --
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CosNaming;
+
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.CompletionStatus;
+import org.omg.CORBA.ObjectHelper;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.InvokeHandler;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.ResponseHandler;
+import org.omg.CosNaming.NamingContextPackage.AlreadyBound;
+import org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper;
+import org.omg.CosNaming.NamingContextPackage.CannotProceed;
+import org.omg.CosNaming.NamingContextPackage.CannotProceedHelper;
+import org.omg.CosNaming.NamingContextPackage.InvalidName;
+import org.omg.CosNaming.NamingContextPackage.InvalidNameHelper;
+import org.omg.CosNaming.NamingContextPackage.NotEmpty;
+import org.omg.CosNaming.NamingContextPackage.NotEmptyHelper;
+import org.omg.CosNaming.NamingContextPackage.NotFound;
+import org.omg.CosNaming.NamingContextPackage.NotFoundHelper;
+import org.omg.PortableServer.POA;
+import org.omg.PortableServer.Servant;
+
+/**
+ * The naming service servant. After implementing the abstract methods the
+ * instance of this class can be connected to an ORB using POA.
+ *
+ * @since 1.4
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org)
+ */
+public abstract class NamingContextPOA
+ extends Servant
+ implements NamingContextOperations, InvokeHandler
+{
+ /** @inheritDoc */
+ public String[] _all_interfaces(POA poa, byte[] object_ID)
+ {
+ return new String[] { NamingContextHelper.id() };
+ }
+
+ /**
+ * The server calls this method after receiving the request message from
+ * client. The implementation base calls one of its abstract methods to
+ * perform the requested operation.
+ *
+ * @param method the method being invoked.
+ * @param in the stream to read parameters from.
+ * @param rh the handler to get a stream for writing a response.
+ *
+ * @return the stream, returned by the handler.
+ */
+ public OutputStream _invoke(String method, InputStream in, ResponseHandler rh)
+ {
+ OutputStream out = null;
+ Integer call_method = (Integer) _NamingContextImplBase.methods.get(method);
+ if (call_method == null)
+ throw new BAD_OPERATION(0, CompletionStatus.COMPLETED_MAYBE);
+
+ switch (call_method.intValue())
+ {
+ case 0: // bind
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ org.omg.CORBA.Object an_object = ObjectHelper.read(in);
+ bind(a_name, an_object);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ catch (AlreadyBound ex)
+ {
+ out = rh.createExceptionReply();
+ AlreadyBoundHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 1: // rebind
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ org.omg.CORBA.Object an_object = ObjectHelper.read(in);
+ rebind(a_name, an_object);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 2: // bind_context
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ NamingContext a_context = NamingContextHelper.read(in);
+ bind_context(a_name, a_context);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ catch (AlreadyBound ex)
+ {
+ out = rh.createExceptionReply();
+ AlreadyBoundHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 3: // rebind_context
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ NamingContext a_context = NamingContextHelper.read(in);
+ rebind_context(a_name, a_context);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 4: // resolve
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ org.omg.CORBA.Object __result = null;
+ __result = resolve(a_name);
+ out = rh.createReply();
+ ObjectHelper.write(out, __result);
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 5: // unbind
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ unbind(a_name);
+ out = rh.createReply();
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 6: // new_context
+ {
+ NamingContext __result = null;
+ __result = new_context();
+ out = rh.createReply();
+ NamingContextHelper.write(out, __result);
+ break;
+ }
+
+ case 7: // bind_new_context
+ {
+ try
+ {
+ NameComponent[] a_name = NameHelper.read(in);
+ NamingContext __result = null;
+ __result = bind_new_context(a_name);
+ out = rh.createReply();
+ NamingContextHelper.write(out, __result);
+ }
+ catch (NotFound ex)
+ {
+ out = rh.createExceptionReply();
+ NotFoundHelper.write(out, ex);
+ }
+ catch (AlreadyBound ex)
+ {
+ out = rh.createExceptionReply();
+ AlreadyBoundHelper.write(out, ex);
+ }
+ catch (CannotProceed ex)
+ {
+ out = rh.createExceptionReply();
+ CannotProceedHelper.write(out, ex);
+ }
+ catch (InvalidName ex)
+ {
+ out = rh.createExceptionReply();
+ InvalidNameHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 8: // destroy
+ {
+ try
+ {
+ destroy();
+ out = rh.createReply();
+ }
+ catch (NotEmpty ex)
+ {
+ out = rh.createExceptionReply();
+ NotEmptyHelper.write(out, ex);
+ }
+ break;
+ }
+
+ case 9: // list
+ {
+ int amount = in.read_ulong();
+ BindingListHolder a_list = new BindingListHolder();
+ BindingIteratorHolder an_iter = new BindingIteratorHolder();
+ list(amount, a_list, an_iter);
+ out = rh.createReply();
+ BindingListHelper.write(out, a_list.value);
+ BindingIteratorHelper.write(out, an_iter.value);
+ break;
+ }
+
+ default:
+ throw new BAD_OPERATION(0, CompletionStatus.COMPLETED_MAYBE);
+ }
+
+ return out;
+ }
+
+ /**
+ * Get the CORBA object that delegates calls to this servant. The servant must
+ * be already connected to an ORB.
+ */
+ public NamingContext _this()
+ {
+ return NamingContextHelper.narrow(super._this_object());
+ }
+
+ /**
+ * Get the CORBA object that delegates calls to this servant. Connect to the
+ * given ORB, if needed.
+ */
+ public NamingContext _this(org.omg.CORBA.ORB orb)
+ {
+ return NamingContextHelper.narrow(super._this_object(orb));
+ }
+
+}
diff --git a/org/omg/CosNaming/_NamingContextExtImplBase.java b/org/omg/CosNaming/_NamingContextExtImplBase.java
index ae818ddf5..03630f8d6 100644
--- a/org/omg/CosNaming/_NamingContextExtImplBase.java
+++ b/org/omg/CosNaming/_NamingContextExtImplBase.java
@@ -66,7 +66,7 @@ public abstract class _NamingContextExtImplBase
extends _NamingContextImplBase
implements NamingContextExt, InvokeHandler
{
- private static Hashtable _methods = new Hashtable();
+ static Hashtable _methods = new Hashtable();
static
{
diff --git a/org/omg/CosNaming/_NamingContextImplBase.java b/org/omg/CosNaming/_NamingContextImplBase.java
index 16b17fc5e..7c1fb3a1d 100644
--- a/org/omg/CosNaming/_NamingContextImplBase.java
+++ b/org/omg/CosNaming/_NamingContextImplBase.java
@@ -78,8 +78,9 @@ public abstract class _NamingContextImplBase
/**
* As there are quite many methods, it may be sensible to use the hashtable.
+ * This field is also reused in NamingContextPOA.
*/
- private static Hashtable methods = new Hashtable();
+ static Hashtable methods = new Hashtable();
/**
* Put all methods into the table.