Hi Azeez,

On Wed, Nov 6, 2013 at 8:44 AM, Afkham Azeez <az...@wso2.com> wrote:

>
>
>
> On Wed, Nov 6, 2013 at 8:37 AM, Eranda Sooriyabandara <era...@wso2.com>wrote:
>
>> Hi Azeez,
>>
>>
>> On Wed, Nov 6, 2013 at 8:28 AM, Afkham Azeez <az...@wso2.com> 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 
>>> <era...@wso2.com>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
>>>> Architecture@wso2.org
>>>> 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: **az...@wso2.com* <az...@wso2.com>
>>> * 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
>>> Architecture@wso2.org
>>> 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
>> Architecture@wso2.org
>> 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: **az...@wso2.com* <az...@wso2.com>
> * 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
> Architecture@wso2.org
> 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
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to