Hi,
This is a basic description about the proposed design of the new feature in
Governance registry(mentioned in the subject).
A separate API will be provided in the Governance API to create a batch and
perform other batch operations. This API contains following components.

   1. An interface: BatchValidate: This provides a common interface to
   implement custom validation classes according the user requirement. This
   contains a validate method.
   2. Aggregate operations manager: this contains following methods.


   - createBatch(String[] paths, String batchID, *validation parameters ):
   This uses an OSGi service tracker to determine the appropriate OSGi service
   created with the implementation of the above interface to validate the
   batch of resources.
   - invokeCheckItem(String batchID, String action, Map<String,String>
   parameterMap): This will validate the batch using the same method in order
   to ensure that properties of batch resources have not been changed. Then it
   will perform the operation. If any of the resources fail during the
   process, the entire batch operation will fail.
   - invokeStateTransition(String batchID, String action): This acts
   similar to the above method.

Custom validations will be in Registry extensions. They will implement the
above mentioned interface and will be created as OSGi services. Some of the
validation criteria can be as follows:

   - LC state should be same
   - Checklist item values should be same, etc.

Service tracker will select the corresponding validator.

There is a slight issue regarding the life cycles which involve transition
UIs. These are operated at the UI level for individual resources. So when a
batch is considered, this concept is not applicable. Hence, the temporary
solution for this issue is to fail the validation if the life cycle
involves Transition UIs.

Note: This is tentative plan

Best regards,
-- 
Maheshakya Wijewardena,
Software Engineering Intern.
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to