Author: scottbw
Date: Fri Feb 14 17:09:59 2014
New Revision: 1568359

URL: http://svn.apache.org/r1568359
Log:
Removed legacy non-REST API

Removed:
    
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/WidgetServiceServlet.java
Modified:
    
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/Controller.java
    
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/WidgetInstancesController.java
    wookie/trunk/wookie-server/src/main/webapp/WEB-INF/web.xml

Modified: 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/Controller.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/Controller.java?rev=1568359&r1=1568358&r2=1568359&view=diff
==============================================================================
--- 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/Controller.java
 (original)
+++ 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/Controller.java
 Fri Feb 14 17:09:59 2014
@@ -400,9 +400,17 @@ public abstract class Controller extends
         * @return
         */
        protected static AuthToken getAuthTokenFromRequest(HttpServletRequest 
request){
+               return getAuthTokenFromRequest(request, false);
+       }
+       
+       /**
+        * Get an AuthToken from the request
+        * @param request
+        * @return
+        */
+       protected static AuthToken getAuthTokenFromRequest(HttpServletRequest 
request, boolean useDefaultWidget){
                
                AuthToken authToken = null;
-
                
                //
                // First, lets use idkey if present
@@ -457,10 +465,14 @@ public abstract class Controller extends
             if (widgetId == null || widgetId.trim().equals("")) return null;
             
             //
-            // The widget MUST be installed
+            // The widget MUST be installed unless we're set to use the default
             //
             if 
(WidgetMetadataService.Factory.getInstance().getWidget(widgetId) == null){
-               return null;
+               if (useDefaultWidget){
+                       widgetId = "http://notsupported";;
+               } else {
+                       return null;                            
+               }
             }
             
                        //

Modified: 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/WidgetInstancesController.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/WidgetInstancesController.java?rev=1568359&r1=1568358&r2=1568359&view=diff
==============================================================================
--- 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/WidgetInstancesController.java
 (original)
+++ 
wookie/trunk/wookie-server/src/main/java/org/apache/wookie/controller/WidgetInstancesController.java
 Fri Feb 14 17:09:59 2014
@@ -15,7 +15,6 @@
 package org.apache.wookie.controller;
 
 import java.io.IOException;
-import java.io.PrintWriter;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.UUID;
@@ -56,68 +55,32 @@ public class WidgetInstancesController e
        static Logger _logger = 
Logger.getLogger(WidgetInstancesController.class.getName());    
        protected static final String CONTENT_TYPE = 
"text/xml;charset=\"UTF-8\"";       //$NON-NLS-1$
        protected static URL urlWidgetProxyServer = null;       
-       
 
+       
+       /// Implementation
+       
        /* (non-Javadoc)
         * @see 
org.apache.wookie.controller.Controller#doPost(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse)
         */
-       /**
-        * We override the default POST action as we need to support the legacy 
getOrCreate method
-        */
        @Override
-       protected void doPost(HttpServletRequest request, HttpServletResponse 
response)
-                       throws ServletException, IOException {
-                       doGetOrCreateWidget(request, response);
+       protected void doPost(HttpServletRequest request,
+                       HttpServletResponse response) throws ServletException, 
IOException {
+               doGet(request, response);
        }
 
-       /* (non-Javadoc)
-        * @see 
org.apache.wookie.controller.Controller#doGet(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse)
-        */
-       /**
-        * We override the default GET method to support legacy clients 
tunneling through GET to send other types of
-        * requests usually sent over POST and PUT.
-        */
-       @Override
-       protected void doGet(HttpServletRequest request, HttpServletResponse 
response) throws ServletException, IOException{                                 
   
-           try {
-             String resourceId = getResourceId(request);
-             String requestId = request.getParameter("requestid"); 
//$NON-NLS-1$
-             if (requestId == null || requestId.equals("")){
-               show(resourceId, request, response);
-             } else {
-               if(requestId.equals("getwidget")){ //$NON-NLS-1$
-                 doGetOrCreateWidget(request, response);
-               } else if(requestId.equals("stopwidget")){ //$NON-NLS-1$
-                 doStopWidget(request);
-               } else if(requestId.equals("resumewidget")){ //$NON-NLS-1$
-                 doResumeWidget(request);
-               } else if(requestId.equals("clone")){ //$NON-NLS-1$
-                 cloneSharedData(request);
-               } else {
-                 response.setStatus(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
-               }
-             }
-      } catch (ResourceNotFoundException e) {
-        response.sendError(HttpServletResponse.SC_NOT_FOUND);
-      } catch (UnauthorizedAccessException e){
-        response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
-           } catch (Exception ex) {                                    
-             response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-           }
-       }
-       
-       /// Implementation
        
+
        /* (non-Javadoc)
-        * @see org.apache.wookie.controller.Controller#show(java.lang.String, 
javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
+        * @see 
org.apache.wookie.controller.Controller#doGet(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse)
         */
        @Override
-       protected void show(String resourceId, HttpServletRequest request, 
HttpServletResponse response) throws ResourceNotFoundException, 
UnauthorizedAccessException, IOException {
-
-               AuthToken authToken = getAuthTokenFromRequest(request);
+       protected void doGet(HttpServletRequest request,
+                       HttpServletResponse response) throws ServletException, 
IOException {
 
+               AuthToken authToken = getAuthTokenFromRequest(request, true);
+               
                if (authToken == null){
-                       throw new ResourceNotFoundException();
+                       response.setStatus(HttpServletResponse.SC_FORBIDDEN);
                } else {
                        //
                        // Check the API key matches
@@ -132,8 +95,16 @@ public class WidgetInstancesController e
                        } catch (Exception e1) {
                                throw new IOException(e1);
                        }
-
-                       response.setStatus(HttpServletResponse.SC_OK);
+                       
+                       //
+                       // If the widget was replaced by the not supported 
widget, return
+                       // 404. Otherwise return 200.
+                       //
+                       if 
(authToken.getWidgetId().equals("http://notsupported";)){
+                               
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+                       } else {
+                               response.setStatus(HttpServletResponse.SC_OK);
+                       }
 
                        //
                        // Use default sizes where none provided?
@@ -150,7 +121,7 @@ public class WidgetInstancesController e
 
                        //
                        // Return XML or JSON 
-                       //
+                       //                      
                        try {
                                switch(format(request)){
                                case XML: 
returnXml(WidgetInstanceHelper.createXMLWidgetInstanceDocument(authToken, url, 
useDefaultSizes), response); break;
@@ -164,7 +135,7 @@ public class WidgetInstancesController e
 
                }
        }
-       
+
        /* (non-Javadoc)
         * @see 
org.apache.wookie.controller.Controller#update(java.lang.String, 
javax.servlet.http.HttpServletRequest)
         */
@@ -186,15 +157,6 @@ 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{
          
-         return deleteWidgetInstance(resourceId, request);
-       }
 
        /**
         * Locks a widget instance
@@ -222,60 +184,6 @@ public class WidgetInstancesController e
            Notifier.notifyWidgets(request.getSession(), authToken, 
Notifier.STATE_UPDATED);
        }
        
-       //
-       // This is now meaningless
-       // TODO remove from API
-       //
-       public static boolean deleteWidgetInstance(String resourceId, 
HttpServletRequest request) throws InvalidParametersException, 
ResourceNotFoundException {
-               return false;
-       }
-
-       /**
-        * This is the "legacy" get-or-create method accessed via POST or a 
tunnel through GET. This will be deprecated in future.
-        * @param request
-        * @param response
-        * @throws ServletException
-        * @throws IOException
-        */
-       public static void doGetOrCreateWidget(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException {
-               
-               AuthToken authToken = getAuthTokenFromRequest(request);
-               if (authToken == null){
-                 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
-                 return;
-               }
-               checkProxy(request);            
-
-               response.setStatus(HttpServletResponse.SC_OK);                  
-               
-           //
-           // Use default sizes where none provided?
-           //
-           boolean useDefaultSizes = true;
-           Configuration properties = (Configuration) 
request.getSession().getServletContext().getAttribute("properties"); 
//$NON-NLS-1$
-           if (properties.containsKey("widget.use_default_sizes")){
-               try {
-                               useDefaultSizes = 
properties.getBoolean("widget.use_default_sizes");
-                       } catch (Exception e) {
-                               useDefaultSizes = true;
-                       }
-           }
-               
-               String url;
-               try {
-                       url = getUrl(request, authToken);
-               } catch (Exception e) {
-                       throw new IOException(e);
-               }
-               response.setContentType(CONTENT_TYPE);
-               PrintWriter out = response.getWriter();
-               try {
-                       
out.println(WidgetInstanceHelper.createXMLWidgetInstanceDocument(authToken, 
url, useDefaultSizes));
-               } catch (Exception e) {
-                       
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-               }
-       }  
-       
        /**
         * Create a clone of the instance
         * @param request

Modified: wookie/trunk/wookie-server/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-server/src/main/webapp/WEB-INF/web.xml?rev=1568359&r1=1568358&r2=1568359&view=diff
==============================================================================
--- wookie/trunk/wookie-server/src/main/webapp/WEB-INF/web.xml (original)
+++ wookie/trunk/wookie-server/src/main/webapp/WEB-INF/web.xml Fri Feb 14 
17:09:59 2014
@@ -224,17 +224,6 @@
                <servlet-name>PoliciesServlet</servlet-name>
                <url-pattern>/policies/*</url-pattern>
        </servlet-mapping>
-       
-       <!--  Legacy API - deprecated in favour of REST API  -->
-       <servlet>
-               <description></description>
-               <display-name>Widget API</display-name>
-               <servlet-name>WidgetServiceServlet</servlet-name>
-               <servlet-class>
-                       org.apache.wookie.WidgetServiceServlet
-               </servlet-class>
-               <load-on-startup>2</load-on-startup>
-       </servlet>
 
        <servlet>
                <description>
@@ -245,11 +234,6 @@
        </servlet>
        
        <servlet-mapping>
-               <servlet-name>WidgetServiceServlet</servlet-name>
-               <url-pattern>/WidgetServiceServlet</url-pattern>
-       </servlet-mapping>
-
-       <servlet-mapping>
                <servlet-name>dwr-invoker</servlet-name>
                <url-pattern>/dwr/*</url-pattern>
        </servlet-mapping>


Reply via email to