package org.jacorb.test.bugs.bugjac192; import org.jacorb.config.Configurable; import org.jacorb.config.Configuration; import org.jacorb.config.ConfigurationException; import org.omg.CORBA.Any; import org.omg.CORBA.INTERNAL; import org.omg.CORBA.ORB; import org.omg.CORBA.ORBPackage.InvalidName; import org.omg.PortableInterceptor.Current; import org.omg.PortableInterceptor.InvalidSlot; /** * <code>JAC192Impl</code> is a basic server implementation. It checks the * information stored with PICurrent by the SInterceptor in order to return * the correct value to the client. * * @author Nick Cross */ public class JAC192Impl extends JAC192POA implements Configurable { private ORB orb; public void configure(Configuration configuration) throws ConfigurationException { orb = ((org.jacorb.config.Configuration)configuration).getORB(); } /** * <code>test192Op</code> dummy impl. * @return an <code>boolean</code> value depending upon the result of the * interceptors. true for local; false for not local. */ public boolean test192Op() { boolean result = false; try { Current current = (Current)orb.resolve_initial_references ( "PICurrent" ); Any anyName = current.get_slot( SInitializer.slotID ); result = anyName.extract_boolean(); } catch (InvalidSlot e) { throw new INTERNAL(e.toString()); } catch (InvalidName e) { throw new INTERNAL(e.toString()); } return result; } }