Java Code Examples for com.sun.corba.se.impl.encoding.CDRInputStream

The following examples show how to use com.sun.corba.se.impl.encoding.CDRInputStream. These examples are extracted from open source projects. 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 Project: jdk1.8-source-analysis   Source File: ServiceContexts.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Read the Service contexts from the input stream.
 */
public ServiceContexts(InputStream s)
{
    this( (ORB)(s.orb()) ) ;

    // We need to store this so that we can have access
    // to the CodeBase for unmarshaling possible
    // RMI-IIOP valuetype data within an encapsulation.
    // (Known case: UnknownExceptionInfo)
    codeBase = ((CDRInputStream)s).getCodeBase();

    createMapFromInputStream(s);

    // Fix for bug 4904723
    giopVersion = ((CDRInputStream)s).getGIOPVersion();
}
 
Example 2
Source Project: jdk1.8-source-analysis   Source File: TypeCodeImpl.java    License: Apache License 2.0 6 votes vote down vote up
public void read_value(InputStream is) {
    if (is instanceof TypeCodeReader) {
        // hardly possible unless caller knows our "private" stream classes.
        if (read_value_kind((TypeCodeReader)is))
            read_value_body(is);
    } else if (is instanceof CDRInputStream) {
        WrapperInputStream wrapper = new WrapperInputStream((CDRInputStream)is);
        //if (debug) System.out.println("Created WrapperInputStream " + wrapper +
        // " with no parent");
        if (read_value_kind((TypeCodeReader)wrapper))
            read_value_body(wrapper);
    } else {
        read_value_kind(is);
        read_value_body(is);
    }
}
 
Example 3
Source Project: jdk1.8-source-analysis   Source File: RequestMessage_1_2.java    License: Apache License 2.0 6 votes vote down vote up
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(istream);
    this.request_id = istream.read_ulong();
    this.response_flags = istream.read_octet();
    this.reserved = new byte[3];
    for (int _o0 = 0;_o0 < (3); ++_o0) {
        this.reserved[_o0] = istream.read_octet();
    }
    this.target = TargetAddressHelper.read(istream);
    getObjectKey(); // this does AddressingDisposition check
    this.operation = istream.read_string();
    this.service_contexts
        = new ServiceContexts((org.omg.CORBA_2_3.portable.InputStream) istream);

    // CORBA formal 00-11-0 15.4.2.2 GIOP 1.2 body must be
    // aligned on an 8 octet boundary.
    // Ensures that the first read operation called from the stub code,
    // during body deconstruction, would skip the header padding, that was
    // inserted to ensure that the body was aligned on an 8-octet boundary.
    ((CDRInputStream)istream).setHeaderPadding(true);

}
 
Example 4
Source Project: TencentKona-8   Source File: TypeCodeImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
public void read_value(InputStream is) {
    if (is instanceof TypeCodeReader) {
        // hardly possible unless caller knows our "private" stream classes.
        if (read_value_kind((TypeCodeReader)is))
            read_value_body(is);
    } else if (is instanceof CDRInputStream) {
        WrapperInputStream wrapper = new WrapperInputStream((CDRInputStream)is);
        //if (debug) System.out.println("Created WrapperInputStream " + wrapper +
        // " with no parent");
        if (read_value_kind((TypeCodeReader)wrapper))
            read_value_body(wrapper);
    } else {
        read_value_kind(is);
        read_value_body(is);
    }
}
 
Example 5
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(istream);
    this.request_id = istream.read_ulong();
    this.response_flags = istream.read_octet();
    this.reserved = new byte[3];
    for (int _o0 = 0;_o0 < (3); ++_o0) {
        this.reserved[_o0] = istream.read_octet();
    }
    this.target = TargetAddressHelper.read(istream);
    getObjectKey(); // this does AddressingDisposition check
    this.operation = istream.read_string();
    this.service_contexts
        = new ServiceContexts((org.omg.CORBA_2_3.portable.InputStream) istream);

    // CORBA formal 00-11-0 15.4.2.2 GIOP 1.2 body must be
    // aligned on an 8 octet boundary.
    // Ensures that the first read operation called from the stub code,
    // during body deconstruction, would skip the header padding, that was
    // inserted to ensure that the body was aligned on an 8-octet boundary.
    ((CDRInputStream)istream).setHeaderPadding(true);

}
 
Example 6
Source Project: hottub   Source File: ServiceContexts.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * Read the Service contexts from the input stream.
 */
public ServiceContexts(InputStream s)
{
    this( (ORB)(s.orb()) ) ;

    // We need to store this so that we can have access
    // to the CodeBase for unmarshaling possible
    // RMI-IIOP valuetype data within an encapsulation.
    // (Known case: UnknownExceptionInfo)
    codeBase = ((CDRInputStream)s).getCodeBase();

    createMapFromInputStream(s);

    // Fix for bug 4904723
    giopVersion = ((CDRInputStream)s).getGIOPVersion();
}
 
Example 7
Source Project: openjdk-8   Source File: TypeCodeImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
public void read_value(InputStream is) {
    if (is instanceof TypeCodeReader) {
        // hardly possible unless caller knows our "private" stream classes.
        if (read_value_kind((TypeCodeReader)is))
            read_value_body(is);
    } else if (is instanceof CDRInputStream) {
        WrapperInputStream wrapper = new WrapperInputStream((CDRInputStream)is);
        //if (debug) System.out.println("Created WrapperInputStream " + wrapper +
        // " with no parent");
        if (read_value_kind((TypeCodeReader)wrapper))
            read_value_body(wrapper);
    } else {
        read_value_kind(is);
        read_value_body(is);
    }
}
 
Example 8
public void read_value(InputStream is) {
    if (is instanceof TypeCodeReader) {
        // hardly possible unless caller knows our "private" stream classes.
        if (read_value_kind((TypeCodeReader)is))
            read_value_body(is);
    } else if (is instanceof CDRInputStream) {
        WrapperInputStream wrapper = new WrapperInputStream((CDRInputStream)is);
        //if (debug) System.out.println("Created WrapperInputStream " + wrapper +
        // " with no parent");
        if (read_value_kind((TypeCodeReader)wrapper))
            read_value_body(wrapper);
    } else {
        read_value_kind(is);
        read_value_body(is);
    }
}
 
Example 9
Source Project: jdk8u60   Source File: ServiceContexts.java    License: GNU General Public License v2.0 6 votes vote down vote up
/**
 * Read the Service contexts from the input stream.
 */
public ServiceContexts(InputStream s)
{
    this( (ORB)(s.orb()) ) ;

    // We need to store this so that we can have access
    // to the CodeBase for unmarshaling possible
    // RMI-IIOP valuetype data within an encapsulation.
    // (Known case: UnknownExceptionInfo)
    codeBase = ((CDRInputStream)s).getCodeBase();

    createMapFromInputStream(s);

    // Fix for bug 4904723
    giopVersion = ((CDRInputStream)s).getGIOPVersion();
}
 
Example 10
Source Project: jdk8u60   Source File: TypeCodeImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
public void read_value(InputStream is) {
    if (is instanceof TypeCodeReader) {
        // hardly possible unless caller knows our "private" stream classes.
        if (read_value_kind((TypeCodeReader)is))
            read_value_body(is);
    } else if (is instanceof CDRInputStream) {
        WrapperInputStream wrapper = new WrapperInputStream((CDRInputStream)is);
        //if (debug) System.out.println("Created WrapperInputStream " + wrapper +
        // " with no parent");
        if (read_value_kind((TypeCodeReader)wrapper))
            read_value_body(wrapper);
    } else {
        read_value_kind(is);
        read_value_body(is);
    }
}
 
Example 11
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(istream);
    this.request_id = istream.read_ulong();
    this.response_flags = istream.read_octet();
    this.reserved = new byte[3];
    for (int _o0 = 0;_o0 < (3); ++_o0) {
        this.reserved[_o0] = istream.read_octet();
    }
    this.target = TargetAddressHelper.read(istream);
    getObjectKey(); // this does AddressingDisposition check
    this.operation = istream.read_string();
    this.service_contexts
        = new ServiceContexts((org.omg.CORBA_2_3.portable.InputStream) istream);

    // CORBA formal 00-11-0 15.4.2.2 GIOP 1.2 body must be
    // aligned on an 8 octet boundary.
    // Ensures that the first read operation called from the stub code,
    // during body deconstruction, would skip the header padding, that was
    // inserted to ensure that the body was aligned on an 8-octet boundary.
    ((CDRInputStream)istream).setHeaderPadding(true);

}
 
Example 12
Source Project: jdk8u60   Source File: RequestMessage_1_2.java    License: GNU General Public License v2.0 6 votes vote down vote up
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(istream);
    this.request_id = istream.read_ulong();
    this.response_flags = istream.read_octet();
    this.reserved = new byte[3];
    for (int _o0 = 0;_o0 < (3); ++_o0) {
        this.reserved[_o0] = istream.read_octet();
    }
    this.target = TargetAddressHelper.read(istream);
    getObjectKey(); // this does AddressingDisposition check
    this.operation = istream.read_string();
    this.service_contexts
        = new ServiceContexts((org.omg.CORBA_2_3.portable.InputStream) istream);

    // CORBA formal 00-11-0 15.4.2.2 GIOP 1.2 body must be
    // aligned on an 8 octet boundary.
    // Ensures that the first read operation called from the stub code,
    // during body deconstruction, would skip the header padding, that was
    // inserted to ensure that the body was aligned on an 8-octet boundary.
    ((CDRInputStream)istream).setHeaderPadding(true);

}
 
Example 13
Source Project: JDKSourceCode1.8   Source File: ServiceContexts.java    License: MIT License 6 votes vote down vote up
/**
 * Read the Service contexts from the input stream.
 */
public ServiceContexts(InputStream s)
{
    this( (ORB)(s.orb()) ) ;

    // We need to store this so that we can have access
    // to the CodeBase for unmarshaling possible
    // RMI-IIOP valuetype data within an encapsulation.
    // (Known case: UnknownExceptionInfo)
    codeBase = ((CDRInputStream)s).getCodeBase();

    createMapFromInputStream(s);

    // Fix for bug 4904723
    giopVersion = ((CDRInputStream)s).getGIOPVersion();
}
 
Example 14
Source Project: JDKSourceCode1.8   Source File: TypeCodeImpl.java    License: MIT License 6 votes vote down vote up
public void read_value(InputStream is) {
    if (is instanceof TypeCodeReader) {
        // hardly possible unless caller knows our "private" stream classes.
        if (read_value_kind((TypeCodeReader)is))
            read_value_body(is);
    } else if (is instanceof CDRInputStream) {
        WrapperInputStream wrapper = new WrapperInputStream((CDRInputStream)is);
        //if (debug) System.out.println("Created WrapperInputStream " + wrapper +
        // " with no parent");
        if (read_value_kind((TypeCodeReader)wrapper))
            read_value_body(wrapper);
    } else {
        read_value_kind(is);
        read_value_body(is);
    }
}
 
Example 15
Source Project: JDKSourceCode1.8   Source File: RequestMessage_1_2.java    License: MIT License 6 votes vote down vote up
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(istream);
    this.request_id = istream.read_ulong();
    this.response_flags = istream.read_octet();
    this.reserved = new byte[3];
    for (int _o0 = 0;_o0 < (3); ++_o0) {
        this.reserved[_o0] = istream.read_octet();
    }
    this.target = TargetAddressHelper.read(istream);
    getObjectKey(); // this does AddressingDisposition check
    this.operation = istream.read_string();
    this.service_contexts
        = new ServiceContexts((org.omg.CORBA_2_3.portable.InputStream) istream);

    // CORBA formal 00-11-0 15.4.2.2 GIOP 1.2 body must be
    // aligned on an 8 octet boundary.
    // Ensures that the first read operation called from the stub code,
    // during body deconstruction, would skip the header padding, that was
    // inserted to ensure that the body was aligned on an 8-octet boundary.
    ((CDRInputStream)istream).setHeaderPadding(true);

}
 
Example 16
Source Project: openjdk-jdk8u   Source File: TypeCodeImpl.java    License: GNU General Public License v2.0 6 votes vote down vote up
public void read_value(InputStream is) {
    if (is instanceof TypeCodeReader) {
        // hardly possible unless caller knows our "private" stream classes.
        if (read_value_kind((TypeCodeReader)is))
            read_value_body(is);
    } else if (is instanceof CDRInputStream) {
        WrapperInputStream wrapper = new WrapperInputStream((CDRInputStream)is);
        //if (debug) System.out.println("Created WrapperInputStream " + wrapper +
        // " with no parent");
        if (read_value_kind((TypeCodeReader)wrapper))
            read_value_body(wrapper);
    } else {
        read_value_kind(is);
        read_value_body(is);
    }
}
 
Example 17
Source Project: openjdk-8   Source File: RequestMessage_1_2.java    License: GNU General Public License v2.0 6 votes vote down vote up
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(istream);
    this.request_id = istream.read_ulong();
    this.response_flags = istream.read_octet();
    this.reserved = new byte[3];
    for (int _o0 = 0;_o0 < (3); ++_o0) {
        this.reserved[_o0] = istream.read_octet();
    }
    this.target = TargetAddressHelper.read(istream);
    getObjectKey(); // this does AddressingDisposition check
    this.operation = istream.read_string();
    this.service_contexts
        = new ServiceContexts((org.omg.CORBA_2_3.portable.InputStream) istream);

    // CORBA formal 00-11-0 15.4.2.2 GIOP 1.2 body must be
    // aligned on an 8 octet boundary.
    // Ensures that the first read operation called from the stub code,
    // during body deconstruction, would skip the header padding, that was
    // inserted to ensure that the body was aligned on an 8-octet boundary.
    ((CDRInputStream)istream).setHeaderPadding(true);

}
 
Example 18
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(istream);
    this.request_id = istream.read_ulong();
    this.response_flags = istream.read_octet();
    this.reserved = new byte[3];
    for (int _o0 = 0;_o0 < (3); ++_o0) {
        this.reserved[_o0] = istream.read_octet();
    }
    this.target = TargetAddressHelper.read(istream);
    getObjectKey(); // this does AddressingDisposition check
    this.operation = istream.read_string();
    this.service_contexts
        = new ServiceContexts((org.omg.CORBA_2_3.portable.InputStream) istream);

    // CORBA formal 00-11-0 15.4.2.2 GIOP 1.2 body must be
    // aligned on an 8 octet boundary.
    // Ensures that the first read operation called from the stub code,
    // during body deconstruction, would skip the header padding, that was
    // inserted to ensure that the body was aligned on an 8-octet boundary.
    ((CDRInputStream)istream).setHeaderPadding(true);

}
 
Example 19
public void read_value(InputStream is) {
    if (is instanceof TypeCodeReader) {
        // hardly possible unless caller knows our "private" stream classes.
        if (read_value_kind((TypeCodeReader)is))
            read_value_body(is);
    } else if (is instanceof CDRInputStream) {
        WrapperInputStream wrapper = new WrapperInputStream((CDRInputStream)is);
        //if (debug) System.out.println("Created WrapperInputStream " + wrapper +
        // " with no parent");
        if (read_value_kind((TypeCodeReader)wrapper))
            read_value_body(wrapper);
    } else {
        read_value_kind(is);
        read_value_body(is);
    }
}
 
Example 20
public OldJIDLObjectKeyTemplate( ORB orb, int magic, int scid,
    InputStream is, OctetSeqHolder osh )
{
    this( orb, magic, scid, is );

    osh.value = readObjectKey( is ) ;

    /**
     * Beginning with JDK 1.3.1_01, a byte was placed at the end of
     * the object key with a value indicating the patch version.
     * JDK 1.3.1_01 had the value 1.  If other patches are necessary
     * which involve ORB versioning changes, they should increment
     * the patch version.
     *
     * Note that if we see a value greater than 1 in this code, we
     * will treat it as if we're talking to the most recent ORB version.
     *
     * WARNING: This code is sensitive to changes in CDRInputStream
     * getPosition.  It assumes that the CDRInputStream is an
     * encapsulation whose position can be compared to the object
     * key array length.
     */
    if (magic == ObjectKeyFactoryImpl.JAVAMAGIC_NEW &&
        osh.value.length > ((CDRInputStream)is).getPosition()) {

        patchVersion = is.read_octet();

        if (patchVersion == ObjectKeyFactoryImpl.JDK1_3_1_01_PATCH_LEVEL)
            setORBVersion(ORBVersionFactory.getJDK1_3_1_01());
        else if (patchVersion > ObjectKeyFactoryImpl.JDK1_3_1_01_PATCH_LEVEL)
            setORBVersion(ORBVersionFactory.getORBVersion());
        else
            throw wrapper.invalidJdk131PatchLevel( new Integer( patchVersion ) ) ;
    }
}
 
Example 21
Source Project: openjdk-8   Source File: ReplyMessage_1_1.java    License: 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) ;
    }
}
 
Example 22
public static TypeCodeInputStream readEncapsulation(InputStream is, org.omg.CORBA.ORB _orb) {
    // _REVISIT_ Would be nice if we didn't have to copy the buffer!
    TypeCodeInputStream encap;

    int encapLength = is.read_long();

    // read off part of the buffer corresponding to the encapsulation
    byte[] encapBuffer = new byte[encapLength];
    is.read_octet_array(encapBuffer, 0, encapBuffer.length);

    // create an encapsulation using the marshal buffer
    if (is instanceof CDRInputStream) {
        encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb,
                encapBuffer, encapBuffer.length,
                ((CDRInputStream) is).isLittleEndian(),
                ((CDRInputStream) is).getGIOPVersion());
    } else {
        encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb,
                encapBuffer, encapBuffer.length);
    }
    encap.setEnclosingInputStream(is);
    encap.makeEncapsulation();
    //if (TypeCodeImpl.debug) {
        //System.out.println("Created TypeCodeInputStream " + encap + " with parent " + is);
        //encap.printBuffer();
    //}
    return encap;
}
 
Example 23
private byte[] getId( InputStream is )
{
    CDRInputStream cis = (CDRInputStream)is ;
    int len = cis.getBufferLength() ;
    byte[] result = new byte[ len ] ;
    cis.read_octet_array( result, 0, len ) ;
    return result ;
}
 
Example 24
public OldJIDLObjectKeyTemplate( ORB orb, int magic, int scid,
    InputStream is, OctetSeqHolder osh )
{
    this( orb, magic, scid, is );

    osh.value = readObjectKey( is ) ;

    /**
     * Beginning with JDK 1.3.1_01, a byte was placed at the end of
     * the object key with a value indicating the patch version.
     * JDK 1.3.1_01 had the value 1.  If other patches are necessary
     * which involve ORB versioning changes, they should increment
     * the patch version.
     *
     * Note that if we see a value greater than 1 in this code, we
     * will treat it as if we're talking to the most recent ORB version.
     *
     * WARNING: This code is sensitive to changes in CDRInputStream
     * getPosition.  It assumes that the CDRInputStream is an
     * encapsulation whose position can be compared to the object
     * key array length.
     */
    if (magic == ObjectKeyFactoryImpl.JAVAMAGIC_NEW &&
        osh.value.length > ((CDRInputStream)is).getPosition()) {

        patchVersion = is.read_octet();

        if (patchVersion == ObjectKeyFactoryImpl.JDK1_3_1_01_PATCH_LEVEL)
            setORBVersion(ORBVersionFactory.getJDK1_3_1_01());
        else if (patchVersion > ObjectKeyFactoryImpl.JDK1_3_1_01_PATCH_LEVEL)
            setORBVersion(ORBVersionFactory.getORBVersion());
        else
            throw wrapper.invalidJdk131PatchLevel( new Integer( patchVersion ) ) ;
    }
}
 
Example 25
private byte[] getId( InputStream is )
{
    CDRInputStream cis = (CDRInputStream)is ;
    int len = cis.getBufferLength() ;
    byte[] result = new byte[ len ] ;
    cis.read_octet_array( result, 0, len ) ;
    return result ;
}
 
Example 26
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 ) ;
    }
}
 
Example 27
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(istream);
    this.request_id = istream.read_ulong();
    this.locate_status = istream.read_long();
    isValidReplyStatus(this.locate_status); // raises exception on error

    // The code below reads the reply body if status is OBJECT_FORWARD
    if (this.locate_status == OBJECT_FORWARD) {
        CDRInputStream cdr = (CDRInputStream) istream;
        this.ior = IORFactories.makeIOR( cdr ) ;
    }
}
 
Example 28
public void read(org.omg.CORBA.portable.InputStream istream) {
    super.read(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 if status is OBJECT_FORWARD
    if (this.reply_status == OBJECT_FORWARD) {
        CDRInputStream cdr = (CDRInputStream) istream;
        this.ior = IORFactories.makeIOR( cdr ) ;
    }
}
 
Example 29
Source Project: openjdk-8   Source File: ReplyMessage_1_0.java    License: 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 ) ;
    }
}
 
Example 30
public OldJIDLObjectKeyTemplate( ORB orb, int magic, int scid,
    InputStream is, OctetSeqHolder osh )
{
    this( orb, magic, scid, is );

    osh.value = readObjectKey( is ) ;

    /**
     * Beginning with JDK 1.3.1_01, a byte was placed at the end of
     * the object key with a value indicating the patch version.
     * JDK 1.3.1_01 had the value 1.  If other patches are necessary
     * which involve ORB versioning changes, they should increment
     * the patch version.
     *
     * Note that if we see a value greater than 1 in this code, we
     * will treat it as if we're talking to the most recent ORB version.
     *
     * WARNING: This code is sensitive to changes in CDRInputStream
     * getPosition.  It assumes that the CDRInputStream is an
     * encapsulation whose position can be compared to the object
     * key array length.
     */
    if (magic == ObjectKeyFactoryImpl.JAVAMAGIC_NEW &&
        osh.value.length > ((CDRInputStream)is).getPosition()) {

        patchVersion = is.read_octet();

        if (patchVersion == ObjectKeyFactoryImpl.JDK1_3_1_01_PATCH_LEVEL)
            setORBVersion(ORBVersionFactory.getJDK1_3_1_01());
        else if (patchVersion > ObjectKeyFactoryImpl.JDK1_3_1_01_PATCH_LEVEL)
            setORBVersion(ORBVersionFactory.getORBVersion());
        else
            throw wrapper.invalidJdk131PatchLevel( new Integer( patchVersion ) ) ;
    }
}