Hi Azeez,

On Wed, Nov 6, 2013 at 8:33 AM, Afkham Azeez <[email protected]> wrote:

> To add more context, what you have in registry.core is not a proper API.
> It has implementation details leaked all over the interface. The idea to
> introduce a clean registry.api started in order to define a proper API.
> Please spend your time getting that API properly designed & fixed, and used
> in the rest of the platform, rather than going back to the registry.core
> interfaces.
>

I understand the need of registry.api.* and agreed the cleanliness when we
have interfaces are separated though it is used rarely. So shall we remove
the main interfaces from registry.core.* and maintain them in
registry.api.* where users use registry.api.* instead registry.core.* for
their object references?

thanks
Eranda


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

Reply via email to