Author: chathura
Date: Mon Dec 17 22:11:08 2007
New Revision: 11319

Log:


Minor fix to display error messages with the AJAX response.



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/TagUtil.java

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
   Mon Dec 17 22:11:08 2007
@@ -138,14 +138,7 @@
 
             } else if (command.equals("/applyTag")) {
 
-                try {
-                    TagUtil.applyTag(request);
-                    TagUtil.sendTagCloud(request, response);
-                    
-                } catch (RegistryException e) {
-                    setErrorMessage(request, e.getMessage());
-                    forwardToResources(request, response, path);
-                }
+                TagUtil.tag(request, response);
 
             } else if (command.equals("/tag")) {
 
@@ -545,7 +538,7 @@
             } else if (command.equals("/getTagCloud")) {
 
                 try {
-                    TagUtil.sendTagCloud(request, response);
+                    TagUtil.sendTagCloud(request, response, null);
                     return;
                 } catch (RegistryException e) {
                     setErrorMessage(request, e.getMessage());

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/TagUtil.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/TagUtil.java
       (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/TagUtil.java
       Mon Dec 17 22:11:08 2007
@@ -28,6 +28,29 @@
 
 public class TagUtil {
 
+    public static void tag(HttpServletRequest request, HttpServletResponse 
response) {
+
+        try {
+            TagUtil.applyTag(request);
+        } catch (RegistryException e) {
+            try {
+                TagUtil.sendTagCloud(request, response, e.getMessage());
+            } catch (RegistryException e1) {
+                try {
+                    TagUtil.sendPlainTagError(response, e.getMessage() + " | " 
+ e1.getMessage());
+                } catch (RegistryException ignore) {}
+            }
+        }
+
+        try {
+            TagUtil.sendTagCloud(request, response, null);
+        } catch (RegistryException e) {
+            try {
+                TagUtil.sendPlainTagError(response, e.getMessage());
+            } catch (RegistryException ignore) {}
+        }
+    }
+
     public static void applyTag(HttpServletRequest request) throws 
RegistryException {
 
         SecureRegistry secureRegistry = CommonUtil.getUserRegistry(request);
@@ -38,7 +61,7 @@
         secureRegistry.applyTag(resourcePath, tag);
     }
 
-    public static void sendTagCloud(HttpServletRequest request, 
HttpServletResponse response)
+    public static void sendTagCloud(HttpServletRequest request, 
HttpServletResponse response, String message)
             throws RegistryException {
 
         SecureRegistry secureRegistry = CommonUtil.getUserRegistry(request);
@@ -53,6 +76,10 @@
         String resourcePath = request.getParameter("resourcePath");
         Tag[] tags = secureRegistry.getTags(resourcePath);
 
+        if (message != null && message.length() > 0) {
+            out.println(message + "<br/>");
+        }
+
         for (int i = 0; i < tags.length; i++) {
             Tag tag = tags[i];
             out.println("<a href='/wso2registry/system/search?criteria=" + 
tag.getTagName() + " class='cloud-x" + tag.getCategary() + ">" + 
tag.getTagName() + "</a>");
@@ -61,4 +88,24 @@
         out.flush();
         out.close();
     }
+
+    public static void sendPlainTagError(HttpServletResponse response, String 
message) throws RegistryException {
+
+        response.setContentType("text/html");
+        PrintWriter out = null;
+        try {
+            out = response.getWriter();
+        } catch (IOException e) {
+            throw new RegistryException(e.getMessage());
+        }
+
+        if (message == null || message.length() == 0) {
+            message = "Error occured while perfoming the tagging.";
+        }
+
+        out.println(message);
+
+        out.flush();
+        out.close();
+    }
 }

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

Reply via email to