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) 2002,
  *
  * Arjuna Technologies Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
  * UK.
  *
  * $Id: ParticipantRecord.java,v 1.11 2005/06/09 09:41:27 nmcl Exp $
  */
 
 package com.arjuna.mwlabs.wscf.model.twophase.arjunacore;
 
 
 
 
 
 
Arjuna abstract record to handle two-phase participants.

Author(s):
Mark Little (mark.little@arjuna.com)
Version:
$Id: ParticipantRecord.java,v 1.11 2005/06/09 09:41:27 nmcl Exp $
 
 
 public class ParticipantRecord extends
 {

Constructor.

Parameters:
theResource is the proxy that allows us to call out to the object.
 
 
 	public ParticipantRecord (Participant theResourceUid id)
 	{
 		super(idnull.);
 
 		 = theResource;
 		 = 0;
 
         if (theResource == null)
 	}

Override AbstractRecord.propagateOnCommit
 
 
 	public boolean propagateOnCommit ()
 	{
 		return true;
 	}

The type of this abstract record.
 
 
 	public int typeIs ()
 	{
 		// TODO add specific record type.
 
	}

The internal value.
	public Object value ()
	{
	}

Set the internal value. Not allowed for this class.
	public void setValue (Object o)
	{
	}

The record is being driven through nested rollback.
	// TODO
	public int nestedAbort ()
	{
		try
		{
			if ( != null)
			{
			}
			else
		}
		catch (Exception ex6) {
            ex6.printStackTrace();
            return .;
        }
	}

The record is being driven through nested commit.
	public int nestedCommit ()
	{
		try
		{
			if ( != null)
			{
			}
			else
		}
		catch (Exception ex6) {
            return .;
        }
	}

The record is being driven through nested prepare.
	public int nestedPrepare ()
	{
		try
		{
			if ( != null)
			{
			}
			else
		}
		catch (Exception e6) {
            return .;
        }
	}

The record is being driven through top-level rollback.
	public int topLevelAbort ()
	{
		try
		{
			if ( != null)
			{
				try
				{
				}
				{
				}
				{
				}
				{
				}
				{
				}
				{
				}
				catch (SystemException ex)
				{
				}
			}
			else
		}
		catch (Exception ex6) {
            return .;
        }
	}

The record is being driven through top-level commit.
	public int topLevelCommit ()
	{
		try
		{
			if ( != null)
			{
				try
				{
				}
				{
				}
				{
					return .// should be HEURISTIC_HAZARD?
				}
				{
				}
				{
				}
				{
				}
                catch(SystemCommunicationException ex)
                {
                    return .;
                }
                catch (SystemException ex)
				{
				}
			}
			else
		}
		catch (Exception ex6) {
            return .;
        }
	}

The record is being driven through top-level prepare.
	public int topLevelPrepare ()
	{
		try
		{
			if ( != null)
			{
				try
				{
					if (res instanceof VoteConfirm)
					{
					}
					else
					{
						if (res instanceof VoteReadOnly)
						{
							 = true;
						}
						else
						{
							 = true;
						}
					}
				}
				{
				}
				{
				}
				{
				}
				{
				}
                catch(SystemCommunicationException ex)
                {
                    // if prepare timed out then we return error so it goes back on the
                    // prepare list and is rolled back
                    return .;
                }
				catch (SystemException ex)
				{
				}
			}
			else
		}
		catch (Exception e6) {
            return .;
        }
	}

The record is being driven through nested commit and is the only resource.
	public int nestedOnePhaseCommit ()
	{
		try
		{
			if ( != null)
			{
			}
			else
		}
		catch (Exception ex6) {
            return .;
        }
	}

The record is being driven through top-level commit and is the only resource.
	public int topLevelOnePhaseCommit ()
	{
		try
		{
			if ( != null)
			{
				try
				{
				}
				{
				}
				{
				}
				{
				}
				{
				}
				{
				}
				// TODO explicit in the signature
				catch (ParticipantCancelledException ex)  // a type of SystemException
				{
				}
				catch (SystemException ex)
				{
				}
			}
			else
		}
		catch (Exception ex6) {
            return .;
        }
	}

The record generated a heuristic and can now forget about it.
	public boolean forgetHeuristic ()
	{
		try
		{
			if ( != null)
			{
				try
				{
				}
				{
					return false;
				}
				{
					return false;
				}
				catch (SystemException ex)
				{
					return false;
				}
				return true;
			}
			else {
            }
		}
		catch (Exception e) {
            e.printStackTrace();
        }
		return false;
	}
	public static AbstractRecord create ()
	{
		return new ParticipantRecord();
	}
	public void remove (AbstractRecord toDelete)
	{
		toDelete = null;
	}
	public void print (PrintWriter strm)
	{
		super.print(strm);
		strm.print("ParticipantRecord");
	}
	public boolean restore_state (InputObjectState osint t)
	{
		boolean result = super.restore_state(ost);
		if (result)
		{
			try
			{
                String resourcehandleImplClassName = os.unpackString();
                Class clazz = ClassLoaderHelper.forName(ParticipantRecord.classresourcehandleImplClassName);
                 = (Participant)clazz.newInstance();
                result = .restore_state(os);
				if (result)
				/*
				 * TODO: unpack qualifiers and coord id.
				 */
			}
			catch (Exception ex) {
                result = false;
            }
		}
		return result;
	}
	public boolean save_state (OutputObjectState osint t)
	{
		boolean result = super.save_state(ost);
		if (result)
		{
			try
			{
                os.packString(.getClass().getName()); // TODO: a shorter value whould be more efficient.
                result = .save_state(os);
				if (result)
				/*
				 * TODO: pack qualifiers and coord id.
				 */
			}
			catch (Exception ex) {
                result = false;
            }
		}
		return result;
	}
	public String type ()
	{
		return "/StateManager/AbstractRecord/WSCF/ArjunaCore/ParticipantRecord";
	}
	public boolean doSave ()
	{
		return true;
	}
	public void merge (AbstractRecord a)
	{
	}
	public void alter (AbstractRecord a)
	{
	}
	public boolean shouldAdd (AbstractRecord a)
	{
		return false;
	}
	public boolean shouldAlter (AbstractRecord a)
	{
		return false;
	}
	public boolean shouldMerge (AbstractRecord a)
	{
		return false;
	}
	public boolean shouldReplace (AbstractRecord rec)
	{
		return false;
	}
	public final void rolledback ()
	{
		 = true;
	}
	public final void readonly ()
	{
		 = true;
	}
	/*
	 * Protected constructor used by crash recovery.
	 */
	{
		super();
		 = 0;
		 = null;
	}
	private long _timeout;
	private boolean _rolledback = false;
	private boolean _readonly = false;
New to GrepCode? Check out our FAQ X