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

Reply via email to