Author: woonsan
Date: Mon Dec 14 18:24:04 2009
New Revision: 890426

URL: http://svn.apache.org/viewvc?rev=890426&view=rev
Log:
JS2-1084: replacing the old ajax api call in removing portlet window by new 
rest api with HTTP DELETE method.
By the way, now JetspeedServlet must allow any kinds of HTTP methods, not only 
GET/POST.

Modified:
    
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/jetui/engine/portal.js
    
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/JetspeedServlet.java

Modified: 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/jetui/engine/portal.js
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/jetui/engine/portal.js?rev=890426&r1=890425&r2=890426&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/jetui/engine/portal.js
 (original)
+++ 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/jetui/engine/portal.js
 Mon Dec 14 18:24:04 2009
@@ -179,33 +179,33 @@
     var onRemoveComplete = function(id, o, args) { 
        var id = id; // Transaction ID. 
        var data = o.responseText; // Response data. 
-       var widgetId = args[0];
-       var widget = Y.one("[id='" + widgetId + "']");
-       if (widget)
-       {
-               var parent = widget.get('parentNode');
-               widget.remove();
+       var windowId = args.complete[0];
+       var window = Y.one("[id='" + windowId + "']");
+       if (window) {
+               var parent = window.get('parentNode');
+               window.remove();
                if (parent.get('children').size() == 0)
                {
                        var drop = new Y.DD.Drop({
-                       node: parent,
-                       groups: ['portlets']            
+                       node: parent,
+                       groups: ['portlets']            
                        });
                }
        }
     };
     
     var onClickRemove = function(e) {
-       var uri = document.location.href;
-       if (uri.indexOf("/portal") > -1)        
-               uri = uri.replace("/portal", "/ajaxapi");
-       else
-               uri = uri.replace("/ui", "/ajaxapi");
-       var windowId =  e.currentTarget.getAttribute('id');
-       windowId = windowId.replace("jetspeed-close-", "");
-       var uri = uri + "?action=remove&id=" + windowId;        
-        Y.on('io:complete', onRemoveComplete, this, [windowId]); 
-        var request = Y.io(uri);
+        var portal = JETUI_YUI.portalInstance;
+        var windowId =  e.currentTarget.getAttribute('id');
+        windowId = windowId.replace("jetspeed-close-", "");
+        var uri = portal.portalContextPath + "/services/pagelayout/fragment/" 
+ windowId + "/?_type=json";
+        var config = {
+                on: { complete: onRemoveComplete },
+                method: "DELETE",
+                headers: { "X-Portal-Path" : portal.portalPagePath },
+                arguments: { complete: [ windowId ] }
+            };
+        var request = Y.io(uri, config);
     };
 
     var closeWindows = Y.Node.all('.portlet-action-close');

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/JetspeedServlet.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/JetspeedServlet.java?rev=890426&r1=890425&r2=890426&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/JetspeedServlet.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/engine/JetspeedServlet.java
 Mon Dec 14 18:24:04 2009
@@ -36,8 +36,6 @@
 import org.apache.commons.configuration.ConfigurationUtils;
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.commons.lang.exception.ExceptionUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.jetspeed.Jetspeed;
 import org.apache.jetspeed.PortalReservedParameters;
 import org.apache.jetspeed.cache.UserContentCacheManager;
@@ -59,6 +57,8 @@
 import org.apache.jetspeed.services.JetspeedPortletServices;
 import org.apache.jetspeed.services.PortletServices;
 import org.apache.jetspeed.statistics.PortalStatistics;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Jetspeed Servlet entry point.
@@ -260,7 +260,7 @@
      * @exception ServletException
      *                a servlet exception.
      */
-    public final void doGet( HttpServletRequest req, HttpServletResponse res ) 
throws IOException, ServletException
+    private void invoke( HttpServletRequest req, HttpServletResponse res ) 
throws IOException, ServletException
     {
         // define RequestContext here to allow protential usage and state 
processing in case of an exception
         // in outer catch errorHandler method call
@@ -311,24 +311,13 @@
             handleError(req, res, context, e);
         }
     }
-
-    /**
-     * In this application doGet and doPost are the same thing.
-     * 
-     * @param req
-     *            Servlet request.
-     * @param res
-     *            Servlet response.
-     * @exception IOException
-     *                a servlet exception.
-     * @exception ServletException
-     *                a servlet exception.
-     */
-    public final void doPost( HttpServletRequest req, HttpServletResponse res 
) throws IOException, ServletException
+    
+    @Override
+    protected void service(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException
     {
-        doGet(req, res);
+        invoke(request, response);
     }
-
+    
     // -------------------------------------------------------------------
     // S E R V L E T S H U T D O W N
     // -------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscr...@portals.apache.org
For additional commands, e-mail: jetspeed-dev-h...@portals.apache.org

Reply via email to