Hi Janaka, We initially decided to implement unDeployArtifact() in AbstractDeployer, now it seems better to implement it in AbstractStratosDeployer. +1 to implement it in AbstractStratosDeployer. @Harsha, WDYT ?
On Tue, Nov 4, 2014 at 11:00 PM, Janaka Ranabahu <[email protected]> wrote: > Hi Mahesh, > > On Tue, Nov 4, 2014 at 10:51 PM, Mahesh Chinthaka <[email protected]> > wrote: > >> Hi Harsha, >> While following other codes i was able to figure out some usages and >> below is what im going to do. Let me know if anything wrong. >> >> >> *getRepositoryProviderAdminPassword()* >> *getRepositoryProviderAdminUser()* >> >> These two can be solved. We can >> use DeployerUtil.getRepositoryProviderProperty to get the repository >> provider admin username and password >> >> Please note that the current implementation of those methods are in the > NonBuildableArtifactDeployer. Please move them to AbstractStratosDeployer > so that in future, any deployment related operation for stratos can use > them. > >> >> *getGitRepoUrlForTenant()* >> >> RepositoryManager.getAppRepositoryURL can be used to do the job. >> >> Why can't you use the generateRepoUrl() method in AbstractStratosDeployer > for this. I didn't compare the implementations of those 2 but they might be > different since we are using 2 templates for Git and S2Git. So please check > that too. > >> >> *getServerDeploymentPaths()* >> >> This will be moved to AbstractDeployer. >> >> I would rather suggest to use AbstractStratosDeployer here since this is > related to stratos deployment and might not be the same for any other > deployment environment in the future > >> >> getFilesToDelete() >> >> I will move this in to AbstractDeployer, because unDeployAftifact is also >> in the AbstractDeployer and AbstractStratosDeployer is inherited from >> AbstractDeployer. So I think we have to move it to AbstractDeployer >> >> Same as above. > > Thanks, > Janaka > >> >> >> On Tue, Nov 4, 2014 at 10:21 PM, Harsha Thirimanna <[email protected]> >> wrote: >> >>> Hi Mahesh, >>> >>> Don't write same code twice. Just move it. Because it is not suite to >>> use those kind of method that keeping this Service Class. When we are doing >>> some changes, we may have to re-factor according to the best practices. >>> WDYT ? >>> >>> >>> *Harsha Thirimanna* >>> Senior Software Engineer; WSO2, Inc.; http://wso2.com >>> * <http://www.apache.org/>* >>> *email: **[email protected]* <[email protected]>* cell: +94 71 5186770 , >>> +94 * >>> *774617784twitter: **http://twitter.com/ >>> <http://twitter.com/afkham_azeez>* >>> *harshathirimannlinked-in: **http: >>> <http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122 >>> <http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>* >>> >>> *Lean . Enterprise . Middleware* >>> >>> >>> On Tue, Nov 4, 2014 at 10:18 PM, Mahesh Chinthaka <[email protected]> >>> wrote: >>> >>>> Hi Harsha, >>>> Why cant we just make those methods public and use them ? Since >>>> appfactory.core is already a dependancy in appfactory.deployers >>>> So we can avoid writing the same code twice. >>>> >>>> On Tue, Nov 4, 2014 at 10:13 PM, Harsha Thirimanna <[email protected]> >>>> wrote: >>>> >>>>> Hi Janaka, >>>>> >>>>> There are no new utility method. Just keep it in right place as we can >>>>> reuse it. >>>>> >>>>> >>>>> *Harsha Thirimanna* >>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com >>>>> * <http://www.apache.org/>* >>>>> *email: **[email protected]* <[email protected]>* cell: +94 71 5186770 , >>>>> +94 * >>>>> *774617784twitter: **http://twitter.com/ >>>>> <http://twitter.com/afkham_azeez>* >>>>> *harshathirimannlinked-in: **http: >>>>> <http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122 >>>>> <http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>* >>>>> >>>>> *Lean . Enterprise . Middleware* >>>>> >>>>> >>>>> On Tue, Nov 4, 2014 at 10:12 PM, Harsha Thirimanna <[email protected]> >>>>> wrote: >>>>> >>>>>> sorry, I had sent half of the mail. >>>>>> >>>>>> getFilesToDelete - you can move this method to AbstractStratosDeployer >>>>>> >>>>>> getRepositoryProviderAdminUser >>>>>> getRepositoryProviderAdminPassword >>>>>> >>>>>> these two methods can move to AppFactoryUtil in common component and >>>>>> make it public. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> *Harsha Thirimanna* >>>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com >>>>>> * <http://www.apache.org/>* >>>>>> *email: **[email protected]* <[email protected]>* cell: +94 71 5186770 >>>>>> , +94 * >>>>>> *774617784twitter: **http://twitter.com/ >>>>>> <http://twitter.com/afkham_azeez>* >>>>>> *harshathirimannlinked-in: **http: >>>>>> <http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122 >>>>>> <http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>* >>>>>> >>>>>> *Lean . Enterprise . Middleware* >>>>>> >>>>>> >>>>>> On Tue, Nov 4, 2014 at 10:03 PM, Harsha Thirimanna <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi Janaka, >>>>>>> >>>>>>> As Mahesh mentioned some of here are Util methods as private. >>>>>>> >>>>>>> @Mahesh >>>>>>> >>>>>>> getGitRepoUrlForTenant - rename this method to getRepoUrlForTenant >>>>>>> and move it to RepositoryClient interface. Implement it >>>>>>> in GitRepositoryClient according to the Git. >>>>>>> getServerDeploymentPaths - in this method, there is only static >>>>>>> method call >>>>>>> >>>>>>> >>>>>>> *Harsha Thirimanna* >>>>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com >>>>>>> * <http://www.apache.org/>* >>>>>>> *email: **[email protected]* <[email protected]>* cell: +94 71 5186770 >>>>>>> , +94 * >>>>>>> *774617784twitter: **http://twitter.com/ >>>>>>> <http://twitter.com/afkham_azeez>* >>>>>>> *harshathirimannlinked-in: **http: >>>>>>> <http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122 >>>>>>> <http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>* >>>>>>> >>>>>>> *Lean . Enterprise . Middleware* >>>>>>> >>>>>>> >>>>>>> On Tue, Nov 4, 2014 at 9:52 PM, Janaka Ranabahu <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Mahesh, >>>>>>>> >>>>>>>> On Tue, Nov 4, 2014 at 9:42 PM, Mahesh Chinthaka <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi all , >>>>>>>>> I was trying to move the exact functionality in >>>>>>>>> *org.wso2.carbon.appfactory.core.deploy.ApplicationDeployer.undeployAllArtifactsOfAppFromDepSyncGitRepo()* >>>>>>>>> to >>>>>>>>> *org.wso2.carbon.appfactory.deployers.AbstractDeployer.unDeployArtifact()* >>>>>>>>> >>>>>>>>> while working on *unDeployArtifact()* i need to access some more >>>>>>>>> methods inside *ApplicationDeployer* class, which are private. >>>>>>>>> those are : getRepositoryProviderAdminUser() >>>>>>>>> getRepositoryProviderAdminPassword() >>>>>>>>> getGitRepoUrlForTenant() >>>>>>>>> getServerDeploymentPaths() >>>>>>>>> getFilesToDelete() >>>>>>>>> >>>>>>>> Did you check how these parameters are sent when the deployment >>>>>>>> call happens? IIRC, we pass a parameter map for that method which >>>>>>>> contains >>>>>>>> all these parameters. Also those parameters are configured in the >>>>>>>> appfactory.xml >>>>>>>> So please check how the deploy methods work. That should give you a >>>>>>>> clue. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Janaka >>>>>>>> >>>>>>>>> >>>>>>>>> What kind of approach should I follow ? >>>>>>>>> >>>>>>>>> 1. Make above methods public and use them. >>>>>>>>> 2. Implement same methods inside AbstactDeployer class and use >>>>>>>>> them. >>>>>>>>> >>>>>>>>> FYI : *AbstractDeployer* class is implemented from *Deployer* >>>>>>>>> interface and currently it has following methods. >>>>>>>>> deployTaggedArtifact >>>>>>>>> deployLatestSuccessArtifact >>>>>>>>> deployPromotedArtifact >>>>>>>>> unDeployArtifact >>>>>>>>> handleException >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> -- >>>>>>>>> *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: [email protected] | Web: www.wso2.com >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Janaka Ranabahu* >>>>>>>> Senior Software Engineer; WSO2 Inc.; http://wso2.com >>>>>>>> >>>>>>>> >>>>>>>> *E-mail: [email protected] <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: [email protected] | 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: [email protected] | Web: www.wso2.com >> > > > > -- > *Janaka Ranabahu* > Senior Software Engineer; WSO2 Inc.; http://wso2.com > > > *E-mail: [email protected] <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: [email protected] | Web: www.wso2.com
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
