[jboss-cvs] JBossAS SVN: r72169 - trunk/iiop/src/main/org/jboss/iiop/naming.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Apr 14 08:01:13 EDT 2008


Author: adrian at jboss.org
Date: 2008-04-14 08:01:13 -0400 (Mon, 14 Apr 2008)
New Revision: 72169

Added:
   trunk/iiop/src/main/org/jboss/iiop/naming/SerializableORB.java
Modified:
   trunk/iiop/src/main/org/jboss/iiop/naming/ORBInitialContextFactory.java
Log:
[JBAS-5430] - Implement Serializable ORB for serialization of naming environments

Modified: trunk/iiop/src/main/org/jboss/iiop/naming/ORBInitialContextFactory.java
===================================================================
--- trunk/iiop/src/main/org/jboss/iiop/naming/ORBInitialContextFactory.java	2008-04-14 11:54:40 UTC (rev 72168)
+++ trunk/iiop/src/main/org/jboss/iiop/naming/ORBInitialContextFactory.java	2008-04-14 12:01:13 UTC (rev 72169)
@@ -43,13 +43,26 @@
    private static ORB orb;
    
    /**
+    * Get the orb
+    * 
+    * @return the orb
+    */
+   public static ORB getORB()
+   {
+      return orb;
+   }
+   
+   /**
     * Set the orb
     * 
     * @param orb the orb to use
     */
    public static void setORB(ORB orb)
    {
-      ORBInitialContextFactory.orb = orb;
+      if (orb == null)
+         ORBInitialContextFactory.orb = null;
+      else
+         ORBInitialContextFactory.orb = new SerializableORB(orb);
    }
 
    public Context getInitialContext(Hashtable env) throws NamingException

Added: trunk/iiop/src/main/org/jboss/iiop/naming/SerializableORB.java
===================================================================
--- trunk/iiop/src/main/org/jboss/iiop/naming/SerializableORB.java	                        (rev 0)
+++ trunk/iiop/src/main/org/jboss/iiop/naming/SerializableORB.java	2008-04-14 12:01:13 UTC (rev 72169)
@@ -0,0 +1,369 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2007, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software 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
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.iiop.naming;
+
+import java.applet.Applet;
+import java.io.ObjectStreamException;
+import java.io.Serializable;
+import java.util.Properties;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.Context;
+import org.omg.CORBA.ContextList;
+import org.omg.CORBA.Current;
+import org.omg.CORBA.DynAny;
+import org.omg.CORBA.DynArray;
+import org.omg.CORBA.DynEnum;
+import org.omg.CORBA.DynSequence;
+import org.omg.CORBA.DynStruct;
+import org.omg.CORBA.DynUnion;
+import org.omg.CORBA.Environment;
+import org.omg.CORBA.ExceptionList;
+import org.omg.CORBA.NVList;
+import org.omg.CORBA.NamedValue;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.Object;
+import org.omg.CORBA.Policy;
+import org.omg.CORBA.PolicyError;
+import org.omg.CORBA.Request;
+import org.omg.CORBA.ServiceInformationHolder;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.UnionMember;
+import org.omg.CORBA.ValueMember;
+import org.omg.CORBA.WrongTransaction;
+import org.omg.CORBA.ORBPackage.InconsistentTypeCode;
+import org.omg.CORBA.ORBPackage.InvalidName;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * SerializableORB.
+ * 
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class SerializableORB extends ORB implements Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -916585825830592748L;
+   
+   private transient ORB delegate;
+   
+   public SerializableORB(ORB delegate)
+   {
+      if (delegate == null)
+         throw new IllegalArgumentException("Null delegate");
+      this.delegate = delegate;
+   }
+
+   public void connect(Object obj)
+   {
+      delegate.connect(obj);
+   }
+
+   public TypeCode create_abstract_interface_tc(String id, String name)
+   {
+      return delegate.create_abstract_interface_tc(id, name);
+   }
+
+   public TypeCode create_alias_tc(String id, String name, TypeCode original_type)
+   {
+      return delegate.create_alias_tc(id, name, original_type);
+   }
+
+   public Any create_any()
+   {
+      return delegate.create_any();
+   }
+
+   public TypeCode create_array_tc(int length, TypeCode element_type)
+   {
+      return delegate.create_array_tc(length, element_type);
+   }
+
+   public DynAny create_basic_dyn_any(TypeCode type) throws InconsistentTypeCode
+   {
+      return delegate.create_basic_dyn_any(type);
+   }
+
+   public ContextList create_context_list()
+   {
+      return delegate.create_context_list();
+   }
+
+   public DynAny create_dyn_any(Any value)
+   {
+      return delegate.create_dyn_any(value);
+   }
+
+   public DynArray create_dyn_array(TypeCode type) throws InconsistentTypeCode
+   {
+      return delegate.create_dyn_array(type);
+   }
+
+   public DynEnum create_dyn_enum(TypeCode type) throws InconsistentTypeCode
+   {
+      return delegate.create_dyn_enum(type);
+   }
+
+   public DynSequence create_dyn_sequence(TypeCode type) throws InconsistentTypeCode
+   {
+      return delegate.create_dyn_sequence(type);
+   }
+
+   public DynStruct create_dyn_struct(TypeCode type) throws InconsistentTypeCode
+   {
+      return delegate.create_dyn_struct(type);
+   }
+
+   public DynUnion create_dyn_union(TypeCode type) throws InconsistentTypeCode
+   {
+      return delegate.create_dyn_union(type);
+   }
+
+   public TypeCode create_enum_tc(String id, String name, String[] members)
+   {
+      return delegate.create_enum_tc(id, name, members);
+   }
+
+   public Environment create_environment()
+   {
+      return delegate.create_environment();
+   }
+
+   public ExceptionList create_exception_list()
+   {
+      return delegate.create_exception_list();
+   }
+
+   public TypeCode create_exception_tc(String id, String name, StructMember[] members)
+   {
+      return delegate.create_exception_tc(id, name, members);
+   }
+
+   public TypeCode create_fixed_tc(short digits, short scale)
+   {
+      return delegate.create_fixed_tc(digits, scale);
+   }
+
+   public TypeCode create_interface_tc(String id, String name)
+   {
+      return delegate.create_interface_tc(id, name);
+   }
+
+   public NVList create_list(int count)
+   {
+      return delegate.create_list(count);
+   }
+
+   public NamedValue create_named_value(String s, Any any, int flags)
+   {
+      return delegate.create_named_value(s, any, flags);
+   }
+
+   public TypeCode create_native_tc(String id, String name)
+   {
+      return delegate.create_native_tc(id, name);
+   }
+
+   public NVList create_operation_list(Object oper)
+   {
+      return delegate.create_operation_list(oper);
+   }
+
+   public OutputStream create_output_stream()
+   {
+      return delegate.create_output_stream();
+   }
+
+   public Policy create_policy(int type, Any val) throws PolicyError
+   {
+      return delegate.create_policy(type, val);
+   }
+
+   public TypeCode create_recursive_sequence_tc(int bound, int offset)
+   {
+      return delegate.create_recursive_sequence_tc(bound, offset);
+   }
+
+   public TypeCode create_recursive_tc(String id)
+   {
+      return delegate.create_recursive_tc(id);
+   }
+
+   public TypeCode create_sequence_tc(int bound, TypeCode element_type)
+   {
+      return delegate.create_sequence_tc(bound, element_type);
+   }
+
+   public TypeCode create_string_tc(int bound)
+   {
+      return delegate.create_string_tc(bound);
+   }
+
+   public TypeCode create_struct_tc(String id, String name, StructMember[] members)
+   {
+      return delegate.create_struct_tc(id, name, members);
+   }
+
+   public TypeCode create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember[] members)
+   {
+      return delegate.create_union_tc(id, name, discriminator_type, members);
+   }
+
+   public TypeCode create_value_box_tc(String id, String name, TypeCode boxed_type)
+   {
+      return delegate.create_value_box_tc(id, name, boxed_type);
+   }
+
+   public TypeCode create_value_tc(String id, String name, short type_modifier, TypeCode concrete_base,
+         ValueMember[] members)
+   {
+      return delegate.create_value_tc(id, name, type_modifier, concrete_base, members);
+   }
+
+   public TypeCode create_wstring_tc(int bound)
+   {
+      return delegate.create_wstring_tc(bound);
+   }
+
+   public void destroy()
+   {
+      delegate.destroy();
+   }
+
+   public void disconnect(Object obj)
+   {
+      delegate.disconnect(obj);
+   }
+
+   public boolean equals(java.lang.Object obj)
+   {
+      return delegate.equals(obj);
+   }
+
+   public Current get_current()
+   {
+      return delegate.get_current();
+   }
+
+   public Context get_default_context()
+   {
+      return delegate.get_default_context();
+   }
+
+   public Request get_next_response() throws WrongTransaction
+   {
+      return delegate.get_next_response();
+   }
+
+   public TypeCode get_primitive_tc(TCKind tcKind)
+   {
+      return delegate.get_primitive_tc(tcKind);
+   }
+
+   public boolean get_service_information(short service_type, ServiceInformationHolder service_info)
+   {
+      return delegate.get_service_information(service_type, service_info);
+   }
+
+   public int hashCode()
+   {
+      return delegate.hashCode();
+   }
+
+   public String[] list_initial_services()
+   {
+      return delegate.list_initial_services();
+   }
+
+   public String object_to_string(Object obj)
+   {
+      return delegate.object_to_string(obj);
+   }
+
+   public void perform_work()
+   {
+      delegate.perform_work();
+   }
+
+   public boolean poll_next_response()
+   {
+      return delegate.poll_next_response();
+   }
+
+   public Object resolve_initial_references(String object_name) throws InvalidName
+   {
+      return delegate.resolve_initial_references(object_name);
+   }
+
+   public void run()
+   {
+      delegate.run();
+   }
+
+   public void send_multiple_requests_deferred(Request[] req)
+   {
+      delegate.send_multiple_requests_deferred(req);
+   }
+
+   public void send_multiple_requests_oneway(Request[] req)
+   {
+      delegate.send_multiple_requests_oneway(req);
+   }
+
+   public void shutdown(boolean wait_for_completion)
+   {
+      delegate.shutdown(wait_for_completion);
+   }
+
+   public Object string_to_object(String str)
+   {
+      return delegate.string_to_object(str);
+   }
+
+   public String toString()
+   {
+      return delegate.toString();
+   }
+
+   public boolean work_pending()
+   {
+      return delegate.work_pending();
+   }
+
+   protected void set_parameters(Applet app, Properties props)
+   {
+      throw new UnsupportedOperationException("set_parameters");
+   }
+
+   protected void set_parameters(String[] args, Properties props)
+   {
+      throw new UnsupportedOperationException("set_parameters");
+   }
+
+   java.lang.Object readResolve() throws ObjectStreamException
+   {
+      return ORBInitialContextFactory.getORB();
+   }
+}




More information about the jboss-cvs-commits mailing list