- * Toy vamsas command line client application demonstrating the API. TODO: test
- * appData get/set methods TODO: verify and test pickManager and interaction
- * between it and other session events TODO: add more session interaction events
- * (currently: modifies document on start up, then modifies every 2 updates
- * before finalizing after 5 updates.
+ * Toy vamsas command line client application demonstrating the API.
+ * Currently runs with one argument: ExampleApplication.main(new String("watch"))
+ * Test: Start up at least two of these processes independently and they will
+ * successively modify and handle update events from the document model.
+ *
+ * Behaviour of each client:
+ * Event handlers are registered for documentUpdate.
+ * - every document update:
+ * * the vamsas document will be dumped to standard out using uk.ac.vamsas.test.simpleclient.ArchiveReports
+ * * if there are more than 4 vamsas roots, the first sequence in the first alignment of the first dataset of the second vamsas root will be appended with a single gap character and then written back to the session document.
+ * A pick thread is started, which sends random CUSTOM pick events every so often (tuning: flooding the pick channel seems to affect the behaviour of other vamsasClient threads, suggesting some object lock contention).
+ * A new vamsas root generated from uk.ac.vamsas.test.objects.Core.getDemoVamsas is added to the document.
+ * Then a while loop waits around for events until shutdown:
+ * - currently it will shutdown after 9 updates (totalUpdates)
+ * - an update will be made after every other update that is detected.
+ *
+ * Status: PickManager now shuts down correctly. Serial updates for two instances work correctly and are detected under j1.4 (need to test in 1.5 and 1.6).
+ *
+ * TODO: test
+ * appData get/set methods
+ *
+ * TODO: verify and test pickManager and interaction
+ * between it and other session events
+ *
+ * TODO: add more session interaction events
+ *
+ * TODO: test client add/leave events - currently library generates exceptions for sessionlist and clientlist modifications.