Author: chathura
Date: Thu Feb 21 05:37:27 2008
New Revision: 13996

Log:


Made the Registry impl available for media type handler authors.
So they have access to the entire registry functionality inside media type 
handlers.



Modified:
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeHandler.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeManager.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/Axis2RepositoryMediaTypeHandler.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/DefaultMediaTypeHandler.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SQLQueryMediaTypeHandler.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SynapseRepositoryMediaTypeHandler.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/XSDMediaTypeHandler.java
   trunk/registry/modules/webapps/src/main/webapp/admin/versions.jsp

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
  (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
  Thu Feb 21 05:37:27 2008
@@ -115,7 +115,7 @@
         defaultRealm = realm;
 
         urlHandlerManager = new URLHandlerManager(dataSource, realm, this);
-        mediaTypeManager = new MediaTypeManager(dataSource, realm);
+        mediaTypeManager = new MediaTypeManager(dataSource, realm, this);
         queryProcessorManager = new QueryProcessorManager(dataSource, realm);
 
         resourceDAO = new VersionedResourceDAO();

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeHandler.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeHandler.java
   (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeHandler.java
   Thu Feb 21 05:37:27 2008
@@ -18,7 +18,9 @@
 
 import org.wso2.registry.RegistryException;
 import org.wso2.registry.Resource;
+import org.wso2.registry.Registry;
 import org.wso2.registry.jdbc.dao.VersionedResourceDAO;
+import org.wso2.registry.jdbc.JDBCRegistry;
 import org.wso2.registry.utils.AuthorizationUtil;
 import org.wso2.usermanager.Realm;
 
@@ -58,6 +60,18 @@
      */
     protected MediaTypeManager mediaTypeManager;
 
+    /**
+     * Instance of the Registry implementation (possibly the JDBCRegistry). 
Media type 
+     * handler authors can use this registry to perform any action within the 
media type handler.
+     * e.g. tagging, commenting, rating
+     *
+     * However it is not recommended to use this for put, get, delete and 
import operations. If
+     * this is used for those operations, it will invoke the media type 
handlers again, which
+     * could possibly result in an infinite loop. Use the 
DefaultMediaTypeHandler instance, which
+     * can be obtained from the given MediaTypeManager instance for those four 
operations.
+     */
+    protected Registry registry;
+
     /** ResourceDAO for directly accessing resources. */
     protected VersionedResourceDAO resourceDAO = new VersionedResourceDAO();
 
@@ -66,11 +80,13 @@
 
     public MediaTypeHandler(DataSource dataSource,
                             Realm realm,
-                            MediaTypeManager mediaTypeManager) {
+                            MediaTypeManager mediaTypeManager,
+                            Registry registry) {
 
         this.dataSource = dataSource;
         this.realm = realm;
         this.mediaTypeManager = mediaTypeManager;
+        this.registry = registry;
     }
 
     /**

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeManager.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeManager.java
   (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/MediaTypeManager.java
   Thu Feb 21 05:37:27 2008
@@ -21,6 +21,7 @@
 import org.wso2.registry.RegistryConstants;
 import org.wso2.registry.RegistryException;
 import org.wso2.registry.Resource;
+import org.wso2.registry.Registry;
 import org.wso2.registry.config.MediaTypeHandlerConfiguration;
 import org.wso2.registry.config.RegistryContext;
 import org.wso2.registry.exceptions.ResourceNotFoundException;
@@ -56,15 +57,16 @@
     private Map mediaTypeHandlers = new HashMap();
     private DefaultMediaTypeHandler defaultMediaTypeHandler;
 
-    public MediaTypeManager(DataSource dataSource, Realm realm) throws 
RegistryException {
+    public MediaTypeManager(DataSource dataSource, Realm realm, Registry 
registry)
+            throws RegistryException {
 
         this.dataSource = dataSource;
 
-        defaultMediaTypeHandler = new DefaultMediaTypeHandler(dataSource, 
realm, this);
+        defaultMediaTypeHandler = new DefaultMediaTypeHandler(dataSource, 
realm, this, registry);
         mediaTypeHandlers.put(RegistryConstants.DEFAULT_MEDIA_TYPE, 
defaultMediaTypeHandler);
 
         MediaTypeHandler sqlMediaTypeHandler =
-                new SQLQueryMediaTypeHandler(dataSource, realm, this);
+                new SQLQueryMediaTypeHandler(dataSource, realm, this, 
registry);
         mediaTypeHandlers.put(RegistryConstants.SQL_QUERY_MEDIA_TYPE, 
sqlMediaTypeHandler);
 
         RegistryContext registryContext =
@@ -83,10 +85,10 @@
                     Class handlerClass = 
Class.forName(configuration.getMediaTypeHandler());
 
                     Constructor handlerConstructor = 
handlerClass.getConstructor(
-                            DataSource.class, Realm.class, 
MediaTypeManager.class);
+                            DataSource.class, Realm.class, 
MediaTypeManager.class, Registry.class);
 
                     MediaTypeHandler mediaTypeHandler = (MediaTypeHandler)
-                            handlerConstructor.newInstance(dataSource, realm, 
this);
+                            handlerConstructor.newInstance(dataSource, realm, 
this, registry);
 
                     mediaTypeHandlers.put(configuration.getMediaType(), 
mediaTypeHandler);
 

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/Axis2RepositoryMediaTypeHandler.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/Axis2RepositoryMediaTypeHandler.java
    (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/Axis2RepositoryMediaTypeHandler.java
    Thu Feb 21 05:37:27 2008
@@ -19,8 +19,10 @@
 import org.wso2.registry.RegistryConstants;
 import org.wso2.registry.RegistryException;
 import org.wso2.registry.Resource;
+import org.wso2.registry.Registry;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeHandler;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeManager;
+import org.wso2.registry.jdbc.JDBCRegistry;
 import org.wso2.usermanager.Realm;
 
 import javax.sql.DataSource;
@@ -29,9 +31,10 @@
 
     public Axis2RepositoryMediaTypeHandler(DataSource dataSource,
                                            Realm realm,
-                                           MediaTypeManager mediaTypeManager) {
+                                           MediaTypeManager mediaTypeManager,
+                                           Registry registry) {
 
-        super(dataSource, realm, mediaTypeManager);
+        super(dataSource, realm, mediaTypeManager, registry);
     }
 
     public Resource get(String path, Resource rawArtifact) throws 
RegistryException {

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/DefaultMediaTypeHandler.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/DefaultMediaTypeHandler.java
    (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/DefaultMediaTypeHandler.java
    Thu Feb 21 05:37:27 2008
@@ -18,13 +18,11 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.wso2.registry.RegistryConstants;
-import org.wso2.registry.RegistryException;
-import org.wso2.registry.Resource;
-import org.wso2.registry.User;
+import org.wso2.registry.*;
 import org.wso2.registry.i18n.Messages;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeHandler;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeManager;
+import org.wso2.registry.jdbc.JDBCRegistry;
 import org.wso2.registry.utils.AuthorizationUtil;
 import org.wso2.usermanager.Realm;
 
@@ -46,9 +44,10 @@
 
     public DefaultMediaTypeHandler(DataSource dataSource,
                                    Realm realm,
-                                   MediaTypeManager mediaTypeManager) {
+                                   MediaTypeManager mediaTypeManager,
+                                   Registry registry) {
 
-        super(dataSource, realm, mediaTypeManager);
+        super(dataSource, realm, mediaTypeManager, registry);
     }
 
     public Resource get(String path, Resource resource) throws 
RegistryException {

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SQLQueryMediaTypeHandler.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SQLQueryMediaTypeHandler.java
   (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SQLQueryMediaTypeHandler.java
   Thu Feb 21 05:37:27 2008
@@ -18,8 +18,10 @@
 
 import org.wso2.registry.RegistryException;
 import org.wso2.registry.Resource;
+import org.wso2.registry.Registry;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeHandler;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeManager;
+import org.wso2.registry.jdbc.JDBCRegistry;
 import org.wso2.usermanager.Realm;
 
 import javax.sql.DataSource;
@@ -28,9 +30,10 @@
 
     public SQLQueryMediaTypeHandler(DataSource dataSource,
                                     Realm realm,
-                                    MediaTypeManager mediaTypeManager) {
+                                    MediaTypeManager mediaTypeManager,
+                                    Registry registry) {
 
-        super(dataSource, realm, mediaTypeManager);
+        super(dataSource, realm, mediaTypeManager, registry);
     }
 
     public Resource get(String path, Resource resource) throws 
RegistryException {

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SynapseRepositoryMediaTypeHandler.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SynapseRepositoryMediaTypeHandler.java
  (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/SynapseRepositoryMediaTypeHandler.java
  Thu Feb 21 05:37:27 2008
@@ -19,6 +19,7 @@
 import org.wso2.registry.RegistryConstants;
 import org.wso2.registry.RegistryException;
 import org.wso2.registry.Resource;
+import org.wso2.registry.Registry;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeHandler;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeManager;
 import org.wso2.usermanager.Realm;
@@ -29,8 +30,9 @@
 
     public SynapseRepositoryMediaTypeHandler(DataSource dataSource,
                                              Realm realm,
-                                             MediaTypeManager 
mediaTypeManager) {
-        super(dataSource, realm, mediaTypeManager);
+                                             MediaTypeManager mediaTypeManager,
+                                             Registry registry) {
+        super(dataSource, realm, mediaTypeManager, registry);
     }
 
     public Resource get(String path, Resource resource) throws 
RegistryException {

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
       (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
       Thu Feb 21 05:37:27 2008
@@ -19,6 +19,7 @@
 import org.wso2.registry.RegistryConstants;
 import org.wso2.registry.RegistryException;
 import org.wso2.registry.Resource;
+import org.wso2.registry.Registry;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeHandler;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeManager;
 import org.wso2.registry.jdbc.mediatypes.utils.WSDLFileProcessor;
@@ -33,9 +34,10 @@
 
     public WSDLMediaTypeHandler(DataSource dataSource,
                                 Realm realm,
-                                MediaTypeManager mediaTypeManager) {
+                                MediaTypeManager mediaTypeManager,
+                                Registry registry) {
 
-        super(dataSource, realm, mediaTypeManager);
+        super(dataSource, realm, mediaTypeManager, registry);
 
         wsdlFileProcessor = new 
WSDLFileProcessor(mediaTypeManager.getDefaultMediaTypeHandler());
 

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/XSDMediaTypeHandler.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/XSDMediaTypeHandler.java
        (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/XSDMediaTypeHandler.java
        Thu Feb 21 05:37:27 2008
@@ -19,6 +19,7 @@
 import org.wso2.registry.RegistryConstants;
 import org.wso2.registry.RegistryException;
 import org.wso2.registry.Resource;
+import org.wso2.registry.Registry;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeHandler;
 import org.wso2.registry.jdbc.mediatypes.MediaTypeManager;
 import org.wso2.registry.jdbc.mediatypes.utils.SchemaFileProcessor;
@@ -33,9 +34,10 @@
 
     public XSDMediaTypeHandler(DataSource dataSource,
                                Realm realm,
-                               MediaTypeManager mediaTypeManager) {
+                               MediaTypeManager mediaTypeManager,
+                               Registry registry) {
 
-        super(dataSource, realm, mediaTypeManager);
+        super(dataSource, realm, mediaTypeManager, registry);
 
         schemaFileProcessor =
                 new 
SchemaFileProcessor(mediaTypeManager.getDefaultMediaTypeHandler());

Modified: trunk/registry/modules/webapps/src/main/webapp/admin/versions.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/versions.jsp   
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/versions.jsp   Thu Feb 
21 05:37:27 2008
@@ -1,3 +1,4 @@
+anthNimanthi123
 <%@ page import="org.wso2.registry.web.actions.utils.VersionPath" %>
 <%@ page import="java.util.Iterator" %>
 <%@ page import="java.util.List" %>

_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev

Reply via email to