1
2
3
4
5
6
7
8
9
10
11
12
13 package org.springframework.security.oauth2.http.converter.jaxb;
14
15 import java.util.Date;
16
17 import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken;
18 import org.springframework.security.oauth2.common.OAuth2RefreshToken;
19 import org.springframework.security.oauth2.common.OAuth2AccessToken;
20 import org.springframework.security.oauth2.common.DefaultOAuth2RefreshToken;
21
22 public final class JaxbOAuth2AccessTokenMessageConverter extends AbstractJaxbMessageConverter<JaxbOAuth2AccessToken,OAuth2AccessToken> {
23
24 public JaxbOAuth2AccessTokenMessageConverter() {
25 super(JaxbOAuth2AccessToken.class,OAuth2AccessToken.class);
26 }
27
28 protected JaxbOAuth2AccessToken convertToInternal(OAuth2AccessToken accessToken) {
29 JaxbOAuth2AccessToken jaxbAccessToken = new JaxbOAuth2AccessToken();
30 jaxbAccessToken.setAccessToken(accessToken.getValue());
31 jaxbAccessToken.setExpriation(accessToken.getExpiration());
32 OAuth2RefreshToken refreshToken = accessToken.getRefreshToken();
33 if(refreshToken != null) {
34 jaxbAccessToken.setRefreshToken(refreshToken.getValue());
35 }
36 return jaxbAccessToken;
37 }
38
39 protected OAuth2AccessToken convertToExternal(JaxbOAuth2AccessToken jaxbAccessToken) {
40 DefaultOAuth2AccessToken accessToken = new DefaultOAuth2AccessToken(jaxbAccessToken.getAccessToken());
41 String refreshToken = jaxbAccessToken.getRefreshToken();
42 if(refreshToken != null) {
43 accessToken.setRefreshToken(new DefaultOAuth2RefreshToken(refreshToken));
44 }
45 Date expiration = jaxbAccessToken.getExpiration();
46 if(expiration != null) {
47 accessToken.setExpiration(expiration);
48 }
49 return accessToken;
50 }
51 }