package org.jacorb.test.bugs.bugjac192; import org.jacorb.orb.CDROutputStream; import org.omg.CORBA.ORB; import org.omg.IOP.ServiceContext; import org.omg.PortableInterceptor.ClientRequestInfo; import org.omg.PortableInterceptor.ClientRequestInterceptor; import org.omg.PortableInterceptor.ForwardRequest; /** * <code>BInterceptor</code> is a client request interceptor to help test * service context propagation after a ForwardRequest. It adds the service * context. * * @author Nick Cross */ public class BInterceptor extends org.omg.CORBA.LocalObject implements ClientRequestInterceptor { private final ORB orb; public BInterceptor(ORB orb) { this.orb = orb; } /** * <code>send_request</code> * * @param ri a <code>ClientRequestInfo</code> value * @exception ForwardRequest if an error occurs */ public void send_request( ClientRequestInfo ri ) throws ForwardRequest { byte []result = null; // This part is proprietary code to marshal the service context data final CDROutputStream os = (CDROutputStream) orb.create_output_stream(); os.write_boolean (true); result = os.getBufferCopy(); os.close(); // End ri.add_request_service_context (new ServiceContext (BugJac192Test.svcID, result), true); } /** * <code>name</code> (default impl). * * @return a <code>String</code> value */ public String name() { return "BInterceptor"; } /** * <code>destroy</code> (default impl). */ public void destroy() { } /** * <code>send_poll</code> (default impl). * * @param ri a <code>ClientRequestInfo</code> value */ public void send_poll( ClientRequestInfo ri ) { } /** * <code>receive_reply</code> (default impl). * * @param ri a <code>ClientRequestInfo</code> value */ public void receive_reply( ClientRequestInfo ri ) { } /** * <code>receive_exception</code> (default impl). * * @param ri a <code>ClientRequestInfo</code> value * @exception ForwardRequest if an error occurs */ public void receive_exception( ClientRequestInfo ri ) throws ForwardRequest { } /** * <code>receive_other</code> (default impl). * * @param ri a <code>ClientRequestInfo</code> value * @exception ForwardRequest if an error occurs */ public void receive_other( ClientRequestInfo ri ) throws ForwardRequest { } }