On Tue, Nov 4, 2014 at 11:06 PM, Mahesh Chinthaka <[email protected]> wrote:

> 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.
>
+1 for implementing it in the AbstractStratosDeployer since that is the
default place for all the stratos deployment related implementations.

Thanks,
Janaka

> @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
>



-- 
*Janaka Ranabahu*
Senior Software Engineer; WSO2 Inc.; http://wso2.com


*E-mail: [email protected] <http://wso2.com>**M: **+94 718370861*

Lean . Enterprise . Middleware
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to