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