001    package org.omg.CosTransactions;
002    
003    
004    /**
005     * Generated from IDL interface "Terminator".
006     *
007     * @author JacORB IDL compiler V 2.3.0 (JBoss patch 6), 06-Jun-2007
008     * @version generated at Sep 22, 2012 10:57:18 AM
009     */
010    
011    public abstract class TerminatorPOA
012            extends org.omg.PortableServer.Servant
013            implements org.omg.CORBA.portable.InvokeHandler, org.omg.CosTransactions.TerminatorOperations
014    {
015            static private final java.util.Hashtable m_opsHash = new java.util.Hashtable();
016            static
017            {
018                    m_opsHash.put ( "rollback", new java.lang.Integer(0));
019                    m_opsHash.put ( "commit", new java.lang.Integer(1));
020            }
021            private String[] ids = {"IDL:CosTransactions/Terminator:1.0"};
022            public org.omg.CosTransactions.Terminator _this()
023            {
024                    return org.omg.CosTransactions.TerminatorHelper.narrow(_this_object());
025            }
026            public org.omg.CosTransactions.Terminator _this(org.omg.CORBA.ORB orb)
027            {
028                    return org.omg.CosTransactions.TerminatorHelper.narrow(_this_object(orb));
029            }
030            public org.omg.CORBA.portable.OutputStream _invoke(String method, org.omg.CORBA.portable.InputStream _input, org.omg.CORBA.portable.ResponseHandler handler)
031                    throws org.omg.CORBA.SystemException
032            {
033                    org.omg.CORBA.portable.OutputStream _out = null;
034                    // do something
035                    // quick lookup of operation
036                    java.lang.Integer opsIndex = (java.lang.Integer)m_opsHash.get ( method );
037                    if ( null == opsIndex )
038                            throw new org.omg.CORBA.BAD_OPERATION(method + " not found");
039                    switch ( opsIndex.intValue() )
040                    {
041                            case 0: // rollback
042                            {
043                                    _out = handler.createReply();
044                                    rollback();
045                                    break;
046                            }
047                            case 1: // commit
048                            {
049                            try
050                            {
051                                    boolean _arg0=_input.read_boolean();
052                                    _out = handler.createReply();
053                                    commit(_arg0);
054                            }
055                            catch(org.omg.CosTransactions.HeuristicHazard _ex0)
056                            {
057                                    _out = handler.createExceptionReply();
058                                    org.omg.CosTransactions.HeuristicHazardHelper.write(_out, _ex0);
059                            }
060                            catch(org.omg.CosTransactions.HeuristicMixed _ex1)
061                            {
062                                    _out = handler.createExceptionReply();
063                                    org.omg.CosTransactions.HeuristicMixedHelper.write(_out, _ex1);
064                            }
065                                    break;
066                            }
067                    }
068                    return _out;
069            }
070    
071            public String[] _all_interfaces(org.omg.PortableServer.POA poa, byte[] obj_id)
072            {
073                    return ids;
074            }
075    }