Modified: rave/trunk/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/service/impl/WookieWidgetService.java URL: http://svn.apache.org/viewvc/rave/trunk/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/service/impl/WookieWidgetService.java?rev=1386532&r1=1386531&r2=1386532&view=diff ============================================================================== --- rave/trunk/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/service/impl/WookieWidgetService.java (original) +++ rave/trunk/rave-providers/rave-w3c-provider/src/main/java/org/apache/rave/provider/w3c/service/impl/WookieWidgetService.java Mon Sep 17 09:45:53 2012 @@ -18,6 +18,9 @@ */ package org.apache.rave.provider.w3c.service.impl; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; import org.apache.rave.portal.model.User; import org.apache.rave.portal.model.Widget; @@ -28,20 +31,20 @@ import org.apache.wookie.connector.frame import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; - public class WookieWidgetService implements WidgetProviderService { private static Logger logger = LoggerFactory.getLogger(WookieWidgetService.class); private final String wookieServerUrl; // = "http://localhost:8080/wookie"; private final String wookieApiKey; // = "TEST"; - private static WookieConnectorService connectorService; + private final String adminUsername; + private final String adminPassword; + private static WookieConnectorService connectorService; - public WookieWidgetService(String wookieServerUrl, String wookieApiKey){ + public WookieWidgetService(String wookieServerUrl, String wookieApiKey, String adminUsername, String adminPassword){ this.wookieServerUrl = wookieServerUrl; this.wookieApiKey = wookieApiKey; + this.adminUsername = adminUsername; + this.adminPassword = adminPassword; } /* (non-Javadoc) @@ -61,6 +64,7 @@ public class WookieWidgetService impleme * @return an array of available widgets * @throws WookieConnectorException */ + @SuppressWarnings("deprecation") public Widget[] getWidgets() throws WookieConnectorException{ connectorService = getWookieConnectorService(wookieServerUrl, wookieApiKey, null); Collection<org.apache.wookie.connector.framework.Widget> widgets = connectorService.getAvailableWidgets().values(); @@ -86,6 +90,27 @@ public class WookieWidgetService impleme return null; } + @SuppressWarnings("deprecation") + public Widget publishWidgetUrlToWookie(String widgetUrl){ + Widget widget = null; + try { + if(adminUsername.equals(null) || adminUsername.equals("") || adminPassword.equals(null) || adminPassword.equals("")){ + throw new WookieConnectorException("Either the wookie username or password is not defined in portal.properties", null); + } + connectorService = getWookieConnectorService(wookieServerUrl, wookieApiKey, ""); + org.apache.wookie.connector.framework.Widget wookieWidget = connectorService.postWidget(widgetUrl, adminUsername, adminPassword); + widget = new W3CWidget(); + widget.setUrl(wookieWidget.getIdentifier()); + widget.setDescription(wookieWidget.getDescription()); + widget.setTitle(wookieWidget.getTitle()); + widget.setType("W3C"); + widget.setThumbnailUrl(wookieWidget.getIcon().toString()); + } catch (WookieConnectorException e) { + logger.error(e.getMessage()); + } + return widget; + } + /** * Gets the Widget Instance corresponding to the RegionWidget and the Viewer * @param widget the type of Widget to obtain @@ -93,13 +118,13 @@ public class WookieWidgetService impleme * @param viewer the current viewer * @return a Widget */ + @SuppressWarnings("deprecation") private W3CWidget getWidgetForViewer(Widget widget, String sharedDataKey, User viewer){ try { // TODO: parameters for WookieConnectorService should not be fixed in code. connectorService = getWookieConnectorService(wookieServerUrl, wookieApiKey, sharedDataKey); org.apache.wookie.connector.framework.User user = new org.apache.wookie.connector.framework.User(String.valueOf(viewer.getUsername()), viewer.getUsername()); connectorService.setCurrentUser(user); - logger.debug("Getting widget:"+widget.getUrl()+" from:" +connectorService.getConnection().getURL()); WidgetInstance instance = connectorService.getOrCreateInstance(widget.getUrl()); return createWidget(instance); @@ -128,8 +153,7 @@ public class WookieWidgetService impleme widget.setWidth(Integer.parseInt(instance.getWidth())); return widget; } - - + // Get the wookie service connector private WookieConnectorService getWookieConnectorService(String serverURL, String apiKey, String sharedDataKey ) throws WookieConnectorException { connectorService = new WookieConnectorService(serverURL, apiKey, sharedDataKey);
Modified: rave/trunk/rave-providers/rave-w3c-provider/src/main/resources/org/apache/rave/w3c-provider-applicationContext.xml URL: http://svn.apache.org/viewvc/rave/trunk/rave-providers/rave-w3c-provider/src/main/resources/org/apache/rave/w3c-provider-applicationContext.xml?rev=1386532&r1=1386531&r2=1386532&view=diff ============================================================================== --- rave/trunk/rave-providers/rave-w3c-provider/src/main/resources/org/apache/rave/w3c-provider-applicationContext.xml (original) +++ rave/trunk/rave-providers/rave-w3c-provider/src/main/resources/org/apache/rave/w3c-provider-applicationContext.xml Mon Sep 17 09:45:53 2012 @@ -47,6 +47,8 @@ <bean id="wookieWidgetService" class="org.apache.rave.provider.w3c.service.impl.WookieWidgetService"> <constructor-arg name="wookieServerUrl" value="${provider.wookie.wookieServerUrl}"/> <constructor-arg name="wookieApiKey" value="${provider.wookie.wookieApiKey}"/> + <constructor-arg name="adminUsername" value="${provider.wookie.adminUsername}"/> + <constructor-arg name="adminPassword" value="${provider.wookie.adminPassword}"/> </bean> </beans>
