Search in sources :

Example 1 with ActivityHierarchyImple

use of com.arjuna.mwlabs.wsas.activity.ActivityHierarchyImple in project narayana by jbosstm.

the class UserActivityImple method suspend.

/**
 * Suspend the current activity from this thread and return the token
 * representing the context, if any, or null otherwise. Once called, the
 * thread will have no activities associated with it.
 *
 * @exception SystemException Thrown if any error occurs.
 *
 * @return the token representing the current context, if any, or null
 * otherwise.
 */
public ActivityHierarchy suspend() throws SystemException {
    ActivityImple currentActivity = current();
    if (currentActivity == null) {
        return null;
    }
    String serviceType = currentActivity.serviceType();
    HLS hls = HLSManager.getHighLevelService(serviceType);
    if (hls != null) {
        try {
            hls.suspended();
        } catch (SystemException ex) {
            wsasLogger.i18NLogger.warn_UserActivityImple_4(ex);
        }
    }
    currentActivity = purge();
    if (currentActivity != null) {
        return new ActivityHierarchyImple(currentActivity);
    } else {
        return null;
    }
}
Also used : SystemException(com.arjuna.mw.wsas.exceptions.SystemException) ActivityImple(com.arjuna.mwlabs.wsas.activity.ActivityImple) ActivityHierarchyImple(com.arjuna.mwlabs.wsas.activity.ActivityHierarchyImple) HLS(com.arjuna.mw.wsas.activity.HLS)

Example 2 with ActivityHierarchyImple

use of com.arjuna.mwlabs.wsas.activity.ActivityHierarchyImple in project narayana by jbosstm.

the class UserActivityImple method resume.

/**
 * Given a token representing a context, associate it with the current
 * thread of control. This will implicitly disassociate the thread from any
 * activities that it may already be associated with. If the parameter is
 * null then the thread is associated with no activity.
 *
 * @param tx The activity to associate with this thread. This
 * may be null in which case the current thread becomes associated with
 * no activity.
 *
 * @exception InvalidActivityException Thrown if the activity handle
 * is invalid in this context.
 * @exception SystemException Thrown if any other error occurs.
 */
public void resume(ActivityHierarchy tx) throws InvalidActivityException, SystemException {
    if (tx == null) {
        purge();
    } else {
        if (tx instanceof ActivityHierarchyImple) {
            try {
                for (int i = 0; i < tx.size(); i++) {
                    ActivityHandleImple handle = (ActivityHandleImple) tx.activity(i);
                    push(handle.getActivity());
                }
            } catch (Exception ex) {
                ex.printStackTrace();
                purge();
            }
        } else
            throw new InvalidActivityException(wsasLogger.i18NLogger.get_UserActivityImple_51());
    }
    ActivityImple currentActivity = current();
    String serviceType = currentActivity.serviceType();
    HLS hls = HLSManager.getHighLevelService(serviceType);
    if (hls != null) {
        try {
            hls.resumed();
        } catch (SystemException ex) {
            wsasLogger.i18NLogger.warn_UserActivityImple_5(ex);
        }
    }
}
Also used : InvalidActivityException(com.arjuna.mw.wsas.exceptions.InvalidActivityException) SystemException(com.arjuna.mw.wsas.exceptions.SystemException) ActivityImple(com.arjuna.mwlabs.wsas.activity.ActivityImple) ActivityHierarchyImple(com.arjuna.mwlabs.wsas.activity.ActivityHierarchyImple) ActivityHandleImple(com.arjuna.mwlabs.wsas.activity.ActivityHandleImple) EmptyStackException(java.util.EmptyStackException) SystemException(com.arjuna.mw.wsas.exceptions.SystemException) InvalidTimeoutException(com.arjuna.mw.wsas.exceptions.InvalidTimeoutException) ActiveChildException(com.arjuna.mw.wsas.exceptions.ActiveChildException) NoPermissionException(com.arjuna.mw.wsas.exceptions.NoPermissionException) NoActivityException(com.arjuna.mw.wsas.exceptions.NoActivityException) WrongStateException(com.arjuna.mw.wsas.exceptions.WrongStateException) InvalidActivityException(com.arjuna.mw.wsas.exceptions.InvalidActivityException) ProtocolViolationException(com.arjuna.mw.wsas.exceptions.ProtocolViolationException) HLS(com.arjuna.mw.wsas.activity.HLS)

Aggregations

HLS (com.arjuna.mw.wsas.activity.HLS)2 SystemException (com.arjuna.mw.wsas.exceptions.SystemException)2 ActivityHierarchyImple (com.arjuna.mwlabs.wsas.activity.ActivityHierarchyImple)2 ActivityImple (com.arjuna.mwlabs.wsas.activity.ActivityImple)2 ActiveChildException (com.arjuna.mw.wsas.exceptions.ActiveChildException)1 InvalidActivityException (com.arjuna.mw.wsas.exceptions.InvalidActivityException)1 InvalidTimeoutException (com.arjuna.mw.wsas.exceptions.InvalidTimeoutException)1 NoActivityException (com.arjuna.mw.wsas.exceptions.NoActivityException)1 NoPermissionException (com.arjuna.mw.wsas.exceptions.NoPermissionException)1 ProtocolViolationException (com.arjuna.mw.wsas.exceptions.ProtocolViolationException)1 WrongStateException (com.arjuna.mw.wsas.exceptions.WrongStateException)1 ActivityHandleImple (com.arjuna.mwlabs.wsas.activity.ActivityHandleImple)1 EmptyStackException (java.util.EmptyStackException)1