Maybe you would like to review Here
I define my simple order approval case as follows -
Note I have checked Publish Case Events
I add a Mediator to my Case composite - this will subscribe to CaseEvents.
The edl is available here -
I create 7 file adapter (write) services for the different event types -
I then filter on eventType in the mediator and call the appropriate service.
I then deploy and test my Case.
I check for Lifecycle Events -
My case includes an automatic InitActivity.
Here are the start and end events for that -
Milestone Event - Once the Init is done we reach the milestone OrderApprovalStarted
Now I add a Comment to the case -
I now initiate the ApproveOrderProcessActivity - a BPM Process with Human Task
I then approve the order, I get 2 new activity events
I now raise a user Defined event - CustomerCancelledEvent via the Case UI
I now upload a doc to the case via the Case UI -
I now change a value of one of my order fields thru the Case UI -
this too is protocolled.