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
