Hi all,

As per the offline discussions with team, I'm moving undeploy functionality
from appfactory.core to appfactory.deployers

In fact I'm moving the functionality in
*undeployAllArtifactsOfAppFromDepSyncGitRepo* method in
*org.wso2.carbon.appfactory.core.deploy.ApplicationDeployer* class to
*unDeployArtifact* method in
*org.wso2.carbon.appfactory.deployers.AbstractDeployer* class

Thanks

On Tue, Nov 4, 2014 at 1:07 PM, Harsha Thirimanna <[email protected]> wrote:

> Hi Samitha,
>
> As we discussed, it is better to move AppfactoryRepositoryClient interface
> from Repository component to core component and it should be an interface
> instead of abstract class. Then Repository component can register its
> implementation to the AppfactoryRepositoryClient when the Repository
> component activate.
>
>
> *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 Wed, Oct 29, 2014 at 10:48 PM, Samith Dassanayake <[email protected]>
> wrote:
>
>> Hi Mahesh,
>> As you have suggested before, can't we remove undeploy functionalities
>> from appfactory.core and move them to appfactory.deployers such that 
>> deployment
>> and undeployment related operations will handle from the same bundle. Then
>> we can remove the AppfactoryRepositoryClient from the appfactory.core.
>>
>> Thanks,
>> Samith
>>
>> On Wed, Oct 29, 2014 at 10:35 PM, Mahesh Chinthaka <[email protected]>
>> wrote:
>>
>>> 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 <[email protected]>
>>> 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 <
>>>> [email protected]> 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 <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>> ok then , i will proceed with refactoring. Thanks.
>>>>>>
>>>>>> On Tue, Oct 21, 2014 at 6:36 PM, Janaka Ranabahu <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> On Tue, Oct 21, 2014 at 6:19 PM, Mahesh Chinthaka <[email protected]>
>>>>>>> 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 <
>>>>>>>> [email protected]> 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 <
>>>>>>>>> [email protected]> 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: [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
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Dimuthu Leelarathne
>>>>> Architect & Product Lead of App Factory
>>>>>
>>>>> WSO2, Inc. (http://wso2.com)
>>>>> email: [email protected]
>>>>> 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: [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
>>>
>>
>>
>>
>> --
>> Best Regards
>>
>> Samith Dassanayake
>> Software Engineer, WSO2 Inc.
>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>


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

Reply via email to