Friday, June 24, 2016

New Implementations

New cwl-utilities module

CWL Dummy Activity has responsibility of reading the CWL configuration and figure out the depth of the parameters of a cwl tool . CWL Contextual View has responsibility of reading CWL configuration and figure out details describing the CWL tool. In order to make those component simple new module has implemented which handles above task for them. Now CWL Dummy Activity and CWL contextual View both can depend taverna-cwl-utilities module to do that work.
Link: https://github.com/ThilinaManamgoda/incubator-taverna-common-activities/tree/stream/taverna-cwl-utilities

Use Java 8 features


Now reading cwl tools taken new approach. Cwl Provider is implemented using new Java 8 features like Lambdas,Streams. Reading CWL tools using SnakeYaml is done trough Parallel Stream which help to improve the performance when there is large number of tools in the given directory.  Since Stream in Java 8 handle the Multi threading for us implementation is lead to cleaner code. Since process is parallel the Arraylist "result" is removed since it can cause concurrency issues, instead now each CWL description is returned as ArrayList it self.

Link: https://github.com/ThilinaManamgoda/incubator-taverna-common-activities/blob/stream/taverna-cwl-activity-ui/src/main/java/org/apache/taverna/cwl/ui/serviceprovider/CwlServiceProvider.java

No comments:

Post a Comment