Hi Dimuthu, I worked on above suggested method and got succeeded. So *org.wso2.carbon.appfactory.repository.mgt.client.* *AppfacotryRepositoryClient* is used inside appfactory.deployers as well. We got rid of one AppfactoryRepositoryClient out of two. :)
*AppfactoryRepositoryClient* in *appfactory.core* is left. Waiting for a thought on this. thanks On Wed, Oct 22, 2014 at 11:35 AM, Mahesh Chinthaka <mahe...@wso2.com> wrote: > Hi Dimuthu, > > I will try that way out and let you know. > Thanks. > > On Wed, Oct 22, 2014 at 11:08 AM, Dimuthu Leelarathne <dimut...@wso2.com> > wrote: > >> Hi Mahesh, >> >> As per our offline discussion we can use org.wso2.carbon.appfactory. >> repository.mgt.client.AppfacotryRepositoryClient inside deployers as >> well. So we'll have one AppFactoryRepositoryClient everywhere. If we copy >> the RepositoryMgt into the AppServer it should function without an issue >> because the Carbon env is visible to the Jenkins webapp. >> >> thanks, >> dimuthu >> >> >> On Tue, Oct 21, 2014 at 6:57 PM, Mahesh Chinthaka <mahe...@wso2.com> >> wrote: >> >>> Hi, >>> ok then , i will proceed with refactoring. Thanks. >>> >>> On Tue, Oct 21, 2014 at 6:36 PM, Janaka Ranabahu <jan...@wso2.com> >>> wrote: >>> >>>> Hi, >>>> >>>> On Tue, Oct 21, 2014 at 6:19 PM, Mahesh Chinthaka <mahe...@wso2.com> >>>> wrote: >>>> >>>>> Hi , >>>>> No i meant a webservice, i understand it's not a good idea. >>>>> Anyway there are some more findings so far, >>>>> >>>>> *Regarding appfactory.core.deploy.AppfactoryRepositoryClient* >>>>> >>>>> *appfactory.core.deploy.AppfactoryRepositoryClient* is used only >>>>> twice for whole code. That is in *deleteFromDepSyncGitRepo* method >>>>> and *undeployAllArtifactsOfAppFromDepSyncGitRepo *method in >>>>> *ApplicationDeployer* class within the same package. And above two >>>>> methods are private. >>>>> >>>>> Though all other repository deployment functions happen in >>>>> *appfactory.deployers *(which jar goes to jenkins) , undeployment >>>>> happens in *appfactory.core* section (correct me if im wrong). >>>>> >>>>> Therefore if we move undeploy functionality to *appfactory.deployers >>>>> *section >>>>> , we can get rid of >>>>> *appfactory.core.deploy.AppfactoryRepositoryClient. * >>>>> >>>>> +1. Please proceed with the re-factoring. We need to handle deployment >>>> and undeployment related operations from the same place. >>>> >>>>> *Regarding appfactory.deployers.clients.AppfactoryRepositoryClient* >>>>> >>>>> Unfortunately we will have to do the same implementation as in >>>>> *appfactory.repository.mgt >>>>> *here , since this goes to jenkins and we need to keep minimum >>>>> dependancies. Because of the minimum dependencies scenario we cannot use >>>>> *JGitAgent* available in *appfacotry.repository.mgt . *Therefore we >>>>> have to re-implement it here in *appfactory.deployers.clients* though >>>>> it's a replication. >>>>> >>>>> Let's check whether we could move them to a common component, maybe >>>> something like appfactory.common component. >>>> >>>> Thanks, >>>> Janaka >>>> >>>>> >>>>> Advise please.... >>>>> >>>>> On Tue, Oct 21, 2014 at 3:36 PM, Danushka Fernando <danush...@wso2.com >>>>> > wrote: >>>>> >>>>>> What do you meant by a service ? An OSGI service? +1 Go ahead with >>>>>> the solution #2. >>>>>> >>>>>> Thanks & Regards >>>>>> Danushka Fernando >>>>>> Software Engineer >>>>>> WSO2 inc. http://wso2.com/ >>>>>> Mobile : +94716332729 >>>>>> >>>>>> On Tue, Oct 21, 2014 at 3:29 PM, Mahesh Chinthaka <mahe...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi all, >>>>>>> Im working on [1] >>>>>>> >>>>>>> In here we have to consider 3 classes >>>>>>> >>>>>>> 1. org.wso2.carbon.appfactory.repository.mgt.client >>>>>>> .AppfacotryRepositoryClient >>>>>>> 2. org.wso2.carbon.appfactory.core.deploy >>>>>>> .AppfacotryRepositoryClient >>>>>>> 3. org.wso2.carbon.appfactory.deployers.clients >>>>>>> .AppfacotryRepositoryClient >>>>>>> >>>>>>> >>>>>>> >>>>>>> *org.wso2.carbon.appfactory.repository.mgt.client.AppfacotryRepositoryClient* >>>>>>> has already integrated with JGit plugin via *JGitAgent* class. >>>>>>> >>>>>>> Still >>>>>>> *org.wso2.carbon.appfactory.core.deploy.AppfacotryRepositoryClient* >>>>>>> and >>>>>>> *org.wso2.carbon.appfactory.deployers.clients.AppfacotryRepositoryClient* >>>>>>> use *GitSCMClient*. Now we need to remove SCM plugin and integrate >>>>>>> JGit plugin to these two classes as well. >>>>>>> I see following approaches, >>>>>>> >>>>>>> 1. Implement same functionality which is in >>>>>>> *org.wso2.carbon.appfactory.repository.mgt.client.AppfacotryRepositoryClient* >>>>>>> for above both places. But this will cause code redundancy, I guess. >>>>>>> 2. Make >>>>>>> *org.wso2.carbon.appfactory.repository.mgt.client.AppfacotryRepositoryClient* >>>>>>> as a service and make it available to use in other two places. >>>>>>> >>>>>>> Please advise me in way forward. Suggest me a better approach please. >>>>>>> Thanks >>>>>>> >>>>>>> [1] - https://wso2.org/jira/browse/APPFAC-2328 >>>>>>> >>>>>>> -- >>>>>>> *Mahesh Chinthaka Vidanagama* | Software Engineer >>>>>>> WSO2, Inc | lean. enterprise. middleware. >>>>>>> #20, Palm Grove, Colombo 03, Sri Lanka >>>>>>> Mobile: +94 71 63 63 083 | Work: +94 112 145 345 >>>>>>> Email: mahe...@wso2.com | Web: www.wso2.com >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Mahesh Chinthaka Vidanagama* | Software Engineer >>>>> WSO2, Inc | lean. enterprise. middleware. >>>>> #20, Palm Grove, Colombo 03, Sri Lanka >>>>> Mobile: +94 71 63 63 083 | Work: +94 112 145 345 >>>>> Email: mahe...@wso2.com | Web: www.wso2.com >>>>> >>>> >>>> >>>> >>>> -- >>>> *Janaka Ranabahu* >>>> Senior Software Engineer; WSO2 Inc.; http://wso2.com >>>> >>>> >>>> *E-mail: jan...@wso2.com <http://wso2.com>**M: **+94 718370861 >>>> <%2B94%20718370861>* >>>> >>>> Lean . Enterprise . Middleware >>>> >>> >>> >>> >>> -- >>> *Mahesh Chinthaka Vidanagama* | Software Engineer >>> WSO2, Inc | lean. enterprise. middleware. >>> #20, Palm Grove, Colombo 03, Sri Lanka >>> Mobile: +94 71 63 63 083 | Work: +94 112 145 345 >>> Email: mahe...@wso2.com | Web: www.wso2.com >>> >> >> >> >> -- >> Dimuthu Leelarathne >> Architect & Product Lead of App Factory >> >> WSO2, Inc. (http://wso2.com) >> email: dimut...@wso2.com >> Mobile : 0773661935 >> >> Lean . Enterprise . Middleware >> > > > > -- > *Mahesh Chinthaka Vidanagama* | Software Engineer > WSO2, Inc | lean. enterprise. middleware. > #20, Palm Grove, Colombo 03, Sri Lanka > Mobile: +94 71 63 63 083 | Work: +94 112 145 345 > Email: mahe...@wso2.com | Web: www.wso2.com > -- *Mahesh Chinthaka Vidanagama* | Software Engineer WSO2, Inc | lean. enterprise. middleware. #20, Palm Grove, Colombo 03, Sri Lanka Mobile: +94 71 63 63 083 | Work: +94 112 145 345 Email: mahe...@wso2.com | Web: www.wso2.com
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev