com.sun.corba.se.impl.orbutil.ORBUtility Java Examples

The following examples show how to use com.sun.corba.se.impl.orbutil.ORBUtility. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: StateEngineImpl.java    From jdk1.8-source-analysis with Apache License 2.0 6 votes vote down vote up
public void doIt( FSM fsm, Input in, boolean debug )
{
    // This method is present only for debugging.
    // innerDoIt does the actual transition.

    if (debug)
        ORBUtility.dprint( this, "doIt enter: currentState = " +
            fsm.getState() + " in = " + in ) ;

    try {
        innerDoIt( fsm, in, debug ) ;
    } finally {
        if (debug)
            ORBUtility.dprint( this, "doIt exit" ) ;
    }
}
 
Example #2
Source File: POAImpl.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
public void doIt( POAImpl thePoa, boolean wait )
{
    if (debug) {
        ORBUtility.dprint( this,
            "Calling DestroyThread.doIt(thePOA=" + thePoa +
            " wait=" + wait + " etherealize=" + etherealize ) ;
    }

    this.thePoa = thePoa ;
    this.wait = wait ;

    if (wait) {
        run() ;
    } else {
        // Catch exceptions since setDaemon can cause a
        // security exception to be thrown under netscape
        // in the Applet mode
        try { setDaemon(true); } catch (Exception e) {}
        start() ;
    }
}
 
Example #3
Source File: StateEngineImpl.java    From JDKSourceCode1.8 with MIT License 6 votes vote down vote up
public void doIt( FSM fsm, Input in, boolean debug )
{
    // This method is present only for debugging.
    // innerDoIt does the actual transition.

    if (debug)
        ORBUtility.dprint( this, "doIt enter: currentState = " +
            fsm.getState() + " in = " + in ) ;

    try {
        innerDoIt( fsm, in, debug ) ;
    } finally {
        if (debug)
            ORBUtility.dprint( this, "doIt exit" ) ;
    }
}
 
Example #4
Source File: POAManagerImpl.java    From jdk1.8-source-analysis with Apache License 2.0 6 votes vote down vote up
synchronized void enter()
{
    try {
        if (debug) {
            ORBUtility.dprint( this,
                "Calling enter for POAManagerImpl " + this ) ;
        }

        checkState();
        nInvocations++;
    } finally {
        if (debug) {
            ORBUtility.dprint( this,
                "Exiting enter for POAManagerImpl " + this ) ;
        }
    }
}
 
Example #5
Source File: StateEngineImpl.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
public void doIt( FSM fsm, Input in, boolean debug )
{
    // This method is present only for debugging.
    // innerDoIt does the actual transition.

    if (debug)
        ORBUtility.dprint( this, "doIt enter: currentState = " +
            fsm.getState() + " in = " + in ) ;

    try {
        innerDoIt( fsm, in, debug ) ;
    } finally {
        if (debug)
            ORBUtility.dprint( this, "doIt exit" ) ;
    }
}
 
Example #6
Source File: POAImpl.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
/**
 * <code>servant_to_reference</code>
 * <b>3.3.8.20</b>
 */
public org.omg.CORBA.Object servant_to_reference(Servant servant)
    throws ServantNotActive, WrongPolicy
{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this,
                "Calling servant_to_reference(servant=" +
                servant + ") on poa " + this ) ;
        }

        byte[] oid = mediator.servantToId(servant);
        String repId = servant._all_interfaces( this, oid )[0] ;
        return create_reference_with_id(oid, repId);
    } finally {
        unlock() ;
    }
}
 
Example #7
Source File: CorbaMessageMediatorImpl.java    From openjdk-8 with GNU General Public License v2.0 6 votes vote down vote up
private byte getStreamFormatVersionForThisRequest(IOR ior,
                                                  GIOPVersion giopVersion)
{

    byte localMaxVersion
        = ORBUtility.getMaxStreamFormatVersion();

    IOR effectiveTargetIOR =
        ((CorbaContactInfo)this.contactInfo).getEffectiveTargetIOR();
    IIOPProfileTemplate temp =
        (IIOPProfileTemplate)effectiveTargetIOR.getProfile().getTaggedProfileTemplate();
    Iterator iter = temp.iteratorById(TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.value);
    if (!iter.hasNext()) {
        // Didn't have the max stream format version tagged
        // component.
        if (giopVersion.lessThan(GIOPVersion.V1_3))
            return ORBConstants.STREAM_FORMAT_VERSION_1;
        else
            return ORBConstants.STREAM_FORMAT_VERSION_2;
    }

    byte remoteMaxVersion
        = ((MaxStreamFormatVersionComponent)iter.next()).getMaxStreamFormatVersion();

    return (byte)Math.min(localMaxVersion, remoteMaxVersion);
}
 
Example #8
Source File: INSURLOperationImpl.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
/** This static method takes a Stringified IOR and converts it into IOR object.
  * It is the caller's responsibility to only pass strings that start with "IOR:".
  */
private org.omg.CORBA.Object getIORFromString( String str )
{
    // Length must be even for str to be valid
    if ( (str.length() & 1) == 1 )
        throw wrapper.badStringifiedIorLen() ;

    byte[] buf = new byte[(str.length() - ORBConstants.STRINGIFY_PREFIX.length()) / NIBBLES_PER_BYTE];
    for (int i=ORBConstants.STRINGIFY_PREFIX.length(), j=0; i < str.length(); i +=NIBBLES_PER_BYTE, j++) {
         buf[j] = (byte)((ORBUtility.hexOf(str.charAt(i)) << UN_SHIFT) & 0xF0);
         buf[j] |= (byte)(ORBUtility.hexOf(str.charAt(i+1)) & 0x0F);
    }
    EncapsInputStream s = EncapsInputStreamFactory.newEncapsInputStream(orb, buf, buf.length,
            orb.getORBData().getGIOPVersion());
    s.consumeEndian();
    return s.read_Object() ;
}
 
Example #9
Source File: POAImpl.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * <code>reference_to_servant</code>
 * <b>3.3.8.21</b>
 */
public Servant reference_to_servant(org.omg.CORBA.Object reference)
    throws ObjectNotActive, WrongPolicy, WrongAdapter
{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this,
                "Calling reference_to_servant(reference=" +
                reference + ") on poa " + this ) ;
        }

        if ( state >= STATE_DESTROYING ) {
            throw lifecycleWrapper().adapterDestroyed() ;
        }

        // reference_to_id should throw WrongAdapter
        // if the objref was not created by this POA
        byte [] id = internalReferenceToId(reference);

        return mediator.idToServant( id ) ;
    } finally {
        unlock() ;
    }
}
 
Example #10
Source File: INSURLOperationImpl.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
/** This static method takes a Stringified IOR and converts it into IOR object.
  * It is the caller's responsibility to only pass strings that start with "IOR:".
  */
private org.omg.CORBA.Object getIORFromString( String str )
{
    // Length must be even for str to be valid
    if ( (str.length() & 1) == 1 )
        throw wrapper.badStringifiedIorLen() ;

    byte[] buf = new byte[(str.length() - ORBConstants.STRINGIFY_PREFIX.length()) / NIBBLES_PER_BYTE];
    for (int i=ORBConstants.STRINGIFY_PREFIX.length(), j=0; i < str.length(); i +=NIBBLES_PER_BYTE, j++) {
         buf[j] = (byte)((ORBUtility.hexOf(str.charAt(i)) << UN_SHIFT) & 0xF0);
         buf[j] |= (byte)(ORBUtility.hexOf(str.charAt(i+1)) & 0x0F);
    }
    EncapsInputStream s = EncapsInputStreamFactory.newEncapsInputStream(orb, buf, buf.length,
            orb.getORBData().getGIOPVersion());
    s.consumeEndian();
    return s.read_Object() ;
}
 
Example #11
Source File: POAImpl.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
public void exit()
{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this, "Calling exit on poa " + this ) ;
        }

        invocationCount--;

        if ((invocationCount == 0) && (state == STATE_DESTROYING)) {
            invokeCV.broadcast();
        }
    } finally {
        if (debug) {
            ORBUtility.dprint( this, "Exiting exit on poa " + this ) ;
        }

        unlock() ;
    }

    manager.exit();
}
 
Example #12
Source File: CorbaMessageMediatorImpl.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
private byte getStreamFormatVersionForThisRequest(IOR ior,
                                                  GIOPVersion giopVersion)
{

    byte localMaxVersion
        = ORBUtility.getMaxStreamFormatVersion();

    IOR effectiveTargetIOR =
        ((CorbaContactInfo)this.contactInfo).getEffectiveTargetIOR();
    IIOPProfileTemplate temp =
        (IIOPProfileTemplate)effectiveTargetIOR.getProfile().getTaggedProfileTemplate();
    Iterator iter = temp.iteratorById(TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.value);
    if (!iter.hasNext()) {
        // Didn't have the max stream format version tagged
        // component.
        if (giopVersion.lessThan(GIOPVersion.V1_3))
            return ORBConstants.STREAM_FORMAT_VERSION_1;
        else
            return ORBConstants.STREAM_FORMAT_VERSION_2;
    }

    byte remoteMaxVersion
        = ((MaxStreamFormatVersionComponent)iter.next()).getMaxStreamFormatVersion();

    return (byte)Math.min(localMaxVersion, remoteMaxVersion);
}
 
Example #13
Source File: POAImpl.java    From JDKSourceCode1.8 with MIT License 6 votes vote down vote up
public void doIt( POAImpl thePoa, boolean wait )
{
    if (debug) {
        ORBUtility.dprint( this,
            "Calling DestroyThread.doIt(thePOA=" + thePoa +
            " wait=" + wait + " etherealize=" + etherealize ) ;
    }

    this.thePoa = thePoa ;
    this.wait = wait ;

    if (wait) {
        run() ;
    } else {
        // Catch exceptions since setDaemon can cause a
        // security exception to be thrown under netscape
        // in the Applet mode
        try { setDaemon(true); } catch (Exception e) {}
        start() ;
    }
}
 
Example #14
Source File: POAImpl.java    From openjdk-8 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * <code>reference_to_id</code>
 * <b>3.3.8.22</b>
 */
public byte[] reference_to_id(org.omg.CORBA.Object reference)
    throws WrongAdapter, WrongPolicy
{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this, "Calling reference_to_id(reference=" +
                reference + ") on poa " + this ) ;
        }

        if( state >= STATE_DESTROYING ) {
            throw lifecycleWrapper().adapterDestroyed() ;
        }

        return internalReferenceToId( reference ) ;
    } finally {
        unlock() ;
    }
}
 
Example #15
Source File: INSURLOperationImpl.java    From jdk1.8-source-analysis with Apache License 2.0 6 votes vote down vote up
/** This static method takes a Stringified IOR and converts it into IOR object.
  * It is the caller's responsibility to only pass strings that start with "IOR:".
  */
private org.omg.CORBA.Object getIORFromString( String str )
{
    // Length must be even for str to be valid
    if ( (str.length() & 1) == 1 )
        throw wrapper.badStringifiedIorLen() ;

    byte[] buf = new byte[(str.length() - ORBConstants.STRINGIFY_PREFIX.length()) / NIBBLES_PER_BYTE];
    for (int i=ORBConstants.STRINGIFY_PREFIX.length(), j=0; i < str.length(); i +=NIBBLES_PER_BYTE, j++) {
         buf[j] = (byte)((ORBUtility.hexOf(str.charAt(i)) << UN_SHIFT) & 0xF0);
         buf[j] |= (byte)(ORBUtility.hexOf(str.charAt(i+1)) & 0x0F);
    }
    EncapsInputStream s = EncapsInputStreamFactory.newEncapsInputStream(orb, buf, buf.length,
            orb.getORBData().getGIOPVersion());
    s.consumeEndian();
    return s.read_Object() ;
}
 
Example #16
Source File: CDROutputStream_1_0.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
public void write_wchar(char x)
{
    // Don't allow transmission of wchar/wstring data with
    // foreign ORBs since it's against the spec.
    if (ORBUtility.isForeignORB(orb)) {
        throw wrapper.wcharDataInGiop10(CompletionStatus.COMPLETED_MAYBE);
    }

    // If it's one of our legacy ORBs, do what they did:
    alignAndReserve(2, 2);

    if (littleEndian) {
        writeLittleEndianWchar(x);
    } else {
        writeBigEndianWchar(x);
    }
}
 
Example #17
Source File: POAImpl.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
private byte[] internalReferenceToId(
    org.omg.CORBA.Object reference ) throws WrongAdapter
{
    IOR ior = ORBUtility.getIOR( reference ) ;
    IORTemplateList thisTemplate = ior.getIORTemplates() ;

    ObjectReferenceFactory orf = getCurrentFactory() ;
    IORTemplateList poaTemplate =
        IORFactories.getIORTemplateList( orf ) ;

    if (!poaTemplate.isEquivalent( thisTemplate ))
        throw new WrongAdapter();

    // Extract the ObjectId from the first TaggedProfile in the IOR.
    // If ior was created in this POA, the same ID was used for
    // every profile through the profile templates in the currentFactory,
    // so we will get the same result from any profile.
    Iterator iter = ior.iterator() ;
    if (!iter.hasNext())
        throw iorWrapper().noProfilesInIor() ;
    TaggedProfile prof = (TaggedProfile)(iter.next()) ;
    ObjectId oid = prof.getObjectId() ;

    return oid.getId();
}
 
Example #18
Source File: ReentrantMutex.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
public synchronized void release()
{
    try {
        if (debug)
            ORBUtility.dprintTrace( this, "release enter: " +
                " holder_=" + ORBUtility.getThreadName(holder_) +
                " counter_=" + counter_ ) ;

        Thread thr = Thread.currentThread();
        if (thr != holder_)
            throw new INTERNAL(
                "Attempt to release Mutex by thread not holding the Mutex" ) ;
        else
            counter_ -- ;

        if (counter_ == 0) {
            holder_ = null;
            notify();
        }
    } finally {
        if (debug)
            ORBUtility.dprintTrace( this, "release exit: " +
                " holder_=" + ORBUtility.getThreadName(holder_) +
                " counter_=" + counter_ ) ;
    }
}
 
Example #19
Source File: TransientObjectManager.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
public synchronized java.lang.Object lookupServantData(byte transientKey[])
{
    int index = ORBUtility.bytesToInt(transientKey,0);
    int counter = ORBUtility.bytesToInt(transientKey,4);

    if (orb.transientObjectManagerDebugFlag)
        dprint( "lookupServantData called with index=" + index + ", counter=" + counter ) ;

    if (elementArray[index].counter == counter &&
        elementArray[index].valid ) {
        if (orb.transientObjectManagerDebugFlag)
            dprint( "\tcounter is valid" ) ;
        return elementArray[index].servantData;
    }

    // servant not found
    if (orb.transientObjectManagerDebugFlag)
        dprint( "\tcounter is invalid" ) ;
    return null;
}
 
Example #20
Source File: POAImpl.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * <code>id_to_reference</code>
 * <b>3.3.8.24</b>
 */
public org.omg.CORBA.Object id_to_reference(byte[] id)
    throws ObjectNotActive, WrongPolicy

{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this, "Calling id_to_reference(id=" +
                id + ") on poa " + this ) ;
        }

        if( state >= STATE_DESTROYING ) {
            throw lifecycleWrapper().adapterDestroyed() ;
        }

        Servant s = mediator.idToServant( id ) ;
        String repId = s._all_interfaces( this, id )[0] ;
        return makeObject(repId, id );
    } finally {
        unlock() ;
    }
}
 
Example #21
Source File: POAImpl.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
/**
 * <code>create_reference</code>
 * <b>3.3.8.17</b>
 */
public org.omg.CORBA.Object create_reference(String repId)
    throws WrongPolicy
{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this, "Calling create_reference(repId=" +
                repId + ") on poa " + this ) ;
        }

        return makeObject( repId, mediator.newSystemId()) ;
    } finally {
        unlock() ;
    }
}
 
Example #22
Source File: POAImpl.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
public void doIt( POAImpl thePoa, boolean wait )
{
    if (debug) {
        ORBUtility.dprint( this,
            "Calling DestroyThread.doIt(thePOA=" + thePoa +
            " wait=" + wait + " etherealize=" + etherealize ) ;
    }

    this.thePoa = thePoa ;
    this.wait = wait ;

    if (wait) {
        run() ;
    } else {
        // Catch exceptions since setDaemon can cause a
        // security exception to be thrown under netscape
        // in the Applet mode
        try { setDaemon(true); } catch (Exception e) {}
        start() ;
    }
}
 
Example #23
Source File: ReentrantMutex.java    From JDKSourceCode1.8 with MIT License 6 votes vote down vote up
public synchronized void release()
{
    try {
        if (debug)
            ORBUtility.dprintTrace( this, "release enter: " +
                " holder_=" + ORBUtility.getThreadName(holder_) +
                " counter_=" + counter_ ) ;

        Thread thr = Thread.currentThread();
        if (thr != holder_)
            throw new INTERNAL(
                "Attempt to release Mutex by thread not holding the Mutex" ) ;
        else
            counter_ -- ;

        if (counter_ == 0) {
            holder_ = null;
            notify();
        }
    } finally {
        if (debug)
            ORBUtility.dprintTrace( this, "release exit: " +
                " holder_=" + ORBUtility.getThreadName(holder_) +
                " counter_=" + counter_ ) ;
    }
}
 
Example #24
Source File: POAImpl.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * <code>reference_to_id</code>
 * <b>3.3.8.22</b>
 */
public byte[] reference_to_id(org.omg.CORBA.Object reference)
    throws WrongAdapter, WrongPolicy
{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this, "Calling reference_to_id(reference=" +
                reference + ") on poa " + this ) ;
        }

        if( state >= STATE_DESTROYING ) {
            throw lifecycleWrapper().adapterDestroyed() ;
        }

        return internalReferenceToId( reference ) ;
    } finally {
        unlock() ;
    }
}
 
Example #25
Source File: POAImpl.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
/**
 * <code>servant_to_reference</code>
 * <b>3.3.8.20</b>
 */
public org.omg.CORBA.Object servant_to_reference(Servant servant)
    throws ServantNotActive, WrongPolicy
{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this,
                "Calling servant_to_reference(servant=" +
                servant + ") on poa " + this ) ;
        }

        byte[] oid = mediator.servantToId(servant);
        String repId = servant._all_interfaces( this, oid )[0] ;
        return create_reference_with_id(oid, repId);
    } finally {
        unlock() ;
    }
}
 
Example #26
Source File: POAImpl.java    From jdk1.8-source-analysis with Apache License 2.0 5 votes vote down vote up
/** Called from the subcontract to let this POA cleanup after an
 *  invocation. Note: If getServant was called, then returnServant
 *  MUST be called, even in the case of exceptions.  This may be
 *  called multiple times for a single request.
 */
public void returnServant()
{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this,
                "Calling returnServant on poa " + this  ) ;
        }

        mediator.returnServant();
    } catch (Throwable thr) {
        if (debug) {
            ORBUtility.dprint( this,
                "Exception " + thr + " in returnServant on poa " + this  ) ;
        }

        if (thr instanceof Error)
            throw (Error)thr ;
        else if (thr instanceof RuntimeException)
            throw (RuntimeException)thr ;

    } finally {
        if (debug) {
            ORBUtility.dprint( this,
                "Exiting returnServant on poa " + this  ) ;
        }

        unlock() ;
    }
}
 
Example #27
Source File: CDROutputStream_1_0.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
public void write_abstract_interface(java.lang.Object obj) {
    boolean corbaObject = false; // Assume value type.
    org.omg.CORBA.Object theObject = null;

    // Is it a CORBA.Object?

    if (obj != null && obj instanceof org.omg.CORBA.Object) {

        // Yes.

        theObject = (org.omg.CORBA.Object)obj;
        corbaObject = true;
    }

    // Write our flag...

    write_boolean(corbaObject);

    // Now write out the object...

    if (corbaObject) {
        write_Object(theObject);
    } else {
        try {
            write_value((java.io.Serializable)obj);
        } catch(ClassCastException cce) {
            if (obj instanceof java.io.Serializable)
                throw cce;
            else
                ORBUtility.throwNotSerializableForCorba(obj.getClass().getName());
        }
    }
}
 
Example #28
Source File: POAPolicyMediatorBase.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
public synchronized byte[] newSystemId() throws WrongPolicy
{
    if (!isSystemId)
        throw new WrongPolicy() ;

    byte[] array = new byte[8];
    ORBUtility.intToBytes(++sysIdCounter, array, 0);
    ORBUtility.intToBytes( poa.getPOAId(), array, 4);
    return array;
}
 
Example #29
Source File: RequestInfoImpl.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Retrieves the IOR of the ForwardRequest exception.
 */
protected IOR getForwardRequestIOR() {
    if( this.forwardRequestIOR == null ) {
        if( this.forwardRequest != null ) {
            this.forwardRequestIOR = ORBUtility.getIOR(
                this.forwardRequest.forward ) ;
        }
    }

    return this.forwardRequestIOR;
}
 
Example #30
Source File: ReplyMessage_1_0.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(istream);
    this.service_contexts
        = new ServiceContexts((org.omg.CORBA_2_3.portable.InputStream) istream);
    this.request_id = istream.read_ulong();
    this.reply_status = istream.read_long();
    isValidReplyStatus(this.reply_status); // raises exception on error

    // The code below reads the reply body in some cases
    // SYSTEM_EXCEPTION & LOCATION_FORWARD
    if (this.reply_status == SYSTEM_EXCEPTION) {

        String reposId = istream.read_string();
        this.exClassName = ORBUtility.classNameOf(reposId);
        this.minorCode = istream.read_long();
        int status = istream.read_long();

        switch (status) {
        case CompletionStatus._COMPLETED_YES:
            this.completionStatus = CompletionStatus.COMPLETED_YES;
            break;
        case CompletionStatus._COMPLETED_NO:
            this.completionStatus = CompletionStatus.COMPLETED_NO;
            break;
        case CompletionStatus._COMPLETED_MAYBE:
            this.completionStatus = CompletionStatus.COMPLETED_MAYBE;
            break;
        default:
            throw wrapper.badCompletionStatusInReply(
                CompletionStatus.COMPLETED_MAYBE, new Integer(status) );
        }

    } else if (this.reply_status == USER_EXCEPTION) {
        // do nothing. The client stub will read the exception from body.
    } else if (this.reply_status == LOCATION_FORWARD) {
        CDRInputStream cdr = (CDRInputStream) istream;
        this.ior = IORFactories.makeIOR( cdr ) ;
    }
}