1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.amber.oauth2.client.response;
23
24 import org.apache.amber.oauth2.common.OAuth;
25 import org.apache.amber.oauth2.common.error.OAuthError;
26 import org.apache.amber.oauth2.common.exception.OAuthProblemException;
27 import org.apache.amber.oauth2.common.token.BasicOAuthToken;
28 import org.apache.amber.oauth2.common.token.OAuthToken;
29 import org.apache.amber.oauth2.common.utils.JSONUtils;
30 import org.codehaus.jettison.json.JSONException;
31
32
33
34
35
36
37 public class OAuthJSONAccessTokenResponse extends OAuthAccessTokenResponse {
38
39 public OAuthJSONAccessTokenResponse() {
40 }
41
42 @Override
43 public String getAccessToken() {
44 return getParam(OAuth.OAUTH_ACCESS_TOKEN);
45 }
46
47 @Override
48 public Long getExpiresIn() {
49 String value = getParam(OAuth.OAUTH_EXPIRES_IN);
50 return value == null? null: Long.valueOf(value);
51 }
52
53 public String getScope() {
54 return getParam(OAuth.OAUTH_SCOPE);
55 }
56
57 public OAuthToken getOAuthToken() {
58 return new BasicOAuthToken(getAccessToken(), getExpiresIn(), getRefreshToken(), getScope());
59 }
60
61 public String getRefreshToken() {
62 return getParam(OAuth.OAUTH_REFRESH_TOKEN);
63 }
64
65 protected void setBody(String body) throws OAuthProblemException {
66
67 try {
68 this.body = body;
69 parameters = JSONUtils.parseJSON(body);
70 } catch (JSONException e) {
71 throw OAuthProblemException.error(OAuthError.CodeResponse.UNSUPPORTED_RESPONSE_TYPE,
72 "Invalid response! Response body is not " + OAuth.ContentType.JSON + " encoded");
73 }
74 }
75
76 protected void setContentType(String contentType) {
77 this.contentType = contentType;
78 }
79
80
81 protected void setResponseCode(int code) {
82 this.responseCode = code;
83 }
84
85 }