On Wed, Nov 6, 2013 at 8:45 AM, Eranda Sooriyabandara <[email protected]>wrote:
> 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? > Yeah, that was the whole idea. Now is a good time to do it since we are moving to a better architecture & better APIs with C5. > > 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 > > -- *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
