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