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
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to