[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