I tried to create an own custom message with the steps provided by the JTourBus Route. Unfortenly I failed.
The idea is to send a simple string during the invitation with the message.
The steps I have done:
1. Create a new extension that extends the InvitationExtension. It has an attribute for the string. Create the Provider. No filter needed so skip this step.
2. Install the provider in the ContainerContext class.
3. Send the message by adding a new step in OutgoingSessionNegotiation class
4. Receiving the message by adding a new step in IncomingSessionNegotiation class
The error :
!ENTRY org.eclipse.core.jobs 4 2 2018-10-03 13:08:28.193
!MESSAGE An internal error occurred during: "Inviting dev0_b...@saros-con.imp.fu-berlin.de (dev0_b...@saros-con.imp.fu-berlin.de)...".
!STACK 0
java.lang.VerifyError: Inconsistent stackmap frames at branch target 186
Exception Details:
Location:
de/fu_berlin/inf/dpp/ui/eventhandler/NegotiationHandler$OutgoingProjectJob.run(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/IStatus; @186: goto
Reason:
Type top (current frame, locals[4]) is not assignable to 'java/lang/String' (stack map, locals[4])
Current Frame:
bci: @35
flags: { }
locals: { 'de/fu_berlin/inf/dpp/ui/eventhandler/NegotiationHandler$OutgoingProjectJob', 'org/eclipse/core/runtime/IProgressMonitor', 'de/fu_berlin/inf/dpp/negotiation/Negotiation$Status', 'java/lang/String' }
stack: { integer }
Stackmap Frame:
bci: @186
flags: { }
locals: { 'de/fu_berlin/inf/dpp/ui/eventhandler/NegotiationHandler$OutgoingProjectJob', 'org/eclipse/core/runtime/IProgressMonitor', 'de/fu_berlin/inf/dpp/negotiation/Negotiation$Status', 'java/lang/String', 'java/lang/String' }
stack: { }
Bytecode:
0000000: 2ab4 001a 2bb8 0050 b600 564d bb00 2359
0000010: 2ab4 0028 b700 59b8 005a 4eb8 0060 2cb6
0000020: 0063 2eaa 0000 0097 0000 0001 0000 0005
0000030: 0000 0037 0000 0021 0000 003a 0000 0025
0000040: 0000 0068 b200 69b0 bb00 6a59 0712 6f2a
0000050: b400 1ab6 0071 b700 74b0 a700 7db2 0077
0000060: 04bd 007a 5903 2d53 b800 7c3a 04b8 0082
0000070: bb00 8659 2a19 04b7 0088 b800 8bbb 006a
0000080: 5910 0812 6f19 04b7 0074 b0b2 0091 05bd
0000090: 007a 5903 2d53 5904 2ab4 001a b600 7153
00000a0: b800 7c3a 04b2 0094 1904 b800 97bb 006a
00000b0: 5907 126f 1904 b700 74b0 a700 1d4d b800
00000c0: 8212 9d2c b600 9fbb 006a 5907 126f 2cb6
00000d0: 00a5 2cb7 00aa b0b2 00ad b0
Exception Handler Table:
bci [0, 71] => handler: 189
bci [72, 89] => handler: 189
bci [90, 138] => handler: 189
bci [139, 185] => handler: 189
Stackmap Table:
append_frame(@68,Object[#100],Object[#185])
same_frame(@72)
same_frame(@90)
same_frame(@93)
same_frame(@139)
append_frame(@186,Object[#185])
full_frame(@189,{Object[#1],Object[#187]},{Object[#166]})
same_frame(@215)
at de.fu_berlin.inf.dpp.ui.eventhandler.NegotiationHandler.handleOutgoingProjectNegotiation(NegotiationHandler.java:244)
at de.fu_berlin.inf.dpp.session.SarosSessionManager.startSharingProjects(SarosSessionManager.java:659)
at de.fu_berlin.inf.dpp.ui.eventhandler.NegotiationHandler$OutgoingInvitationJob.run(NegotiationHandler.java:135)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)