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