Customers who wish to complete a milestone delivery when a milestone completion event is raised should follow the steps described below.
- For milestones configured at the case level:
- Configure the Completion Event for a milestone.
- Define an entry in handler_config.xml to map the configured Completion Event class to 'MilestoneCompletionEventHandler'.
- Customers should raise the completion event with 'CaseID' as primary data.
- For milestones configured at the case component level:
- Configure the Completion Event for a milestone.
- Define an entry in handler_config.xml to map the configured Completion Event class to 'MilestoneCompletionEventHandler'.
- Implement the sample interface 'MilestoneComponentDelivery' and provide an implementation for the method 'populateMilestoneCompletionDetails. This method should populate the milestone actual end date as per the business requirements.
- Create a module class that extends the AbstractModule (com.google.inject.AbstractModule).
- Define a Map Binder to bind the implemented class to the 'MilestoneComponentDelivery' interface.
Ex: MapBinder<String, MilestoneComponentDelivery> mapbinder
= MapBinder.newMapBinder(binder(), String.class,
MilestoneComponentDelivery.class);
mapbinder.addBinding().toInstance
(new 'customimplentationclass'();
Note: There is no need to repeat Step 4 and 5 If the entry already exists in the module class.
- Customers should raise the completion event with 'caseID' as the primary data and the ID of the component as the secondary data.