[Registry-dev] svn commit r14659 - in trunk/registry/modules: core/src/main/java/org/wso2/registry core/src/main/java/org/wso2/registry/app core/src/main/java/org/wso2/registry/jdbc core/src/main/java/org/wso2/registry/jdbc/dao core/src/main/java/org/wso2/registry/jdbc/handlers/builtin core/src/main/java/org/wso2/registry/jdbc/urlhandlers core/src/test/java/org/wso2/registry/jdbc core/src/test/java/org/wso2/registry/secure webapps/src/main/java/org/wso2/registry/web/actions/utils webapps/src/main/java/org/wso2/registry/web/utils

svn at wso2.org svn at wso2.org
Mon Mar 10 07:41:19 PDT 2008


Author: chathura
Date: Mon Mar 10 07:40:52 2008
New Revision: 14659

Log:


Performance improvement to the JDBCRegistry.

Improving the multi-valued properties support.



Modified:
   trunk/registry/modules/core/src/main/java/org/wso2/registry/Resource.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/ResourceImpl.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/app/RemoteRegistry.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/VersionedResourceDAO.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/CommentURLHandler.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/RatingURLHandler.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/TagURLHandler.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/CommentURLHandler.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/RatingURLHandler.java
   trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/TagURLHandler.java
   trunk/registry/modules/core/src/test/java/org/wso2/registry/jdbc/JDBCRegistryTest.java
   trunk/registry/modules/core/src/test/java/org/wso2/registry/jdbc/PropertiesTest.java
   trunk/registry/modules/core/src/test/java/org/wso2/registry/secure/SecureRegistryTest.java
   trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/AdvancedResourceQuery.java
   trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/PropertiesUtil.java

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/Resource.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/Resource.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/Resource.java	Mon Mar 10 07:40:52 2008
@@ -49,6 +49,8 @@
 
     void setProperty(String key, String value);
 
+    void addProperty(String key, String value);
+
     void setProperties(Properties properties);
 
     Object getContent() throws RegistryException;

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/ResourceImpl.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/ResourceImpl.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/ResourceImpl.java	Mon Mar 10 07:40:52 2008
@@ -280,6 +280,13 @@
 
     public void setProperty(String key, String value) {
 
+        List propValues = new ArrayList();
+        propValues.add(value);
+        properties.put(key, value);
+    }
+
+    public void addProperty(String key, String value) {
+
         List propValues = (List) properties.get(key);
         if (propValues != null) {
             if (!propValues.contains(value)) {

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/app/RemoteRegistry.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/app/RemoteRegistry.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/app/RemoteRegistry.java	Mon Mar 10 07:40:52 2008
@@ -298,7 +298,7 @@
                 List list =  decodeMultivaluedProperty(value);
                 for (int i = 0; i < list.size(); i++) {
                     String stringValue = (String)list.get(i);
-                    resource.setProperty(pn.getText(), stringValue);
+                    resource.addProperty(pn.getText(), stringValue);
                 }
             }
         }

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	Mon Mar 10 07:40:52 2008
@@ -222,12 +222,12 @@
 
         Resource resource = handlerManager.get(requestContext);
 
-        //resource = urlHandlerManager.get(path);
-
-        // check if the resource in the path has a mediatype handler
-        //if (resource == null) {
-        //    resource = mediaTypeManager.get(path);
-        //}
+        // resource may have been fetched from the repository, to be used by handlers. if it is
+        // done, it has to be stored in the request context. we can just use that resource
+        // without fetching it again from the repository.
+        if (resource == null) {
+            resource = requestContext.getResource();
+        }
 
         if (resource == null) {
             resource = repository.get(path);

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/VersionedResourceDAO.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/VersionedResourceDAO.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/VersionedResourceDAO.java	Mon Mar 10 07:40:52 2008
@@ -232,7 +232,7 @@
         while (propResults.next()) {
             String key = propResults.getString(DatabaseConstants.PROPERTY_KEY_FIELD);
             String value = propResults.getString(DatabaseConstants.PROPERTY_VALUE_FIELD);
-            resource.setProperty(key, value);
+            resource.addProperty(key, value);
             //props.put(key, value);
         }
         //resource.setProperties(props);

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/CommentURLHandler.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/CommentURLHandler.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/CommentURLHandler.java	Mon Mar 10 07:40:52 2008
@@ -119,7 +119,7 @@
         resource.setContent(comment.getText());
         resource.setAuthorUserName(comment.getUser());
         resource.setCreatedTime(comment.getTime());
-        resource.setProperty("resourcePath", resourcePath);
+        resource.addProperty("resourcePath", resourcePath);
 
         requestContext.setProcessingComplete(true);
         return resource;

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/RatingURLHandler.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/RatingURLHandler.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/RatingURLHandler.java	Mon Mar 10 07:40:52 2008
@@ -75,7 +75,7 @@
             resource.setAuthorUserName(ratedUserName);
             resource.setPath(url);
             resource.setCreatedTime(ratedTime);
-            resource.setProperty("resourcePath", resourcePath);
+            resource.addProperty("resourcePath", resourcePath);
 
             return resource;
 

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/TagURLHandler.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/TagURLHandler.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/handlers/builtin/TagURLHandler.java	Mon Mar 10 07:40:52 2008
@@ -74,7 +74,7 @@
             resource.setContent(taggingDO.getTagName());
             resource.setAuthorUserName(taggingDO.getTaggedUserName());
             resource.setCreatedTime(taggingDO.getTaggedTime());
-            resource.setProperty("resourcePath", taggingDO.getResourcePath());
+            resource.addProperty("resourcePath", taggingDO.getResourcePath());
 
             return resource;
 

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/CommentURLHandler.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/CommentURLHandler.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/CommentURLHandler.java	Mon Mar 10 07:40:52 2008
@@ -121,7 +121,7 @@
         resource.setContent(comment.getText());
         resource.setAuthorUserName(comment.getUser());
         resource.setCreatedTime(comment.getTime());
-        resource.setProperty("resourcePath", resourcePath);
+        resource.addProperty("resourcePath", resourcePath);
 
         return resource;
     }

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/RatingURLHandler.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/RatingURLHandler.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/RatingURLHandler.java	Mon Mar 10 07:40:52 2008
@@ -76,7 +76,7 @@
             resource.setAuthorUserName(ratedUserName);
             resource.setPath(url);
             resource.setCreatedTime(ratedTime);
-            resource.setProperty("resourcePath", resourcePath);
+            resource.addProperty("resourcePath", resourcePath);
 
             return resource;
 

Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/TagURLHandler.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/TagURLHandler.java	(original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/urlhandlers/TagURLHandler.java	Mon Mar 10 07:40:52 2008
@@ -83,7 +83,7 @@
             resource.setContent(taggingDO.getTagName());
             resource.setAuthorUserName(taggingDO.getTaggedUserName());
             resource.setCreatedTime(taggingDO.getTaggedTime());
-            resource.setProperty("resourcePath", taggingDO.getResourcePath());
+            resource.addProperty("resourcePath", taggingDO.getResourcePath());
 
             return resource;
 

Modified: trunk/registry/modules/core/src/test/java/org/wso2/registry/jdbc/JDBCRegistryTest.java
==============================================================================
--- trunk/registry/modules/core/src/test/java/org/wso2/registry/jdbc/JDBCRegistryTest.java	(original)
+++ trunk/registry/modules/core/src/test/java/org/wso2/registry/jdbc/JDBCRegistryTest.java	Mon Mar 10 07:40:52 2008
@@ -60,7 +60,7 @@
         registry.put("/c1/c2/c3/c4/r1", r1);
         r1 = registry.newCollection();
         r1.setDescription("This is test discription");
-        r1.setProperty("p1", "value1");
+        r1.addProperty("p1", "value1");
         registry.put("/c1/c2/c3", r1);
         r1 = registry.get("/c1/c2/c3/c4/r1");
         InputStream inContent = r1.getContentStream();
@@ -79,7 +79,7 @@
         r1.setDescription("This is a test resource used for registry testing.");
         String r1Content = "<c>This is r1 content</c>";
         r1.setContent(r1Content.getBytes());
-        r1.setProperty("p1", "v1");
+        r1.addProperty("p1", "v1");
         registry.put("/r1", r1);
 
         Resource r1f = registry.get("/r1");
@@ -433,7 +433,7 @@
         Resource q1 = registry.newResource();
         q1.setContent(sql1);
         q1.setMediaType(RegistryConstants.SQL_QUERY_MEDIA_TYPE);
-        q1.setProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
+        q1.addProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
                        RegistryConstants.RESOURCES_RESULT_TYPE);
         registry.put("/qs/q1", q1);
 
@@ -483,7 +483,7 @@
         Resource q1 = registry.newResource();
         q1.setContent(sql1);
         q1.setMediaType(RegistryConstants.SQL_QUERY_MEDIA_TYPE);
-        q1.setProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
+        q1.addProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
                        RegistryConstants.RATINGS_RESULT_TYPE);
         registry.put("/qs/q2", q1);
 
@@ -534,7 +534,7 @@
         Resource q1 = registry.newResource();
         q1.setContent(sql1);
         q1.setMediaType(RegistryConstants.SQL_QUERY_MEDIA_TYPE);
-        q1.setProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
+        q1.addProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
                        RegistryConstants.TAGS_RESULT_TYPE);
         registry.put("/qs/q3", q1);
 
@@ -585,7 +585,7 @@
         Resource q1 = registry.newResource();
         q1.setContent(sql1);
         q1.setMediaType(RegistryConstants.SQL_QUERY_MEDIA_TYPE);
-        q1.setProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
+        q1.addProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
                        RegistryConstants.COMMENTS_RESULT_TYPE);
         registry.put("/qs/q4", q1);
 
@@ -853,8 +853,8 @@
         String r3Content = "this is r3 content";
         Resource r3 = registry.newResource();
 
-        r3.setProperty("Reviewer", "Deepal");
-        r3.setProperty("Testedon", "Axis2");
+        r3.addProperty("Reviewer", "Deepal");
+        r3.addProperty("Testedon", "Axis2");
         r3.setContent(r3Content.getBytes());
 
         registry.put("/c2/r3", r3);

Modified: trunk/registry/modules/core/src/test/java/org/wso2/registry/jdbc/PropertiesTest.java
==============================================================================
--- trunk/registry/modules/core/src/test/java/org/wso2/registry/jdbc/PropertiesTest.java	(original)
+++ trunk/registry/modules/core/src/test/java/org/wso2/registry/jdbc/PropertiesTest.java	Mon Mar 10 07:40:52 2008
@@ -44,7 +44,7 @@
     public void testRootLevelProperties() throws RegistryException {
 
         Resource root = registry.get("/");
-        root.setProperty("p1", "v1");
+        root.addProperty("p1", "v1");
         registry.put("/", root);
 
         Resource rootb = registry.get("/");
@@ -55,7 +55,7 @@
 
         Resource r2 = registry.newResource();
         r2.setContent("Some content for r2");
-        r2.setProperty("p1", "p1v1");
+        r2.addProperty("p1", "p1v1");
         registry.put("/propTest/r2", r2);
 
         Resource r2b = registry.get("/propTest/r2");
@@ -69,8 +69,8 @@
 
         Resource r1 = registry.newResource();
         r1.setContent("Some content for r1");
-        r1.setProperty("p1", "p1v1");
-        r1.setProperty("p1", "p1v2");
+        r1.addProperty("p1", "p1v1");
+        r1.addProperty("p1", "p1v2");
         registry.put("/propTest/r1", r1);
 
         Resource r1b = registry.get("/propTest/r1");

Modified: trunk/registry/modules/core/src/test/java/org/wso2/registry/secure/SecureRegistryTest.java
==============================================================================
--- trunk/registry/modules/core/src/test/java/org/wso2/registry/secure/SecureRegistryTest.java	(original)
+++ trunk/registry/modules/core/src/test/java/org/wso2/registry/secure/SecureRegistryTest.java	Mon Mar 10 07:40:52 2008
@@ -275,7 +275,7 @@
         Resource q1 = registry.newResource();
         q1.setContent(sql);
         q1.setMediaType(RegistryConstants.SQL_QUERY_MEDIA_TYPE);
-        q1.setProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
+        q1.addProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
                        RegistryConstants.RESOURCES_RESULT_TYPE);
         registry.put("/advanced/q1", q1);
 

Modified: trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/AdvancedResourceQuery.java
==============================================================================
--- trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/AdvancedResourceQuery.java	(original)
+++ trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/AdvancedResourceQuery.java	Mon Mar 10 07:40:52 2008
@@ -215,7 +215,7 @@
         Resource q1 = systemRegistry.newResource();
         q1.setContent(queryContent);
         q1.setMediaType(RegistryConstants.SQL_QUERY_MEDIA_TYPE);
-        q1.setProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
+        q1.addProperty(RegistryConstants.RESULT_TYPE_PROPERTY_NAME,
                 RegistryConstants.RESOURCES_RESULT_TYPE);
         String qPath = computeQueryPath();
         systemRegistry.put(qPath, q1);

Modified: trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/PropertiesUtil.java
==============================================================================
--- trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/PropertiesUtil.java	(original)
+++ trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/PropertiesUtil.java	Mon Mar 10 07:40:52 2008
@@ -64,7 +64,7 @@
             Resource resource = secureRegistry.get(resourcePath);
 
             if (oldPropertyName.equals(propertyName)) {
-                resource.setProperty(propertyName, propertyValue);
+                resource.addProperty(propertyName, propertyValue);
             } else {
                 Properties properties = resource.getProperties();
                 properties.remove(oldPropertyName);
@@ -127,7 +127,7 @@
 
         SecureRegistry secureRegistry = CommonUtil.getUserRegistry(request);
         Resource resource = secureRegistry.get(resourcePath);
-        resource.setProperty(propertyName, propertyValue);
+        resource.addProperty(propertyName, propertyValue);
         secureRegistry.put(resource.getPath(), resource);
     }
 



More information about the Registry-dev mailing list