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