Hi Dimuthu,

I suggested a rule based engine over a switch case based approach taking
following things into consideration.

   - reduction in the time taken to evaluate a command over a switch case
   based approach
   - allows for maximum reuse of the code
   - easier to extend for any new commands
   - have been used by similar CLI tools

Please find the attached class diagram for the basic design of rule based
engine. The basic idea is to have several implementations for the Command,
so that all the available commands can be maintained in the command Factory.

Your feedback and suggestions on this are highly appreciated.

Thanks.
Regards,
Dilhasha


Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
(M.N.F.Dilhasha)
Undergraduate | Department of Computer Science and Engineering
University of Moratuwa
Sri Lanka

On Wed, Jun 17, 2015 at 10:58 AM, Dimuthu Leelarathne <[email protected]>
wrote:

> Hi Fathima,
>
> Why do you think of having a rule based engine? Could you attach the
> design to the mail please?
>
> thanks,
> dimuthu
>
>
> On Wed, Jun 17, 2015 at 10:40 AM, Fathima Dilhasha <[email protected]
> > wrote:
>
>> Hi,
>>
>> I have started a Google doc [1]
>> <https://docs.google.com/document/d/1bD9ouBR2HeDWQ-bmx7OxKQ9q8Km4u6S6UyqlFx0ASfQ/edit?usp=sharing>for
>> the documentation of the project. I will update implementation details as
>> well. Please  provide any suggestions on any other details to be included.
>>
>> [1]
>> https://docs.google.com/document/d/1bD9ouBR2HeDWQ-bmx7OxKQ9q8Km4u6S6UyqlFx0ASfQ/edit?usp=sharing
>>
>> Thanks.
>> Regards,
>> Dilhasha
>>
>> Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
>> (M.N.F.Dilhasha)
>> Undergraduate | Department of Computer Science and Engineering
>> University of Moratuwa
>> Sri Lanka
>>
>> On Mon, Jun 15, 2015 at 9:48 AM, Fathima Dilhasha <[email protected]
>> > wrote:
>>
>>> Hi,
>>>
>>> *Notes from Progress Discussion*
>>>
>>>
>>>    - Try using [1] <https://github.com/golang-basic/go-curl> for REST
>>>    API access instead of go-curl [2] <http://golang.org/pkg/net/http/>
>>>    - Figure out requirements for a command based on [1]
>>>    <https://github.com/golang-basic/go-curl>
>>>    - Finish at least one API access functionality before mid review
>>>
>>> [1] https://github.com/golang-basic/go-curl
>>>
>>> [2] http://golang.org/pkg/net/http/
>>> Thanks.
>>> Regards,
>>> Dilhasha
>>>
>>> Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
>>> (M.N.F.Dilhasha)
>>> Undergraduate | Department of Computer Science and Engineering
>>> University of Moratuwa
>>> Sri Lanka
>>>
>>> On Fri, Jun 12, 2015 at 8:29 AM, Fathima Dilhasha <
>>> [email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> *Progress Update*
>>>>
>>>> I have started the implementation of the CLI tool for WSO2 App Factory
>>>> and I have been able to build an initial CLI tool (Showing help commands)
>>>> compatible with Linux, windows and mac OS.
>>>>
>>>> As the next step I came up with a design for a rule based engine to
>>>> evaluate and execute commands within the tool. The implementation of the
>>>> rule engine is in progress.
>>>>
>>>> Currently, I am trying to use go-curl [1
>>>> <https://github.com/golang-basic/go-curl>] for the execution of the
>>>> commands. The next progress discussion for $subject is to be held on
>>>> Monday, 15th.
>>>>
>>>> [1] https://github.com/golang-basic/go-curl
>>>>
>>>>
>>>> Thanks.
>>>>
>>>> Regards,
>>>> Dilhasha
>>>>
>>>> Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
>>>> (M.N.F.Dilhasha)
>>>> Undergraduate | Department of Computer Science and Engineering
>>>> University of Moratuwa
>>>> Sri Lanka
>>>>
>>>> On Mon, Mar 30, 2015 at 2:56 PM, Fathima Dilhasha <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi Anuruddha,
>>>>>
>>>>> I have commented the details of the updated project proposal in the
>>>>> GSoC site. Please let me know if any further changes are required.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Regards,
>>>>> Dilhasha
>>>>>
>>>>> Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
>>>>> (M.N.F.Dilhasha)
>>>>> Undergraduate | Department of Computer Science and Engineering
>>>>> University of Moratuwa
>>>>> Sri Lanka
>>>>>
>>>>> On Mon, Mar 23, 2015 at 3:11 PM, Fathima Dilhasha <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Anuruddha,
>>>>>>
>>>>>> Okay thank you. I will incorporate those basic features.
>>>>>>
>>>>>> Regards,
>>>>>> Dilhasha
>>>>>>
>>>>>> Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
>>>>>> (M.N.F.Dilhasha)
>>>>>> Undergraduate | Department of Computer Science and Engineering
>>>>>> University of Moratuwa
>>>>>> Sri Lanka
>>>>>>
>>>>>> On Mon, Mar 23, 2015 at 12:45 PM, Anuruddha Premalal <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hi Fathima,
>>>>>>>
>>>>>>> As we discussed in the hangout you can prepare the proposal with few
>>>>>>> basic operations as application creation/deletion, app life-cycle
>>>>>>> management, trigger builds, app deployment etc.. Once the  CLI basics 
>>>>>>> are
>>>>>>> in place adding an operation would be as easy as parsing arguments and
>>>>>>> calling the correct api end-points with parameters.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Anuruddha.
>>>>>>>
>>>>>>>
>>>>>>> On Sun, Mar 22, 2015 at 10:39 AM, Fathima Dilhasha <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Anuruddha,
>>>>>>>>
>>>>>>>> I need the set of operations that need to be supported by the CLI
>>>>>>>> Tool to prepare the project proposal.
>>>>>>>> Will you provide the set of operations? Or else I can suggest a set
>>>>>>>> of operations and then it can be refined.
>>>>>>>>
>>>>>>>> Please, let me know what needs to be done.
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>> Regards,
>>>>>>>> Dilhasha
>>>>>>>>
>>>>>>>>
>>>>>>>> Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
>>>>>>>> (M.N.F.Dilhasha)
>>>>>>>> Undergraduate | Department of Computer Science and Engineering
>>>>>>>> University of Moratuwa
>>>>>>>> Sri Lanka
>>>>>>>>
>>>>>>>> On Wed, Mar 18, 2015 at 9:39 AM, Fathima Dilhasha <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hi Anuruddha,
>>>>>>>>>
>>>>>>>>> Thank you. I'll contact you, if I need any further clarifications
>>>>>>>>> and prepare a draft.
>>>>>>>>>
>>>>>>>>> Thanks.
>>>>>>>>> Regards,
>>>>>>>>> Dilhasha
>>>>>>>>>
>>>>>>>>> Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
>>>>>>>>> (M.N.F.Dilhasha)
>>>>>>>>> Undergraduate | Department of Computer Science and Engineering
>>>>>>>>> University of Moratuwa
>>>>>>>>> Sri Lanka
>>>>>>>>>
>>>>>>>>> On Wed, Mar 18, 2015 at 8:45 AM, Anuruddha Premalal <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Fathima,
>>>>>>>>>>
>>>>>>>>>> Approach seems good. Please do a draft and share, will provide
>>>>>>>>>> the needed feedback.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Anuruddha.
>>>>>>>>>>
>>>>>>>>>> On Tue, Mar 17, 2015 at 10:17 PM, Fathima Dilhasha <
>>>>>>>>>> [email protected]> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> I'm a Computer Science and Engineering undergraduate from
>>>>>>>>>>> University of Moratuwa and I'm interested in contributing for
>>>>>>>>>>> proposal [6]
>>>>>>>>>>> <https://docs.wso2.com/display/GSoC/Project+Proposals+for+2015#ProjectProposalsfor2015-Proposal6:AppFactory-CommandLineTool>
>>>>>>>>>>>  .
>>>>>>>>>>>
>>>>>>>>>>> I am planning to address the following in my project proposal.
>>>>>>>>>>>
>>>>>>>>>>> 1. Deciding on a language or framework to implement the CLI Tool
>>>>>>>>>>> and backing up the choice with a research on pros and cons of that 
>>>>>>>>>>> method
>>>>>>>>>>>
>>>>>>>>>>> 2. A milestone break down on how I will achieve the tasks for
>>>>>>>>>>> the project using the above mentioned method.
>>>>>>>>>>>
>>>>>>>>>>> Can you point out anything I am missing and assist me on what
>>>>>>>>>>> else I can add ?
>>>>>>>>>>>
>>>>>>>>>>> [6]
>>>>>>>>>>> https://docs.wso2.com/display/GSoC/Project+Proposals+for+2015#ProjectProposalsfor2015-Proposal6:AppFactory-CommandLineTool
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Fathima Dilhasha Nazeer <http://lk.linkedin.com/in/dilhasha/>
>>>>>>>>>>> (M.N.F.Dilhasha)
>>>>>>>>>>> Undergraduate | Department of Computer Science and Engineering
>>>>>>>>>>> University of Moratuwa
>>>>>>>>>>> Sri Lanka
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> *Anuruddha Premalal*
>>>>>>>>>> Software Eng. | WSO2 Inc.
>>>>>>>>>> Mobile : +94710461070
>>>>>>>>>> Web site : www.regilandvalley.com
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> *Anuruddha Premalal*
>>>>>>> Software Eng. | WSO2 Inc.
>>>>>>> Mobile : +94710461070
>>>>>>> Web site : www.regilandvalley.com
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>
> --
> Dimuthu Leelarathne
> Director & Product Lead of App Factory
>
> WSO2, Inc. (http://wso2.com)
> email: [email protected]
> Mobile : 0773661935
>
> Lean . Enterprise . Middleware
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to