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