Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2014, Red Hat Middleware LLC, and individual contributors
   * as indicated by the @author tags. See the copyright.txt file in the
   * distribution for a full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY 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 along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package com.arjuna.ats.arjuna.tools.osb.mbean;
 
An MBean implementation for representing a participant in an Atomic Action or transaction

Author(s):
Mike Musgrove
 

Deprecated:
as of 4.17.26.Final In a subsequent release we will change packages names in order to provide a better separation between public and internal classes.
 
 @Deprecated // in order to provide a better separation between public and internal classes.
 public class LogRecordWrapper extends OSEntryBean implements LogRecordWrapperMBean {
 	protected ActionBean parent;
 	protected AbstractRecord rec;
 	protected boolean activated;
 
 	public LogRecordWrapper(Uid uid) {
 		super(null);
 		.setName("jboss.jta:type=ObjectStore,itype=uninitialised,puid=" + uid.fileStringForm());
 	}
 
 	public LogRecordWrapper(ActionBean parentAbstractRecord recParticipantStatus listTypeUidWrapper wrapper) {
 		super(wrapper);
 		init(parent,  reclistType);
 	}
 
 	public LogRecordWrapper(ActionBean parentAbstractRecord recParticipantStatus listType) {
 		this(parentreclistTypemakeWrapper(parentrecLogRecordWrapper.class.getName()));
 	}
 
 	private static UidWrapper makeWrapper(ActionBean parentAbstractRecord recString beanType) {
 		UidWrapper w = new UidWrapper(parent._uidWrapper.getBrowser(), beanTyperec.type(), rec.getClass().getName(), rec.order(), false);
 		// TODO look up the hander for rec.type() and use that to create the wrapper
 		w.setName(parent.getName() + ",puid=" + rec.order().fileStringForm());
 
 		return w;
 	}
 
 	public void init(ActionBean parentAbstractRecord recParticipantStatus listType) {
 		this. = parent;
 		this. = rec;
 		this. = listType;
 		.setName(parent.getName() + ",puid=" + rec.order().fileStringForm());
 	}
 
 	public boolean isParticipant() {
 		return true;
 	}
 
 	public String getStatus() {
 		if (isHeuristic()) {
 
 				return type;
 		}
 
 		return .toString();
 	}
 
 	public void setStatus(String newState) {
 		doSetStatus(newState);
 	}
 
     public String clearHeuristic() {
         return doSetStatus("PREPARED");
     }
 
 	public String doSetStatus(String newState) {
 		try {
 			return setStatus(Enum.valueOf(ParticipantStatus.classnewState.toUpperCase()));
catch (IllegalArgumentException e) {
			StringBuilder sb = new StringBuilder("Valid status values are: ");
			for (ParticipantStatus lt : ParticipantStatus.values()) {
				sb.append(lt.name()).append(", ");
			}
			sb.append(" and only HEURISTIC and PREPARED will persist after JVM restart.");
			return sb.toString();
		}
	}
	public String setStatus(ParticipantStatus newState) {
        if (getListType().equals(newState))
            return "participant is prepared for recovery";
		/*
		 * Only move a heuristic to the prepared list if it hasn't already committed or rolled back
		 */
			HeuristicStatus heuristicStatus = HeuristicStatus.valueOf(getHeuristicStatus());
			if (heuristicStatus.equals(.) ||
				return "participant has already committed or rolled back";
			}
		}
		if ( != null && .setStatus(thisnewState)) {
			 = newState;
            if (newState == . )
			    return "participant recovery will be attempted during the next recovery pass";
            return "participant status change was successful";
else {
			return "participant status change failed";
		}
	}
	public String getType() {
		return  == null ? "uninitialised" : .type();
	}
		return ;
	}
		return ;
	}
	public boolean activate() {
		if (! &&  != null)
            try {
                 = .activate();
            } catch (Exception e) {
                 = false;
                ..warn("Activate of " +  + " failed: " + e.getMessage());
            }
		return ;
	}
	public StringBuilder toString(String prefixStringBuilder sb) {
		prefix += "\t";
		if ( != null &&  != null) {
			sb.append('\n').append(prefix).append(.getUid());
			sb.append('\n').append(prefix).append(.toString());
			sb.append('\n').append(prefix).append(.type());
else {
			sb.append('\n').append(prefix).append(.getName());
		}
		return sb;
	}
	public String callMethod(Object objectString mName)
	{
		try {
			return (Stringobject.getClass().getMethod(mName).invoke(object);
catch (NoSuchMethodException e) {
			return "Not supported";
catch (Exception e) {
			return "Error: " + e.getMessage();
		}
	}
	public boolean isHeuristic() {
	}
		Object heuristicInformation = .value();
		if (heuristicInformation  != null && heuristicInformation instanceof HeuristicInformation) {
			HeuristicInformation hi = (HeuristicInformationheuristicInformation;
			hs = HeuristicStatus.intToStatus(hi.getHeuristicType());
else {
		}
		return hs.name();
	}
	public String remove(boolean reprobe) {
		if ( != null) {
			if (reprobe)
		}
		return "Record successfully removed";
	}
	public String remove() {
		return remove(true);
	}
New to GrepCode? Check out our FAQ X