You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by ps...@apache.org on 2012/03/08 18:50:13 UTC

svn commit: r1298484 - in /incubator/wookie/trunk/src/org/apache/wookie: controller/ helpers/ proxy/ updates/

Author: psharples
Date: Thu Mar  8 17:50:12 2012
New Revision: 1298484

URL: http://svn.apache.org/viewvc?rev=1298484&view=rev
Log:
Partial Update for WOOKIE-324.  POSTing a widget now returns the original config.xml. (still to do is to build a hybrid version of this with the paths replaced by the parser)

Added:
    incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetAdvertHelper.java
      - copied, changed from r1298308, incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetHelper.java
    incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetImportHelper.java   (with props)
Removed:
    incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetHelper.java
Modified:
    incubator/wookie/trunk/src/org/apache/wookie/controller/ApiKeyController.java
    incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java
    incubator/wookie/trunk/src/org/apache/wookie/controller/ParticipantsController.java
    incubator/wookie/trunk/src/org/apache/wookie/controller/PoliciesController.java
    incubator/wookie/trunk/src/org/apache/wookie/controller/PropertiesController.java
    incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java
    incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java
    incubator/wookie/trunk/src/org/apache/wookie/helpers/PoliciesHelper.java
    incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java
    incubator/wookie/trunk/src/org/apache/wookie/updates/UpdateInformation.java
    incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java

Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/ApiKeyController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/ApiKeyController.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/ApiKeyController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/ApiKeyController.java Thu Mar  8 17:50:12 2012
@@ -68,7 +68,7 @@ public class ApiKeyController extends Co
    * @see org.apache.wookie.controller.Controller#create(java.lang.String, javax.servlet.http.HttpServletRequest)
    */
   @Override
-  protected boolean create(String resourceId, HttpServletRequest request)
+  protected boolean create(String resourceId, HttpServletRequest request, HttpServletResponse response)
       throws ResourceDuplicationException, InvalidParametersException,
       UnauthorizedAccessException {
     String value = request.getParameter("apikey");

Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/Controller.java Thu Mar  8 17:50:12 2012
@@ -112,7 +112,7 @@ public abstract class Controller extends
 			throws ServletException, IOException {
 		String resourceId = getResourceId(request);
 		try {
-			if (create(resourceId, request)){
+			if (create(resourceId, request, response)){
 				response.setStatus(HttpServletResponse.SC_CREATED);
 			} else {
 				response.setStatus(HttpServletResponse.SC_OK);				
@@ -137,7 +137,7 @@ public abstract class Controller extends
 			throws ServletException, IOException {
 		String resourceId = getResourceId(request);
 		try {
-			update(resourceId,request);
+			update(resourceId,request,response);
 			response.setStatus(HttpServletResponse.SC_OK);
 		} catch (ResourceNotFoundException e) {
 			response.sendError(HttpServletResponse.SC_NOT_FOUND);
@@ -175,7 +175,7 @@ public abstract class Controller extends
 	 @return true if the resource was successfully created
 	 * @throws ResourceDuplicationException
 	 */
-	protected boolean create(String resourceId, HttpServletRequest request) throws ResourceDuplicationException, InvalidParametersException, UnauthorizedAccessException{return false;};
+	protected boolean create(String resourceId, HttpServletRequest request, HttpServletResponse response) throws ResourceDuplicationException, InvalidParametersException, UnauthorizedAccessException{return false;};
 	
 	/**
 	 * Delete a resource
@@ -191,7 +191,7 @@ public abstract class Controller extends
 	 * @param request
 	 * @throws ResourceNotFoundException
 	 */
-	protected void update(String resourceId, HttpServletRequest request) throws ResourceNotFoundException,InvalidParametersException,UnauthorizedAccessException{};
+	protected void update(String resourceId, HttpServletRequest request, HttpServletResponse response) throws ResourceNotFoundException,InvalidParametersException,UnauthorizedAccessException{};
 	
 	// Utilities
 
@@ -213,6 +213,11 @@ public abstract class Controller extends
 		}
 		if (path != null)
 			path = path.trim();
+		// TODO:  policy requests have two urls. (this should work for all other cases)
+		// fix for tomcat where one of the forward slashes is missing
+		if(path.contains("http:/") && !path.contains("http://")){
+		  path = path.replace("http:/", "http://");     
+		} 		
 		return path;
 	}
 

Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/ParticipantsController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/ParticipantsController.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/ParticipantsController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/ParticipantsController.java Thu Mar  8 17:50:12 2012
@@ -76,7 +76,7 @@ public class ParticipantsController exte
 	}
 
 	@Override
-	protected boolean create(String resourceId, HttpServletRequest request)
+	protected boolean create(String resourceId, HttpServletRequest request, HttpServletResponse response)
 			throws ResourceDuplicationException, InvalidParametersException,
 			UnauthorizedAccessException {
 		return create(request);

Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/PoliciesController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/PoliciesController.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/PoliciesController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/PoliciesController.java Thu Mar  8 17:50:12 2012
@@ -23,7 +23,6 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 import org.apache.wookie.exceptions.InvalidParametersException;
 import org.apache.wookie.exceptions.ResourceDuplicationException;
@@ -56,8 +55,8 @@ public class PoliciesController extends 
     // For some reason the main controller resourceId method isn't parsing
     // the resource part correctly
     //
-    resourceId = request.getPathInfo().trim();
-    if (resourceId != null) resourceId = StringUtils.stripStart(resourceId, "/");
+    //resourceId = request.getPathInfo().trim();
+    //if (resourceId != null) resourceId = StringUtils.stripStart(resourceId, "/");
     
     //
     // The resource id is the policy scope. E.g., calling
@@ -103,7 +102,7 @@ public class PoliciesController extends 
    * @see org.apache.wookie.controller.Controller#create(java.lang.String, javax.servlet.http.HttpServletRequest)
    */
   @Override
-  protected boolean create(String resourceId, HttpServletRequest request)
+  protected boolean create(String resourceId, HttpServletRequest request, HttpServletResponse response)
       throws ResourceDuplicationException, InvalidParametersException,
       UnauthorizedAccessException {
     try {
@@ -150,8 +149,8 @@ public class PoliciesController extends 
     // For some reason the main controller resourceId method isn't parsing
     // the resource part correctly
     //
-    resourceId = request.getPathInfo().trim();
-    if (resourceId != null) resourceId = StringUtils.stripStart(resourceId, "/");
+    //resourceId = request.getPathInfo().trim();
+    //if (resourceId != null) resourceId = StringUtils.stripStart(resourceId, "/");
 
     try {
 

Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/PropertiesController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/PropertiesController.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/PropertiesController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/PropertiesController.java Thu Mar  8 17:50:12 2012
@@ -117,7 +117,7 @@ public class PropertiesController extend
 	}	
 
 	@Override
-	protected boolean create(String resourceId, HttpServletRequest request)
+	protected boolean create(String resourceId, HttpServletRequest request, HttpServletResponse response)
 			throws ResourceDuplicationException, InvalidParametersException,
 			UnauthorizedAccessException {
 		createOrUpdate(request);
@@ -125,7 +125,7 @@ public class PropertiesController extend
 	}
 
 	@Override
-	protected void update(String resourceId, HttpServletRequest request)
+	protected void update(String resourceId, HttpServletRequest request, HttpServletResponse response)
 			throws ResourceNotFoundException, InvalidParametersException,UnauthorizedAccessException {
 		createOrUpdate(request);
 	}

Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java Thu Mar  8 17:50:12 2012
@@ -141,7 +141,7 @@ public class WidgetInstancesController e
 	 * @see org.apache.wookie.controller.Controller#update(java.lang.String, javax.servlet.http.HttpServletRequest)
 	 */
 	@Override
-	protected void update(String resourceId, HttpServletRequest request)
+	protected void update(String resourceId, HttpServletRequest request, HttpServletResponse response)
 	throws ResourceNotFoundException, InvalidParametersException,
 	UnauthorizedAccessException {
 	  String requestId = request.getParameter("requestid"); //$NON-NLS-1$
@@ -158,6 +158,17 @@ public class WidgetInstancesController e
 	  }
 
 	}
+	/*
+	 * (non-Javadoc)
+	 * @see org.apache.wookie.controller.Controller#remove(java.lang.String, javax.servlet.http.HttpServletRequest)
+	 */
+	@Override
+	protected boolean remove(String resourceId, HttpServletRequest request) 
+	throws ResourceNotFoundException,UnauthorizedAccessException,InvalidParametersException{
+	  //System.out.println("delete widget instance@" + resourceId);
+	  //TODO: implement this  
+	  return false;
+	}
 
 	/**
 	 * Locks a widget instance

Modified: incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java Thu Mar  8 17:50:12 2012
@@ -36,7 +36,8 @@ import org.apache.wookie.exceptions.Reso
 import org.apache.wookie.exceptions.UnauthorizedAccessException;
 import org.apache.wookie.feature.Features;
 import org.apache.wookie.helpers.WidgetFactory;
-import org.apache.wookie.helpers.WidgetHelper;
+import org.apache.wookie.helpers.WidgetAdvertHelper;
+import org.apache.wookie.helpers.WidgetImportHelper;
 import org.apache.wookie.server.LocaleHandler;
 import org.apache.wookie.util.WidgetFileUtils;
 import org.apache.wookie.util.WidgetJavascriptSyntaxAnalyzer;
@@ -73,7 +74,7 @@ public class WidgetsController extends C
    * @see org.apache.wookie.controller.Controller#update(java.lang.String, javax.servlet.http.HttpServletRequest)
    */
   @Override
-  protected void update(String resourceId, HttpServletRequest request)
+  protected void update(String resourceId, HttpServletRequest request, HttpServletResponse response)
       throws ResourceNotFoundException, InvalidParametersException,
       UnauthorizedAccessException {
     
@@ -88,7 +89,7 @@ public class WidgetsController extends C
     if (widget == null) throw new ResourceNotFoundException();
     
     try {
-      create(resourceId, request);
+      create(resourceId, request, response);
     } catch (ResourceDuplicationException e) {
       e.printStackTrace();
     }
@@ -118,9 +119,9 @@ public class WidgetsController extends C
       throw new ResourceNotFoundException();
 
     switch (format(request)) {
-    case XML:returnXml(WidgetHelper.createXMLWidgetsDocument(widget,getLocalPath(request), getLocales(request)), response);break;
+    case XML:returnXml(WidgetAdvertHelper.createXMLWidgetsDocument(widget,getLocalPath(request), getLocales(request)), response);break;
     case WIDGET:returnWidget(widget, response);break;
-    default:returnXml(WidgetHelper.createXMLWidgetsDocument(widget,getLocalPath(request), getLocales(request)), response);
+    default:returnXml(WidgetAdvertHelper.createXMLWidgetsDocument(widget,getLocalPath(request), getLocales(request)), response);
     }
   }
 
@@ -164,7 +165,7 @@ public class WidgetsController extends C
 
     IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
     IWidget[] widgets = persistenceManager.findAll(IWidget.class);
-		returnXml(WidgetHelper.createXMLWidgetsDocument(widgets, getLocalPath(request), getLocales(request)),response);
+		returnXml(WidgetAdvertHelper.createXMLWidgetsDocument(widgets, getLocalPath(request), getLocales(request)),response);
 	}
 	
   /* (non-Javadoc)
@@ -205,7 +206,7 @@ public class WidgetsController extends C
    * @see org.apache.wookie.controller.Controller#create(java.lang.String, javax.servlet.http.HttpServletRequest)
    */
   @Override
-  protected boolean create(String resourceId, HttpServletRequest request)
+  protected boolean create(String resourceId, HttpServletRequest request, HttpServletResponse response)
       throws ResourceDuplicationException, InvalidParametersException,
       UnauthorizedAccessException {
 
@@ -260,7 +261,7 @@ public class WidgetsController extends C
         fac.setStartPageProcessor(new StartPageProcessor());
         W3CWidget widgetModel = fac.parse(zipFile);
         new WidgetJavascriptSyntaxAnalyzer(fac.getUnzippedWidgetDirectory());
-        
+       // File f = new File();
         //
         // Check if the widget model corresponds to an existing installed widget
         //
@@ -271,6 +272,7 @@ public class WidgetsController extends C
           // A new widget was created, so return 201
           //
           WidgetFactory.addNewWidget(widgetModel, zipFile,false);
+          returnXml(WidgetImportHelper.createXMLWidgetDocument(widgetModel, new File(fac.getUnzippedWidgetDirectory(), "config.xml")), response);
           return true;
           
         } else {
@@ -280,6 +282,7 @@ public class WidgetsController extends C
           // and return 200
           //
           WidgetFactory.update(widgetModel,persistenceManager.findWidgetByGuid(widgetModel.getIdentifier()),false, zipFile);
+          returnXml(WidgetImportHelper.createXMLWidgetDocument(widgetModel, new File(fac.getUnzippedWidgetDirectory(), "config.xml")), response);
           return false;
           
         }

Modified: incubator/wookie/trunk/src/org/apache/wookie/helpers/PoliciesHelper.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/helpers/PoliciesHelper.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/helpers/PoliciesHelper.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/helpers/PoliciesHelper.java Thu Mar  8 17:50:12 2012
@@ -70,7 +70,7 @@ public class PoliciesHelper {
           IPersistenceManager persistenceManager = PersistenceManagerFactory.getPersistenceManager();
           IWidget widget = persistenceManager.findWidgetByGuid(policy.getScope());
           if (widget != null){
-            policyJson.put("widget-title", WidgetHelper.getEncodedWidgetTitle(widget, null));
+            policyJson.put("widget-title", WidgetAdvertHelper.getEncodedWidgetTitle(widget, null));
           }
         }
         policyJson.put("origin", policy.getOrigin());

Copied: incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetAdvertHelper.java (from r1298308, incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetHelper.java)
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetAdvertHelper.java?p2=incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetAdvertHelper.java&p1=incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetHelper.java&r1=1298308&r2=1298484&rev=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetHelper.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetAdvertHelper.java Thu Mar  8 17:50:12 2012
@@ -32,7 +32,7 @@ import org.apache.wookie.w3c.util.Locali
  * @author scott wilson
  *
  */
-public class WidgetHelper {
+public class WidgetAdvertHelper {
 
 	private static final String XMLDECLARATION = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
 

Added: incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetImportHelper.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetImportHelper.java?rev=1298484&view=auto
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetImportHelper.java (added)
+++ incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetImportHelper.java Thu Mar  8 17:50:12 2012
@@ -0,0 +1,47 @@
+/*
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wookie.helpers;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.wookie.w3c.W3CWidget;
+
+//TODO improve this so it more than a basic stub
+public class WidgetImportHelper {
+  
+  private static String ERROR_RESPONSE = "<error>unable to read config.xml</error>";
+
+  public static String createXMLWidgetDocument(W3CWidget widgetModel, File configXml) {
+    if(configXml.exists()){
+      String xmlContents;
+      try {
+        xmlContents = FileUtils.readFileToString(configXml, "UTF-8");
+        return updatePaths(widgetModel, xmlContents);
+      } catch (IOException e) {
+        return ERROR_RESPONSE;
+      }
+    }else{
+      return ERROR_RESPONSE;
+    }
+    
+  }
+  
+  private static String updatePaths(W3CWidget widgetModel, String configXml){
+    //TODO - some jdom stuff to update the paths to start files & icons
+    return configXml;
+  }
+
+}

Propchange: incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetImportHelper.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/proxy/Policy.java Thu Mar  8 17:50:12 2012
@@ -46,6 +46,9 @@ public class Policy {
    */
   public Policy(String policy) throws PolicyFormatException{
     String[] elements = policy.split(" ");
+    if (elements.length != 3){
+      elements = policy.split("\\+");
+    }
     if (elements.length == 3){
       setScope(elements[0]);
       setOrigin(elements[1]);

Modified: incubator/wookie/trunk/src/org/apache/wookie/updates/UpdateInformation.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/updates/UpdateInformation.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/updates/UpdateInformation.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/updates/UpdateInformation.java Thu Mar  8 17:50:12 2012
@@ -14,7 +14,7 @@
 package org.apache.wookie.updates;
 
 import org.apache.wookie.beans.IWidget;
-import org.apache.wookie.helpers.WidgetHelper;
+import org.apache.wookie.helpers.WidgetAdvertHelper;
 import org.apache.wookie.w3c.updates.UpdateDescriptionDocument;
 import org.jdom.Element;
 
@@ -58,7 +58,7 @@ public class UpdateInformation {
 	public Element toXml(){
 		Element element = this.udd.toXml();
 		element.setAttribute("widget", this.widget.getId().toString());
-		element.setAttribute("widget_title", WidgetHelper.getEncodedWidgetTitle(this.widget, null));
+		element.setAttribute("widget_title", WidgetAdvertHelper.getEncodedWidgetTitle(this.widget, null));
 		return element;
 	}
 	

Modified: incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java
URL: http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java?rev=1298484&r1=1298483&r2=1298484&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/updates/UpdatesController.java Thu Mar  8 17:50:12 2012
@@ -98,7 +98,7 @@ public class UpdatesController extends C
 	 * TODO Note that this call can take a while to complete so it may be better in future to make the call asynchronous and spawn a background task to complete the update process
 	 */
 	@Override
-	protected boolean create(String resourceId, HttpServletRequest request)
+	protected boolean create(String resourceId, HttpServletRequest request, HttpServletResponse response)
 			throws ResourceDuplicationException, InvalidParametersException,
 			UnauthorizedAccessException {
 			// Check to see if we're requiring updates over HTTPS - if not output a warning
@@ -124,7 +124,7 @@ public class UpdatesController extends C
 	 * A PUT requests a single widget to be updated if there is an update available.
 	 */
 	@Override
-	protected void update(String resourceId, HttpServletRequest request)
+	protected void update(String resourceId, HttpServletRequest request, HttpServletResponse response)
 			throws ResourceNotFoundException, InvalidParametersException,
 			UnauthorizedAccessException {
 			// attempt to get specific widget by id