@Test public void testOnJoinMessageFromFromError() throws Exception { InviteeSession session = getDefaultSession(ERROR); assertEquals(session, engine.onJoinMessage(txn, session, joinMessage)); }
@Override public InviteeSession onJoinMessage(Transaction txn, InviteeSession s, JoinMessage m) throws DbException, FormatException { switch (s.getState()) { case START: case INVITED: case JOINED: case LEFT: case DISSOLVED: return abort(txn, s); case ACCEPTED: return onRemoteJoin(txn, s, m); case ERROR: return s; default: throw new AssertionError(); } }
InviteeProtocolEngine extends AbstractProtocolEngine<InviteeSession> { @Override public InviteeSession onJoinMessage(Transaction txn, InviteeSession s, JoinMessage m) throws DbException, FormatException { switch (s.getState()) { case START: case INVITED: case JOINED: case LEFT: case DISSOLVED: return abort(txn, s); case ACCEPTED: return onRemoteJoin(txn, s, m); case ERROR: return s; default: throw new AssertionError(); } } }
InviteeProtocolEngine extends AbstractProtocolEngine<InviteeSession> { @Override public InviteeSession onJoinMessage(Transaction txn, InviteeSession s, JoinMessage m) throws DbException, FormatException { switch (s.getState()) { case START: case INVITED: case JOINED: case LEFT: case DISSOLVED: return abort(txn, s); case ACCEPTED: return onRemoteJoin(txn, s, m); case ERROR: return s; default: throw new AssertionError(); } } InviteeProtocolEngine(DatabaseComponent db, ClientHelper clientHelper,
			ClientVersioningManager clientVersioningManager,
			PrivateGroupManager privateGroupManager,
			PrivateGroupFactory privateGroupFactory,
			GroupMessageFactory groupMessageFactory,
			IdentityManager identityManager, MessageParser messageParser,
			MessageEncoder messageEncoder, MessageTracker messageTracker,
			Clock clock); }
InviteeProtocolEngine extends AbstractProtocolEngine<InviteeSession> { @Override public InviteeSession onJoinMessage(Transaction txn, InviteeSession s, JoinMessage m) throws DbException, FormatException { switch (s.getState()) { case START: case INVITED: case JOINED: case LEFT: case DISSOLVED: return abort(txn, s); case ACCEPTED: return onRemoteJoin(txn, s, m); case ERROR: return s; default: throw new AssertionError(); } } InviteeProtocolEngine(DatabaseComponent db, ClientHelper clientHelper,
			ClientVersioningManager clientVersioningManager,
			PrivateGroupManager privateGroupManager,
			PrivateGroupFactory privateGroupFactory,
			GroupMessageFactory groupMessageFactory,
			IdentityManager identityManager, MessageParser messageParser,
			MessageEncoder messageEncoder, MessageTracker messageTracker,
			Clock clock); @Override InviteeSession onInviteAction(Transaction txn, InviteeSession s,
			@Nullable String message, long timestamp, byte[] signature); @Override InviteeSession onJoinAction(Transaction txn, InviteeSession s); @Override InviteeSession onLeaveAction(Transaction txn, InviteeSession s); @Override InviteeSession onMemberAddedAction(Transaction txn, InviteeSession s); @Override InviteeSession onInviteMessage(Transaction txn, InviteeSession s,
			InviteMessage m); @Override InviteeSession onJoinMessage(Transaction txn, InviteeSession s,
			JoinMessage m); @Override InviteeSession onLeaveMessage(Transaction txn, InviteeSession s,
			LeaveMessage m); @Override InviteeSession onAbortMessage(Transaction txn, InviteeSession s,
			AbortMessage m); }
InviteeProtocolEngine extends AbstractProtocolEngine<InviteeSession> { @Override public InviteeSession onJoinMessage(Transaction txn, InviteeSession s, JoinMessage m) throws DbException, FormatException { switch (s.getState()) { case START: case INVITED: case JOINED: case LEFT: case DISSOLVED: return abort(txn, s); case ACCEPTED: return onRemoteJoin(txn, s, m); case ERROR: return s; default: throw new AssertionError(); } } InviteeProtocolEngine(DatabaseComponent db, ClientHelper clientHelper,
			ClientVersioningManager clientVersioningManager,
			PrivateGroupManager privateGroupManager,
			PrivateGroupFactory privateGroupFactory,
			GroupMessageFactory groupMessageFactory,
			IdentityManager identityManager, MessageParser messageParser,
			MessageEncoder messageEncoder, MessageTracker messageTracker,
			Clock clock); @Override InviteeSession onInviteAction(Transaction txn, InviteeSession s,
			@Nullable String message, long timestamp, byte[] signature); @Override InviteeSession onJoinAction(Transaction txn, InviteeSession s); @Override InviteeSession onLeaveAction(Transaction txn, InviteeSession s); @Override InviteeSession onMemberAddedAction(Transaction txn, InviteeSession s); @Override InviteeSession onInviteMessage(Transaction txn, InviteeSession s,
			InviteMessage m); @Override InviteeSession onJoinMessage(Transaction txn, InviteeSession s,
			JoinMessage m); @Override InviteeSession onLeaveMessage(Transaction txn, InviteeSession s,
			LeaveMessage m); @Override InviteeSession onAbortMessage(Transaction txn, InviteeSession s,
			AbortMessage m);  }