Author: psharples
Date: Fri Apr 9 15:30:49 2010
New Revision: 932464
URL: http://svn.apache.org/viewvc?rev=932464&view=rev
Log:
Added method to allow a widget to have admin rights (works in widgets which
implement this behaviour)
Modified:
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
Modified:
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
URL:
http://svn.apache.org/viewvc/incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java?rev=932464&r1=932463&r2=932464&view=diff
==============================================================================
---
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
(original)
+++
incubator/wookie/trunk/connector/java/src/org/apache/wookie/connector/framework/AbstractWookieConnectorService.java
Fri Apr 9 15:30:49 2010
@@ -64,6 +64,44 @@ public abstract class AbstractWookieConn
WookieConnectorException {
return getOrCreateInstance(widget.identifier);
}
+
+ public void setPropertyForInstance(WidgetInstance instance, String
propertyType, String fName, String fValue)
+ throws WookieConnectorException{
+ String queryString;
+ try {
+ if(!propertyType.equals("setpublicproperty") &&
!propertyType.equals("setpersonalproperty")){
+ logger.error("Incorrect requestId parameter. Must be
either 'setpublicproperty' or 'setprivateproperty'");
+ throw new Exception();
+ }
+ queryString = new String("?requestid=" + propertyType +
"&api_key=");
+ queryString+=(URLEncoder.encode(getConnection().getApiKey(),
"UTF-8"));
+ queryString+=("&shareddatakey=");
+
queryString+=(URLEncoder.encode(getConnection().getSharedDataKey(), "UTF-8"));
+ queryString+=("&userid=");
+
queryString+=(URLEncoder.encode(getCurrentUser().getLoginName(), "UTF-8"));
+ queryString+=("&widgetid=");
+ queryString+=(URLEncoder.encode(instance.getId(), "UTF-8"));
+ queryString+=("&propertyname=");
+ queryString+=(URLEncoder.encode(fName, "UTF-8"));
+ queryString+=("&propertyvalue=");
+ queryString+=(URLEncoder.encode(fValue, "UTF-8"));
+ }
+ catch (UnsupportedEncodingException e) {
+ throw new WookieConnectorException("Must support UTF-8 encoding",
e);
+ }
+ catch (Exception e) {
+ throw new WookieConnectorException("Cannot set property
type:" + fName + " using requestId " + propertyType, e);
+ }
+ URL url = null;
+ try {
+ url = new URL(conn.getURL() + "/WidgetServiceServlet" +
queryString);
+ HttpURLConnection conn = (HttpURLConnection)url.openConnection();
+ if (conn.getResponseCode() > 200) throw new
IOException(conn.getResponseMessage());
+ }
+ catch (Exception e) {
+ throw new WookieConnectorException("Unable to set property ", e);
+ }
+ }
public WidgetInstance getOrCreateInstance(String guid) throws IOException,
WookieConnectorException {