package org.jacorb.test.bugs.bug927; import org.jacorb.config.Configuration; import org.jacorb.config.ConfigurationException; import org.omg.CORBA.Any; import org.omg.CORBA.ORB; import org.omg.PortableInterceptor.Current; import org.omg.CORBA.INTERNAL; import org.slf4j.Logger; public class TestObjectImpl extends TestObjectPOA { private ORB orb; private Logger logger; TestObjectImpl(ORB orb) { this.orb = orb; logger = ((org.jacorb.orb.ORB)orb).getConfiguration ().getLogger("org.jacorb.test"); } public void foo() throws InterceptorOrderingException { try { Current current = (Current) orb.resolve_initial_references( "PICurrent" ); Any any = current.get_slot( MyInitializer.slot_id ); String s = any.extract_string(); logger.debug ("TestObjectImpl.foo, extracted from PICurrent: >>" + s + "<<"); String expectedPiFlow = "JacOrbRocks:receive_request_service_contexts:preinvoke:receive_request:foo"; if (! expectedPiFlow.equals(s)) { throw new InterceptorOrderingException(); } logger.debug ("TestObjectImpl.foo calling bar()"); TestObjectHelper.narrow(_this_object()).bar(); } catch (InterceptorOrderingException e) { throw e; } catch( Exception e ) { throw new INTERNAL ("Caught " + e); } } public void bar() throws InterceptorOrderingException { try { logger.debug("TestObjectImpl.bar called"); Current current = (Current) orb.resolve_initial_references( "PICurrent" ); Any any = current.get_slot( MyInitializer.slot_id ); String s = any.extract_string(); logger.debug ("TestObjectImpl.bar, extracted from PICurrent: >>" + s + "<<"); String expectedPiFlow = "JacOrbRocks:receive_request_service_contexts:preinvoke:receive_request:foo:receive_request_service_contexts:preinvoke:receive_request:bar"; if (! expectedPiFlow.equals(s)) { throw new InterceptorOrderingException(); } } catch (InterceptorOrderingException e) { throw e; } catch( Exception e ) { throw new INTERNAL ("Caught " + e); } } public void configure(Configuration arg) throws ConfigurationException { orb = arg.getORB(); } }