You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oltu.apache.org by as...@apache.org on 2013/01/16 10:21:53 UTC

svn commit: r1433867 - in /incubator/amber/trunk/oauth-2.0/client-demo/src/main: java/org/apache/amber/oauth2/client/demo/ java/org/apache/amber/oauth2/client/demo/controller/ java/org/apache/amber/oauth2/client/demo/model/ webapp/WEB-INF/views/

Author: asanso
Date: Wed Jan 16 09:21:53 2013
New Revision: 1433867

URL: http://svn.apache.org/viewvc?rev=1433867&view=rev
Log:
AMBER-73 - Update the client demo web app in order to leverage the new API in AMBER-70 

Modified:
    incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/Utils.java
    incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/controller/ResourceController.java
    incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/model/OAuthParams.java
    incubator/amber/trunk/oauth-2.0/client-demo/src/main/webapp/WEB-INF/views/get_resource.jsp

Modified: incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/Utils.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/Utils.java?rev=1433867&r1=1433866&r2=1433867&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/Utils.java (original)
+++ incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/Utils.java Wed Jan 16 09:21:53 2013
@@ -42,6 +42,10 @@ public final class Utils {
 
     public static final String REG_TYPE_PULL = "pull";
     public static final String REG_TYPE_PUSH = "push";
+    
+    public static final String REQUEST_TYPE_QUERY= "queryParameter";
+    public static final String REQUEST_TYPE_HEADER= "headerField";
+    public static final String REQUEST_TYPE_BODY= "bodyParameter";
 
     public static final String GENERIC = "generic"; 
     

Modified: incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/controller/ResourceController.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/controller/ResourceController.java?rev=1433867&r1=1433866&r2=1433867&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/controller/ResourceController.java (original)
+++ incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/controller/ResourceController.java Wed Jan 16 09:21:53 2013
@@ -20,16 +20,17 @@
  */
 
 package org.apache.amber.oauth2.client.demo.controller;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.URL;
+ 
 import javax.servlet.http.HttpServletRequest;
-
+import org.apache.amber.oauth2.client.OAuthClient;
+import org.apache.amber.oauth2.client.URLConnectionClient;
 import org.apache.amber.oauth2.client.demo.Utils;
 import org.apache.amber.oauth2.client.demo.model.OAuthParams;
-import org.apache.amber.oauth2.common.utils.OAuthUtils;
-import org.apache.amber.oauth2.common.OAuth;
+import org.apache.amber.oauth2.client.request.OAuthBearerClientRequest;
+import org.apache.amber.oauth2.client.request.OAuthClientRequest;
+import org.apache.amber.oauth2.client.response.OAuthResourceResponse;
+import org.apache.amber.oauth2.common.exception.OAuthProblemException;
+import org.apache.amber.oauth2.common.exception.OAuthSystemException;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.ModelAttribute;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -49,23 +50,31 @@ public class ResourceController {
                                   HttpServletRequest req) {
 
         try {
-            String tokenName = OAuth.OAUTH_TOKEN_DRAFT_0;
-            if (Utils.SMART_GALLERY.equals(oauthParams.getApplication())) {
-                tokenName = OAuth.OAUTH_TOKEN;
-            }
-            URL url = new URL(
-                oauthParams.getResourceUrl() + "?" + tokenName + "=" + oauthParams.getAccessToken());
-            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
-            if (conn.getResponseCode() == 200) {
-                oauthParams.setResource(OAuthUtils.saveStreamAsString(conn.getInputStream()));
-            } else {
-                oauthParams.setErrorMessage(
-                    "Could not access resource: " + conn.getResponseCode() + " " + conn.getResponseMessage());
-            }
-        } catch (IOException e) {
-            oauthParams.setErrorMessage(e.getMessage());
-        }
-
+			OAuthClientRequest request=null; 
+			
+			if (Utils.REQUEST_TYPE_QUERY.equals(oauthParams.getRequestType())){
+				request= new OAuthBearerClientRequest(oauthParams.getResourceUrl()).setAccessToken(oauthParams.getAccessToken()).buildQueryMessage();
+			}else if (Utils.REQUEST_TYPE_HEADER.equals(oauthParams.getRequestType())){
+				request= new OAuthBearerClientRequest(oauthParams.getResourceUrl()).setAccessToken(oauthParams.getAccessToken()).buildHeaderMessage();
+			}else if (Utils.REQUEST_TYPE_BODY.equals(oauthParams.getRequestType())){
+				request= new OAuthBearerClientRequest(oauthParams.getResourceUrl()).setAccessToken(oauthParams.getAccessToken()).buildBodyMessage();
+			}			
+			
+			OAuthClient client = new OAuthClient(new URLConnectionClient());
+			OAuthResourceResponse resourceResponse= client.resource(request, oauthParams.getRequestMethod(), OAuthResourceResponse.class);
+			
+			if (resourceResponse.getResponseCode()==200){			
+				oauthParams.setResource(resourceResponse.getBody());
+			}else{
+				oauthParams.setErrorMessage(
+	                    "Could not access resource: " + resourceResponse.getResponseCode() + " " + resourceResponse.getBody());
+			}
+		} catch (OAuthSystemException e) {
+			 oauthParams.setErrorMessage(e.getMessage());
+		} catch (OAuthProblemException e) {
+			 oauthParams.setErrorMessage(e.getMessage());
+		}
+  
         return new ModelAndView("resource");
 
 

Modified: incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/model/OAuthParams.java
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/model/OAuthParams.java?rev=1433867&r1=1433866&r2=1433867&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/model/OAuthParams.java (original)
+++ incubator/amber/trunk/oauth-2.0/client-demo/src/main/java/org/apache/amber/oauth2/client/demo/model/OAuthParams.java Wed Jan 16 09:21:53 2013
@@ -42,6 +42,8 @@ public class OAuthParams {
     private String resourceUrl;
     private String resource;
     private String application;
+    private String requestType;
+    private String requestMethod;
 
     private String errorMessage;
 
@@ -160,4 +162,20 @@ public class OAuthParams {
     public void setApplication(String application) {
         this.application = application;
     }
+
+	public String getRequestType() {
+		return requestType;
+	}
+
+	public void setRequestType(String requestType) {
+		this.requestType = requestType;
+	}
+
+	public String getRequestMethod() {
+		return requestMethod;
+	}
+
+	public void setRequestMethod(String requestMethod) {
+		this.requestMethod = requestMethod;
+	}
 }

Modified: incubator/amber/trunk/oauth-2.0/client-demo/src/main/webapp/WEB-INF/views/get_resource.jsp
URL: http://svn.apache.org/viewvc/incubator/amber/trunk/oauth-2.0/client-demo/src/main/webapp/WEB-INF/views/get_resource.jsp?rev=1433867&r1=1433866&r2=1433867&view=diff
==============================================================================
--- incubator/amber/trunk/oauth-2.0/client-demo/src/main/webapp/WEB-INF/views/get_resource.jsp (original)
+++ incubator/amber/trunk/oauth-2.0/client-demo/src/main/webapp/WEB-INF/views/get_resource.jsp Wed Jan 16 09:21:53 2013
@@ -52,6 +52,21 @@
             <td><form:input size="70" path="resourceUrl"/></td>
         </tr>
         <tr>
+            <td>Authenticated Request Type:</td>
+            <td><form:select path="requestType">
+                <form:option value="queryParameter"/>
+                <form:option value="headerField"/>
+                <form:option value="bodyParameter"/>
+            </form:select></td>
+        </tr>
+        <tr>
+            <td>Request Method:</td>
+            <td><form:select path="requestMethod">
+                <form:option value="GET"/>
+                <form:option value="POST"/>
+            </form:select></td>
+        </tr>
+        <tr>
             <td>Access Token:</td>
             <td><form:input size="70" path="accessToken" readonly="true"/></td>
         </tr>