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 {


Reply via email to