Author: rgardler
Date: Sun Feb 28 23:14:06 2010
New Revision: 917318

URL: http://svn.apache.org/viewvc?rev=917318&view=rev
Log:
Use the connector framework to manage instances. This means we are testing the 
connector framework in Wookie itself.

Modified:
    incubator/wookie/trunk/src/org/apache/wookie/WidgetWebMenuServlet.java

Modified: incubator/wookie/trunk/src/org/apache/wookie/WidgetWebMenuServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/WidgetWebMenuServlet.java?rev=917318&r1=917317&r2=917318&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/WidgetWebMenuServlet.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/WidgetWebMenuServlet.java Sun 
Feb 28 23:14:06 2010
@@ -15,6 +15,7 @@
 package org.apache.wookie;
 
 import java.io.IOException;
+import java.net.URL;
 import java.util.Hashtable;
 
 import javax.servlet.RequestDispatcher;
@@ -29,6 +30,9 @@
 import org.apache.log4j.Logger;
 import org.apache.wookie.beans.Widget;
 import org.apache.wookie.beans.WidgetInstance;
+import org.apache.wookie.connector.framework.AbstractWookieConnectorService;
+import org.apache.wookie.connector.framework.WookieConnectorException;
+import org.apache.wookie.connector.framework.WookieConnectorService;
 import org.apache.wookie.controller.WidgetInstancesController;
 import org.apache.wookie.helpers.WidgetInstanceFactory;
 import org.apache.wookie.helpers.WidgetKeyManager;
@@ -61,6 +65,8 @@
        private static final String fInstantiateWidgetsPage = 
"/webmenu/instantiate.jsp"; //$NON-NLS-1$
        private static final String fRequestApiKeyPage = 
"/webmenu/requestapikey.jsp"; //$NON-NLS-1$
 
+  private WookieConnectorService connectorService;
+
        protected void doGet(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException {
                HttpSession session = request.getSession(true);
                Messages localizedMessages = 
LocaleHandler.localizeMessages(request);
@@ -99,13 +105,19 @@
                                        break;
                                }
                                case DEMO_WIDGET:{
-                                       String key = 
request.getParameter("idkey");
-                                       WidgetInstance widget = 
WidgetInstance.findByIdKey(key);
-                                       request.setAttribute("widgetURL", 
widget.getWidget().getUrl());
-                                       request.setAttribute("widgetHeight", 
widget.getWidget().getHeight());
-                                       request.setAttribute("widgetWidth", 
widget.getWidget().getWidth());
-                                       request.setAttribute("proxy", 
WidgetInstancesController.checkProxy(request));
-                                       doForward(request, response, 
fDemoWidgetPage);
+          String idKey = request.getParameter("idkey");
+          try {
+            String guid = 
WidgetInstance.findByIdKey(idKey).getWidget().getGuid();
+            org.apache.wookie.connector.framework.WidgetInstance instance = 
getConnectorService(request).getOrCreateInstance(guid);
+            request.setAttribute("widgetURL", instance.getUrl());
+            request.setAttribute("widgetHeight", instance.getHeight());
+            request.setAttribute("widgetWidth", instance.getWidth());
+            request.setAttribute("proxy", 
WidgetInstancesController.checkProxy(request));
+            doForward(request, response, fDemoWidgetPage);
+          } catch (WookieConnectorException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+          }
                                        break;
                                }
                                case INSTANTIATE: {
@@ -130,7 +142,21 @@
        }
 
 
-       /*
+       private AbstractWookieConnectorService 
getConnectorService(HttpServletRequest request) throws WookieConnectorException 
{
+         if (connectorService == null) {
+      StringBuilder sbUrl = new StringBuilder(request.getScheme());
+      sbUrl.append("://");
+      sbUrl.append(request.getServerName());
+      sbUrl.append(":");
+      sbUrl.append(request.getServerPort());
+      sbUrl.append(request.getContextPath());
+      connectorService = new WookieConnectorService(sbUrl.toString(), "TEST", 
"myshareddata");
+         }
+         return connectorService;
+  }
+
+
+  /*
         * (non-Java-doc)
         *
         * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest 
request,


Reply via email to