Hi all,

I think we reached the proper consensus here. So, the idea is to clean-up
the registry.api and the registry implementation and several other things
you find inside the registry kernel. We couldn't afford to do this in the
past for the sake of compatibility, but C5 is all about these kind of
changes.

Hi Eranda,

Can you make a list of such things and think about how they'll get
reorganized, removed, or redesigned?

Thanks,
Senaka.


On Wed, Nov 6, 2013 at 7:54 AM, Kishanthan Thangarajah
<[email protected]>wrote:

> Hi Eranda and All,
>
> Along with this effort, I would suggest (thinking ahead for Carbon-5), we
> should clearly define the registry API's first, and have a minimal registry
> implementation at kernel and move other core registry parts (app,
> synchronization, client) to components level and make registry at kernel a
> light weight one.
>
> Thanks,
> Kishanthan.
>
>
> On Wed, Nov 6, 2013 at 8:52 AM, Eranda Sooriyabandara <[email protected]>wrote:
>
>> Hi Azeez,
>>
>>
>> On Wed, Nov 6, 2013 at 8:44 AM, Afkham Azeez <[email protected]> wrote:
>>
>>>
>>>
>>>
>>> On Wed, Nov 6, 2013 at 8:37 AM, Eranda Sooriyabandara 
>>> <[email protected]>wrote:
>>>
>>>> Hi Azeez,
>>>>
>>>>
>>>> On Wed, Nov 6, 2013 at 8:28 AM, Afkham Azeez <[email protected]> wrote:
>>>>
>>>>> Rather than removing registry.api, start cleaning it up & use it. In
>>>>> 2010, we introduced registry.api & user-api, with a view to getting all
>>>>> future code to properly use those APIs, and stop using interfaces from
>>>>> registry.core & user.core.
>>>>>
>>>>
>>>> The problem we have here is that we have same interfaces in
>>>> registry.api.* as well as registry.core.* which is quite confusing for a
>>>> user, where registry.api.* has less method descriptions which are in use.
>>>> So you are suggesting that we need to move all the interfaces to
>>>> registry.api.*, yes that can be done but as I mentioned before it will
>>>> affect all the components, stubs features and the effort will be high.
>>>>
>>>
>>> Yeah, effort will be high. It has not gotten done over the past 3 years
>>> because the effort was going to be high. Make a choice: keep maintaining &
>>> adding to an ugly API with implementation leaked all over it, or make an
>>> effort to define a well thought out clean API separate from the
>>> implementation, and get all components to depend on the registry
>>> implementation details.
>>>
>>
>> I think it's time to do this re-factoring.
>> Thanks for the input.
>>
>> thanks
>> Eranda
>>
>>
>>>
>>>
>>>>
>>>> thanks
>>>> Eranda
>>>>
>>>>
>>>>>
>>>>> I am -1 on removing this
>>>>>
>>>>> Azeez
>>>>>
>>>>>
>>>>> On Tue, Nov 5, 2013 at 6:07 PM, Eranda Sooriyabandara <[email protected]
>>>>> > wrote:
>>>>>
>>>>>> Hi All,
>>>>>> Interfaces and classes in org.wso2.carbon.registry.api.* are almost
>>>>>> all duplicated [1] in org.wso2.carbon.registry.core.*. It's been very
>>>>>> confusing to have same interface in two place where both of those
>>>>>> interfaces used for the same purpose. Most of the time we
>>>>>> used org.wso2.carbon.registry.core.* for in our code as well as client
>>>>>> codes where we only updated org.wso2.carbon.registry.core.* for the new
>>>>>> methods.  I did some feasibility study of removing
>>>>>> org.wso2.carbon.registry.api.* and seems it's ok for me to remove that if
>>>>>> we don't have any specific reason to remove it.
>>>>>>
>>>>>> Or
>>>>>>
>>>>>> We can move the interfaces and abstract classes to
>>>>>> the org.wso2.carbon.registry.api.*. But the work load will be much 
>>>>>> higher.
>>>>>>
>>>>>> Comments and thoughts are welcome.
>>>>>>
>>>>>> thanks
>>>>>> Eranda
>>>>>>
>>>>>> [1]. Comparison of org.wso2.carbon.registry.api.* to
>>>>>> org.wso2.carbon.registry.core.*
>>>>>>
>>>>>> org.wso2.carbon.registry.core.LogEntry extends
>>>>>> org.wso2.carbon.registry.api.Activity
>>>>>> org.wso2.carbon.registry.api.Activity only used in
>>>>>> org.wso2.carbon.registry.core.LogEntry
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------------------------
>>>>>>
>>>>>> org.wso2.carbon.registry.core.Association extends
>>>>>> org.wso2.carbon.registry.api.Association
>>>>>> org.wso2.carbon.registry.api.Association only used in
>>>>>> org.wso2.carbon.registry.core.Association
>>>>>> This class only has the super construct call
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------------------------
>>>>>>
>>>>>> <<interface>>org.wso2.carbon.registry.core.Collection extends
>>>>>> <<interface>>org.wso2.carbon.registry.api.Collection
>>>>>> org.wso2.carbon.registry.api.Collection only used in
>>>>>> org.wso2.carbon.registry.core.Collection
>>>>>> All org.wso2.carbon.registry.api.Collection methods are overridden
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------------------------
>>>>>>
>>>>>> org.wso2.carbon.registry.core.Comment implements
>>>>>> org.wso2.carbon.registry.api.Comment
>>>>>> Need to move this to org.wso2.carbon.registry.core and rename the
>>>>>> existing implementation to CommentImpl
>>>>>>
>>>>>> org.wso2.carbon.registry.api.CoreRegistry extends
>>>>>> org.wso2.carbon.registry.core.CoreRegistry
>>>>>> both are same interface
>>>>>> org.wso2.carbon.registry.api.CoreRegistry only used in
>>>>>> org.wso2.carbon.registry.core.CoreRegistry
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------------------------
>>>>>>
>>>>>> org.wso2.carbon.registry.api.GhostResource<T> only appears in
>>>>>> org.wso2.carbon.registry.api
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------------------------
>>>>>> org.wso2.carbon.registry.core.Registry extends
>>>>>> org.wso2.carbon.registry.api.Registry
>>>>>>
>>>>>>  org.wso2.carbon.registry.core.Registry extended methods
>>>>>>
>>>>>>  boolean addAspect(String name, Aspect aspect)
>>>>>>  LogEntryCollection getLogCollection(String resourcePath, int
>>>>>> action, String userName, Date from, Date to, boolean recentFirst)
>>>>>>  RegistryContext getRegistryContext()
>>>>>>  void invokeAspect(String resourcePath, String aspectName, String
>>>>>> action, Map<String,String> parameters)
>>>>>>  boolean removeAspect(String aspect)
>>>>>>  boolean removeVersionHistory(String path, long snapshotId)
>>>>>>
>>>>>>
>>>>>> -------------------------------------------------------------------------
>>>>>>  org.wso2.carbon.registry.api.RegistryException extends
>>>>>> org.wso2.carbon.registry.core.RegistryException
>>>>>>  both are same the same
>>>>>>
>>>>>>
>>>>>>  ------------------------------------------------------------------------
>>>>>>
>>>>>>  org.wso2.carbon.registry.core.RegistryService extends
>>>>>> org.wso2.carbon.registry.api.RegistryService
>>>>>>  org.wso2.carbon.registry.api.RegistryService  used in
>>>>>> RegistryCoreServiceComponent to register the RegistryService
>>>>>>  org.wso2.carbon.registry.core.RegistryService uses UserRegistry
>>>>>> instead of Registry as in org.wso2.carbon.registry.api.RegistryService
>>>>>>
>>>>>>  org.wso2.carbon.registry.core.RegistryService extended methods
>>>>>>  org.wso2.carbon.user.core.UserRealm getUserRealm(int tenantId)
>>>>>>
>>>>>>  Remove deprecated in org.wso2.carbon.registry.core.RegistryService
>>>>>>
>>>>>>  UserRegistry getSystemRegistry() --- Deprecated.
>>>>>>  UserRegistry getSystemRegistry(int tenantId) --- Deprecated.
>>>>>>  UserRegistry getSystemRegistry(int tenantId, String chroot) ---
>>>>>> Deprecated.
>>>>>>  UserRegistry getUserRegistry() --- Deprecated.
>>>>>>  UserRegistry getUserRegistry(String userName) --- Deprecated.
>>>>>>  UserRegistry getUserRegistry(String userName, int tenantId) ---
>>>>>> Deprecated.
>>>>>>  UserRegistry getUserRegistry(String userName, int tenantId, String
>>>>>> chroot) --- Deprecated.
>>>>>>  UserRegistry getUserRegistry(String userName, String password) ---
>>>>>> Deprecated.
>>>>>>  UserRegistry getUserRegistry(String userName, String password, int
>>>>>> tenantId) ---  Deprecated.
>>>>>>  UserRegistry getUserRegistry(String userName, String password, int
>>>>>> tenantId, String chroot) --- Deprecated.
>>>>>>
>>>>>>
>>>>>>  ------------------------------------------------------------------------
>>>>>>
>>>>>>  <<interface>>org.wso2.carbon.registry.core.Resource extends
>>>>>> <<interface>>org.wso2.carbon.registry.api.Resource
>>>>>>  both the interfaces are the same
>>>>>>  Has lot of usages of org.wso2.carbon.registry.api.Resource in
>>>>>> org.wso2.carbon.registry.core
>>>>>>
>>>>>>
>>>>>>  ------------------------------------------------------------------------
>>>>>>
>>>>>>  org.wso2.carbon.registry.core.Tag extends
>>>>>> org.wso2.carbon.registry.api.Tag
>>>>>>  org.wso2.carbon.registry.core.Tag override the method  'public void
>>>>>> setTagCount(long tagCount)'
>>>>>>  org.wso2.carbon.registry.api.Tag only used in
>>>>>> org.wso2.carbon.registry.core.Tag and
>>>>>> org.wso2.carbon.registry.core.TaggedResourcePath but not used 
>>>>>> 'setTagCount'
>>>>>> method.
>>>>>>
>>>>>>
>>>>>>  ------------------------------------------------------------------------
>>>>>>
>>>>>>  org.wso2.carbon.registry.core.TaggedResourcePath extends
>>>>>> org.wso2.carbon.registry.api.TaggedResourcePath
>>>>>>  org.wso2.carbon.registry.api.TaggedResourcePath Only used in
>>>>>> org.wso2.carbon.registry.core.TaggedResourcePath
>>>>>>
>>>>>> --
>>>>>>
>>>>>> *Eranda Sooriyabandara *Senior Software Engineer;
>>>>>> Integration Technologies Team;
>>>>>> WSO2 Inc.; http://wso2.com
>>>>>> Lean . Enterprise . Middleware
>>>>>>
>>>>>> E-mail: eranda AT wso2.com
>>>>>> Mobile: +94 716 472 816
>>>>>> Linked-In: http://www.linkedin.com/in/erandasooriyabandara
>>>>>> Blog: http://emsooriyabandara.blogspot.com/
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Afkham Azeez*
>>>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>>>> Member; Apache Software Foundation; http://www.apache.org/
>>>>> * <http://www.apache.org/>*
>>>>> *email: **[email protected]* <[email protected]>
>>>>> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: *
>>>>> *http://blog.afkham.org* <http://blog.afkham.org>
>>>>> *twitter: 
>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
>>>>> * linked-in: **http://lk.linkedin.com/in/afkhamazeez
>>>>> <http://lk.linkedin.com/in/afkhamazeez>*
>>>>>
>>>>>
>>>>> *Lean . Enterprise . Middleware*
>>>>>
>>>>> _______________________________________________
>>>>> Architecture mailing list
>>>>> [email protected]
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Eranda Sooriyabandara*Senior Software Engineer;
>>>> Integration Technologies Team;
>>>> WSO2 Inc.; http://wso2.com
>>>> Lean . Enterprise . Middleware
>>>>
>>>> E-mail: eranda AT wso2.com
>>>> Mobile: +94 716 472 816
>>>> Linked-In: http://www.linkedin.com/in/erandasooriyabandara
>>>> Blog: http://emsooriyabandara.blogspot.com/
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> *Afkham Azeez*
>>> Director of Architecture; WSO2, Inc.; http://wso2.com
>>> Member; Apache Software Foundation; http://www.apache.org/
>>> * <http://www.apache.org/>*
>>> *email: **[email protected]* <[email protected]>
>>> * cell: +94 77 3320919 <%2B94%2077%203320919> blog: *
>>> *http://blog.afkham.org* <http://blog.afkham.org>
>>> *twitter: 
>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez>
>>> * linked-in: **http://lk.linkedin.com/in/afkhamazeez
>>> <http://lk.linkedin.com/in/afkhamazeez>*
>>>
>>> *Lean . Enterprise . Middleware*
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>>
>> *Eranda Sooriyabandara*Senior Software Engineer;
>> Integration Technologies Team;
>> WSO2 Inc.; http://wso2.com
>> Lean . Enterprise . Middleware
>>
>> E-mail: eranda AT wso2.com
>> Mobile: +94 716 472 816
>> Linked-In: http://www.linkedin.com/in/erandasooriyabandara
>> Blog: http://emsooriyabandara.blogspot.com/
>>
>>
>>
>>
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> *Kishanthan Thangarajah*
> Senior Software Engineer,
> Platform Technologies Team,
> WSO2, Inc.
> lean.enterprise.middleware
>
> Mobile - +94773426635
> Blog - *http://kishanthan.wordpress.com <http://kishanthan.wordpress.com>*
> Twitter - *http://twitter.com/kishanthan <http://twitter.com/kishanthan>*
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 

* <http://us13.wso2con.com/> *

*Senaka Fernando*
Senior Technical Lead; WSO2 Inc.; http://wso2.com



* Member; Apache Software Foundation; http://apache.org
<http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1 408
754 7388 <%2B1%20408%20754%207388>; ext: 51736*;


*M: +94 77 322 1818 <%2B94%2077%20322%201818> Linked-In:
http://linkedin.com/in/senakafernando
<http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to