Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2006, Red Hat Middleware LLC, and individual contributors
   * as indicated by the @author tags. 
   * See the copyright.txt in the distribution for a full listing 
   * of individual contributors.
   * This copyrighted material is made available to anyone wishing to use,
   * modify, copy, or redistribute it subject to the terms and conditions
   * of the GNU Lesser General Public License, v. 2.1.
  * This program is distributed in the hope that it will be useful, but WITHOUT A
  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
  * 
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
 /*
  * Copyright (c) 2003, Arjuna Technologies Limited.
  *
  * $Id: BusinessAgreementWithParticipantCompletionStub.java,v 1.1.2.2 2004/06/18 15:06:09 nmcl Exp $
  */
 
 package com.arjuna.wst11.stub;
 
 
 
 
 {
     private static final QName QNAME_BAPCWS_PARTICIPANT = new QName("bapcwsParticipant") ;
 
 
         throws Exception
     {
         this. = participant ;
     }

    
constructor for use during recovery

 
     {
         this. = null ;
     }
 
     public synchronized void close ()
         throws WrongStateExceptionSystemException
     {
         /*
          * Active -> illegal state
          * Canceling -> illegal state
          * Completed -> illegal state
          * Closing -> no response
          * Compensating -> illegal state
          * Faulting -> illegal state
          * Faulting-Active -> illegal state
          * Faulting-Compensating -> illegal state
          * Exiting -> illegal state
          * Ended -> ended
          */
         final State state = .close() ;
 
         if (state == .)
         {
             throw new SystemException() ;
         }
         else if (state != .)
         {
             throw new WrongStateException() ;
         }
     }
 
    public synchronized void cancel ()
    {
        /*
         * Active -> illegal state
         * Canceling -> no response
         * Completed -> illegal state
         * Closing -> illegal state
         * Compensating -> illegal state
         * Faulting -> illegal state
         * Faulting-Active -> illegal state
         * Faulting-Compensating -> illegal state
         * Exiting -> illegal state
         * Ended -> ended
         */
        final State state = .cancel() ;
        if (state == .)
        {
            //Complete arrived, whilst the coordinator was trying to abort.
            compensate();
        }
        else if (state == .)
        {
            throw new SystemException() ;
        }
        else if (state == .)
        {
            throw new FaultedException() ;
        }
        else if (state != .)
        {
            throw new WrongStateException() ;
        }
    }
    public synchronized void compensate ()
    {
        /*
         * Active -> illegal state
         * Canceling -> illegal state
         * Completed -> illegal state
         * Closing -> illegal state
         * Compensating -> no answer
         * Faulting -> illegal state
         * Faulting-Active -> illegal state
         * Faulting-Compensating -> fault
         * Exiting -> illegal state
         * Ended -> ended
         */
        final State state = .compensate() ;
        if (state == .)
        {
            throw new SystemException() ;
        }
        else if (state == .)
        {
            throw new FaultedException() ;
        }
        else if (state != .)
        {
            throw new WrongStateException() ;
        }
    }
    public String status ()
        throws SystemException
    {
        final State state = .getStatus() ;
        return (state == null ? null : state.getValue().getLocalPart()) ;
    }
    public void unknown ()
        throws SystemException
    {
        error() ;
    }
    public synchronized void error ()
        throws SystemException
    {
        .cancel() ;
    }
    public boolean saveState(final OutputObjectState oos)
    {
        try
        {
            oos.packString(.getId()) ;
            // n.b. just use toString() for the endpoint -- it uses the writeTo() method which calls a suitable marshaller
            final StringWriter sw = new StringWriter() ;
            final XMLStreamWriter writer = SoapUtils.getXMLStreamWriter(sw) ;
            StreamHelper.writeStartElement(writer) ;
            String eprefText = .getParticipant().toString();
            writer.writeCData(eprefText);
            StreamHelper.writeEndElement(writernullnull) ;
            writer.close() ;
            oos.packString(sw.toString()) ;
            final State state = .getStatus();
            final QName stateName = state.getValue();
            final String ns = stateName.getNamespaceURI();
            final String localPart = stateName.getLocalPart();
            final String prefix = stateName.getPrefix();
            oos.packString(ns != null ? ns : "");
            oos.packString(localPart != null ? localPart : "");
            oos.packString(prefix != null ? prefix : "");
            return true ;
        }
        catch (final Throwable th)
        {
            return false ;
        }
    }
    public boolean restoreState(final InputObjectState ios)
    {
        try
        {
            final String id = ios.unpackString() ;
            final String eprValue = ios.unpackString() ;
            // this should successfully reverse the save process
            final XMLStreamReader reader = SoapUtils.getXMLStreamReader(new StringReader(eprValue)) ;
            StreamHelper.checkNextStartTag(reader) ;
            String eprefText = reader.getElementText();
            StreamSource source = new StreamSource(new StringReader(eprefText));
            final W3CEndpointReference endpointReference = new W3CEndpointReference(source);
            String ns = ios.unpackString();
            final String localPart = ios.unpackString();
            String prefix = ios.unpackString();
            if ("".equals(ns)) {
                ns = null;
            }
            if ("".equals(prefix)) {
                prefix = null;
            }
            QName statename = new QName(nslocalPartprefix);
            State state = State.toState11(statename);
            // if we already have an engine from a previous recovery scan or because
            // we had a heuristic outcome then reuse it with luck it will have been committed
            // or aborted between the last scan and this one
            // note that whatever happens it will not have been removed from the table
            // because it is marked as recovered
             = (ParticipantCompletionCoordinatorEngine) ParticipantCompletionCoordinatorProcessor.getProcessor().getCoordinator(id);
            if ( == null) {
                 = new ParticipantCompletionCoordinatorEngine(idendpointReferencestatetrue);
            }
            return true ;
        }
        catch (final Throwable th)
        {
            return false ;
        }
    }
New to GrepCode? Check out our FAQ X