public EndpointReferenceType register (EndpointReferenceType participantProtocolService, String protocolIdentifier, InstanceIdentifier instanceIdentifier)
throws AlreadyRegisteredException, InvalidProtocolException,
InvalidStateException, NoActivityException
{
if (instanceIdentifier == null)
throw new NoActivityException();
ActivityHierarchy hier = (ActivityHierarchy) _hierarchies.get(instanceIdentifier);
if (hier == null)
throw new NoActivityException();
if (protocolIdentifier.equals(_2PCProtocolId))
{
// enlist participant that wraps the requester URI.
try
{
_coordManager.resume(hier);
}
catch (com.arjuna.mw.wsas.exceptions.InvalidActivityException ex)
{
throw new NoActivityException();
}
catch (com.arjuna.mw.wsas.exceptions.SystemException ex)
{
throw new InvalidProtocolException();
}