package org.jacorb.test.bugs.bugjac189; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAPackage.ServantAlreadyActive; import org.omg.PortableServer.POAPackage.ServantNotActive; import org.omg.PortableServer.POAPackage.WrongPolicy; /** * @author Nick Cross */ public class SessionImpl extends SessionPOA { /** * Describe variable <code>poa</code> here. * */ private final POA poa; /** * Creates a new <code>SessionImpl</code> instance. * * @param poa a <code>POA</code> value */ public SessionImpl(POA poa) { this.poa = poa; } /** * <code>test189Op</code> is a dummy operation to call via the newly created * POA. * */ public void test189Op() // NOPMD { } /** * <code>logout</code> shuts down this POA. */ public void logout() { try { poa.destroy(false, false); } catch(Exception e) { throw new org.omg.CORBA.INTERNAL ("Failed to destroy POA " + e); } } /** * Describe <code>activate</code> method here. * * @exception ServantAlreadyActive if an error occurs * @exception WrongPolicy if an error occurs */ public final void activate() throws ServantAlreadyActive, WrongPolicy { poa.activate_object(this); } /** * Describe <code>reference</code> method here. * * @return an <code>org.omg.CORBA.Object</code> value * @exception ServantNotActive if an error occurs * @exception WrongPolicy if an error occurs */ public final org.omg.CORBA.Object reference() throws ServantNotActive, WrongPolicy { return poa.servant_to_reference(this); } }