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

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


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

Reply via email to