use of com.arjuna.mwlabs.wst11.at.context.TxContextImple in project narayana by jbosstm.
the class BusinessActivityManagerImple method enlistForBusinessAgreementWithParticipantCompletion.
public BAParticipantManager enlistForBusinessAgreementWithParticipantCompletion(BusinessAgreementWithParticipantCompletionParticipant bap, String id) throws WrongStateException, UnknownTransactionException, SystemException {
final QName service = BusinessActivityConstants.PARTICIPANT_COMPLETION_PARTICIPANT_SERVICE_QNAME;
final QName endpoint = BusinessActivityConstants.PARTICIPANT_COMPLETION_PARTICIPANT_PORT_QNAME;
try {
boolean isSecure = ((TxContextImple) currentTransaction()).isSecure();
final ServiceRegistry serviceRegistry = PrivilegedServiceRegistryFactory.getInstance().getServiceRegistry();
final String address = serviceRegistry.getServiceURI(BusinessActivityConstants.PARTICIPANT_COMPLETION_PARTICIPANT_SERVICE_NAME, isSecure);
final W3CEndpointReference participant = getParticipant(service, endpoint, address, id);
W3CEndpointReference baPMEndpoint = registerParticipant(participant, BusinessActivityConstants.WSBA_SUB_PROTOCOL_PARTICIPANT_COMPLETION);
final ParticipantCompletionParticipantEngine engine = new ParticipantCompletionParticipantEngine(id, baPMEndpoint, bap);
ParticipantCompletionParticipantProcessor.getProcessor().activateParticipant(engine, id);
return new BAParticipantCompletionParticipantManagerStub(engine);
} catch (com.arjuna.wsc.InvalidProtocolException ex) {
throw new SystemException(ex.toString());
} catch (com.arjuna.wsc.InvalidStateException ex) {
throw new WrongStateException();
} catch (com.arjuna.wsc.CannotRegisterException ex) {
throw new UnknownTransactionException();
} catch (Throwable ex) {
ex.printStackTrace();
throw new SystemException(ex.toString());
}
}
use of com.arjuna.mwlabs.wst11.at.context.TxContextImple in project narayana by jbosstm.
the class BusinessActivityManagerImple method enlistForBusinessAgreementWithCoordinatorCompletion.
public com.arjuna.wst11.BAParticipantManager enlistForBusinessAgreementWithCoordinatorCompletion(BusinessAgreementWithCoordinatorCompletionParticipant bawcp, String id) throws WrongStateException, UnknownTransactionException, SystemException {
final QName service = BusinessActivityConstants.COORDINATOR_COMPLETION_PARTICIPANT_SERVICE_QNAME;
final QName endpoint = BusinessActivityConstants.COORDINATOR_COMPLETION_PARTICIPANT_PORT_QNAME;
boolean isSecure = ((TxContextImple) currentTransaction()).isSecure();
try {
final ServiceRegistry serviceRegistry = PrivilegedServiceRegistryFactory.getInstance().getServiceRegistry();
final String address = serviceRegistry.getServiceURI(BusinessActivityConstants.COORDINATOR_COMPLETION_PARTICIPANT_SERVICE_NAME, isSecure);
final W3CEndpointReference participant = getParticipant(service, endpoint, address, id);
W3CEndpointReference baPMEndpoint = registerParticipant(participant, BusinessActivityConstants.WSBA_SUB_PROTOCOL_COORDINATOR_COMPLETION);
final CoordinatorCompletionParticipantEngine engine = new CoordinatorCompletionParticipantEngine(id, baPMEndpoint, bawcp);
CoordinatorCompletionParticipantProcessor.getProcessor().activateParticipant(engine, id);
return new BACoordinatorCompletionParticipantManagerStub(engine);
} catch (com.arjuna.wsc.InvalidProtocolException ex) {
throw new SystemException(ex.toString());
} catch (com.arjuna.wsc.InvalidStateException ex) {
throw new WrongStateException();
} catch (com.arjuna.wsc.CannotRegisterException ex) {
ex.printStackTrace();
throw new UnknownTransactionException();
} catch (Throwable ex) {
ex.printStackTrace();
throw new SystemException(ex.toString());
}
}
use of com.arjuna.mwlabs.wst11.at.context.TxContextImple in project narayana by jbosstm.
the class BusinessActivityManagerImple method registerParticipant.
private final W3CEndpointReference registerParticipant(final W3CEndpointReference participant, final String protocol) throws com.arjuna.wsc.InvalidProtocolException, com.arjuna.wsc.InvalidStateException, com.arjuna.wsc.CannotRegisterException, SystemException {
TxContextImple currentTx = null;
try {
currentTx = (TxContextImple) _ctxManager.currentTransaction();
if (currentTx == null)
throw new com.arjuna.wsc.NoActivityException();
final CoordinationContextType coordinationContext = currentTx.context().getCoordinationContext();
final String messageId = MessageId.getMessageId();
return RegistrationCoordinator.register(coordinationContext, messageId, participant, protocol);
} catch (final SoapFault sf) {
throw new SystemException(sf.getMessage());
} catch (CannotRegisterException ex) {
throw ex;
} catch (Exception ex) {
ex.printStackTrace();
throw new SystemException(ex.toString());
} finally {
try {
if (currentTx != null)
_ctxManager.resume(currentTx);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
use of com.arjuna.mwlabs.wst11.at.context.TxContextImple in project narayana by jbosstm.
the class UserBusinessActivityImple method beginSubordinate.
public void beginSubordinate(int timeout) throws WrongStateException, SystemException {
try {
TxContext current = _ctxManager.currentTransaction();
if ((current == null) || !(current instanceof TxContextImple))
throw new WrongStateException();
TxContextImple currentImple = (TxContextImple) current;
Context ctx = startTransaction(timeout, currentImple);
_ctxManager.resume(new TxContextImple(ctx));
// n.b. we don't enlist the subordinate transaction for completion
// that ensures that any attempt to commit or rollback will fail
} catch (com.arjuna.wsc.InvalidCreateParametersException ex) {
tidyup();
throw new SystemException(ex.toString());
} catch (com.arjuna.wst.UnknownTransactionException ex) {
tidyup();
throw new SystemException(ex.toString());
} catch (SystemException ex) {
tidyup();
throw ex;
}
}
use of com.arjuna.mwlabs.wst11.at.context.TxContextImple in project narayana by jbosstm.
the class UserBusinessActivityImple method complete.
public void complete() throws UnknownTransactionException, SystemException, WrongStateException {
try {
final TxContextImple ctx = ((TxContextImple) _ctxManager.currentTransaction());
if (ctx == null) {
throw new WrongStateException();
}
final String id = ctx.identifier();
final W3CEndpointReference terminatorCoordinator = getTerminationCoordinator(ctx);
BusinessActivityTerminatorStub terminatorStub = new BusinessActivityTerminatorStub(id, terminatorCoordinator);
terminatorStub.complete();
} catch (SystemException ex) {
throw ex;
} catch (UnknownTransactionException ex) {
throw ex;
} catch (WrongStateException ex) {
throw ex;
} catch (Exception ex) {
throw new SystemException(ex.toString());
}
}
Aggregations