Author: chathura
Date: Sun Jan 13 23:14:34 2008
New Revision: 12188

Log:


Fixed the property update problem in AJAX.
Now we have complete UI support for dealing with resource properties.



Modified:
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/PropertiesUtil.java
   
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/resource-properties.jsp
   trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
   trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
   (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
   Sun Jan 13 23:14:34 2008
@@ -300,6 +300,10 @@
 
                 PropertiesUtil.setProperty(request, response);
 
+            } else if (command.equals("/updateProperty")) {
+
+                PropertiesUtil.updateProperty(request, response);
+
             } else if (command.equals("/removeProperty")) {
 
                 PropertiesUtil.removeProperty(request, response);
@@ -443,25 +447,7 @@
             String qPart = request.getQueryString();
             if (qPart != null) {
                 if (qPart.startsWith("v")) {
-
                     path = path + "?" + qPart;
-
-                    //    // check if URL is for the resource content (i.e. 
/mycollection/myreosurce?v2&content
-                    //
-                    //    String[] q = qPart.split("&");
-                    //    if (q.length == 2) {
-                    //        if (q[1].equals("content")) {
-                    //            path = path + "?" + q[0];
-                    //            sendResourceContent(request, response, path);
-                    //            return;
-                    //        }
-                    //    } else {
-                    //        path = path + "?" + qPart;
-                    //    }
-                    //
-                    //} else if (qPart.equals("content")) {
-                    //    sendResourceContent(request, response, path);
-                    //    return;
                 }
             }
 

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
        Sun Jan 13 23:14:34 2008
@@ -52,6 +52,44 @@
         }
     }
 
+    public static void updateProperty(HttpServletRequest request, 
HttpServletResponse response) {
+
+        String resourcePath = request.getParameter("resourcePath");
+        String oldPropertyName = request.getParameter("oldPropertyName");
+        String propertyName = request.getParameter("propertyName");
+        String propertyValue = request.getParameter("propertyValue");
+
+        try {
+            SecureRegistry secureRegistry = 
CommonUtil.getUserRegistry(request);
+            Resource resource = secureRegistry.get(resourcePath);
+
+            if (oldPropertyName.equals(propertyName)) {
+                resource.setProperty(propertyName, propertyValue);
+
+            } else {
+
+                Properties properties = resource.getProperties();
+                properties.remove(oldPropertyName);
+                properties.setProperty(propertyName, propertyValue);
+                resource.setProperties(properties);
+            }
+
+            secureRegistry.put(resource.getPath(), resource);
+
+        } catch (RegistryException e) {
+            e.printStackTrace();
+        }
+
+        try {
+            request.getSession().setAttribute("resourcePath", resourcePath);
+            
request.getRequestDispatcher(UIConstants.AJAX_PROPERTIES_JSP).forward(request, 
response);
+        } catch (ServletException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     public static void removeProperty(HttpServletRequest request, 
HttpServletResponse response) {
 
         String resourcePath = request.getParameter("resourcePath");

Modified: 
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/resource-properties.jsp
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/resource-properties.jsp
   (original)
+++ 
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/resource-properties.jsp
   Sun Jan 13 23:14:34 2008
@@ -33,7 +33,7 @@
         
        
        <tr id="propEditPanel_<%=i%>" style="display:none;">
-               <td><input id="propRPath_<%=i%>" type="hidden" 
value="<%=details.getPath()%>"/><input value="<%=name%>" type="text" 
id="propName_<%=i%>"  /></td>
+               <td><input id="propRPath_<%=i%>" type="hidden" 
value="<%=details.getPath()%>"/><input id="oldPropName_<%=i%>" type="hidden" 
value="<%=name%>"/><input value="<%=name%>" type="text" id="propName_<%=i%>"  
/></td>
                <td><input value="<%=value%>" id="propValue_<%=i%>" 
type="text"/></td>
                <td>
                        <a href="#" 
onclick="showHideCommon('propViewPanel_<%=i%>');showHideCommon('propEditPanel_<%=i%>');
 editProperty('<%=i%>')"><img border="0" align="top" title="Save" 
src="/wso2registry/admin/images/save-button.gif" id="propSaveButton_<%=i%>" 
/></a>

Modified: trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js   
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js   Sun Jan 
13 23:14:34 2008
@@ -258,9 +258,10 @@
 }
 function editProperty(rowid) {
     var resourcePath = document.getElementById('propRPath_'+rowid).value;
+    var oldPropertyName = document.getElementById('oldPropName_'+rowid).value;
     var propertyName = document.getElementById('propName_'+rowid).value;
     var propertyValue = document.getElementById('propValue_'+rowid).value;
-    new Ajax.Updater('resourceProperties', '/wso2registry/system/setProperty', 
{ method: 'post', parameters: {resourcePath: resourcePath, propertyName: 
propertyName, propertyValue: propertyValue} });
+    new Ajax.Updater('resourceProperties', 
'/wso2registry/system/updateProperty', { method: 'post', parameters: 
{resourcePath: resourcePath, oldPropertyName: oldPropertyName, propertyName: 
propertyName, propertyValue: propertyValue} });
 }
 function removeProperty(propertyName) {
 

Modified: 
trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp 
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp 
Sun Jan 13 23:14:34 2008
@@ -150,7 +150,7 @@
         
                
        <tr id="propEditPanel_<%=i%>" style="display:none;">
-               <td><input id="propRPath_<%=i%>" type="hidden" 
value="<%=details.getPath()%>"/><input value="<%=name%>" type="text" 
id="propName_<%=i%>"  /></td>
+               <td><input id="propRPath_<%=i%>" type="hidden" 
value="<%=details.getPath()%>"/><input id="oldPropName_<%=i%>" type="hidden" 
value="<%=name%>"/><input value="<%=name%>" type="text" id="propName_<%=i%>"  
/></td>
                <td><input value="<%=value%>" id="propValue_<%=i%>" 
type="text"/></td>
                <td>
                        <a href="#" 
onclick="showHideCommon('propViewPanel_<%=i%>');showHideCommon('propEditPanel_<%=i%>');
 editProperty('<%=i%>')"><img border="0" align="top" title="Save" 
src="/wso2registry/admin/images/save-button.gif" id="propSaveButton_<%=i%>" 
/></a>

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

Reply via email to