X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=dist%2Ffacebook-utils-2.5.0%2Fxref-test%2Fde%2Fjuplo%2Ffacebook%2Fclient%2FGraphApiErrorHandlerTest.html;fp=dist%2Ffacebook-utils-2.5.0%2Fxref-test%2Fde%2Fjuplo%2Ffacebook%2Fclient%2FGraphApiErrorHandlerTest.html;h=c3dde74aa93b4ff22aa4c17e9a0cfdcf30853423;hb=a53595184bd6e57bdc45292cc92c393c4e2dfe6e;hp=0000000000000000000000000000000000000000;hpb=c48c9ee0e9faa89a4c0a5323b367b9f5a6abe602;p=website diff --git a/dist/facebook-utils-2.5.0/xref-test/de/juplo/facebook/client/GraphApiErrorHandlerTest.html b/dist/facebook-utils-2.5.0/xref-test/de/juplo/facebook/client/GraphApiErrorHandlerTest.html new file mode 100644 index 00000000..c3dde74a --- /dev/null +++ b/dist/facebook-utils-2.5.0/xref-test/de/juplo/facebook/client/GraphApiErrorHandlerTest.html @@ -0,0 +1,821 @@ + + + +GraphApiErrorHandlerTest xref + + + +
View Javadoc
+1   package de.juplo.facebook.client;
+2   
+3   import de.juplo.facebook.exceptions.AccessTokenRequiredException;
+4   import de.juplo.facebook.exceptions.CallbackVerificationFailedException;
+5   import de.juplo.facebook.exceptions.UnsupportedGetRequestException;
+6   import de.juplo.facebook.exceptions.UnexpectedErrorException;
+7   import de.juplo.facebook.exceptions.RateExceededException;
+8   import de.juplo.facebook.exceptions.GraphApiException;
+9   import de.juplo.facebook.exceptions.GraphApiException.Type;
+10  import de.juplo.facebook.exceptions.UnknownErrorException;
+11  import de.juplo.facebook.exceptions.PageMigratedException;
+12  import de.juplo.facebook.exceptions.UnmappedErrorException;
+13  import java.util.Date;
+14  import java.util.Map;
+15  import java.util.Set;
+16  import javax.annotation.Resource;
+17  import static org.junit.Assert.*;
+18  import org.junit.Before;
+19  import org.junit.Test;
+20  import org.junit.runner.RunWith;
+21  import org.slf4j.Logger;
+22  import org.slf4j.LoggerFactory;
+23  import org.springframework.http.HttpStatus;
+24  import org.springframework.security.access.AccessDeniedException;
+25  import org.springframework.security.oauth2.client.OAuth2RestTemplate;
+26  import org.springframework.security.oauth2.client.http.OAuth2ErrorHandler;
+27  import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails;
+28  import org.springframework.security.oauth2.client.resource.UserApprovalRequiredException;
+29  import org.springframework.security.oauth2.client.resource.UserRedirectRequiredException;
+30  import org.springframework.security.oauth2.client.token.AccessTokenProvider;
+31  import org.springframework.security.oauth2.client.token.AccessTokenRequest;
+32  import org.springframework.security.oauth2.common.OAuth2AccessToken;
+33  import static org.springframework.security.oauth2.common.OAuth2AccessToken.OAUTH2_TYPE;
+34  import org.springframework.security.oauth2.common.OAuth2RefreshToken;
+35  import org.springframework.test.context.ContextConfiguration;
+36  import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+37  import org.springframework.web.client.HttpClientErrorException;
+38  
+39  
+40  
+41  /**
+42   *
+43   * @author kai
+44   */
+45  @RunWith(SpringJUnit4ClassRunner.class)
+46  @ContextConfiguration(
+47    locations = {
+48      "classpath:/spring/test-facebook-error-handler.xml"
+49      })
+50  public class GraphApiErrorHandlerTest
+51  {
+52    private static final Logger log =
+53        LoggerFactory.getLogger(GraphApiErrorHandlerTest.class);
+54  
+55    @Resource
+56    private OAuth2RestTemplate clientTemplate;
+57  
+58    private MockClientHttpRequestFactory requestFactory;
+59  
+60  
+61    @Test
+62    public void testError1()
+63    {
+64      log.info("testError1");
+65  
+66  
+67      requestFactory.setBody(
+68          "{\n" +
+69          "  \"error\":\n" +
+70          "  {\n" +
+71          "    \"message\": \"An unknown error has occurred.\",\n" +
+72          "    \"type\": \"OAuthException\",\n" +
+73          "    \"code\": 1\n" +
+74          "  }\n" +
+75          "}");
+76  
+77      try
+78      {
+79        clientTemplate.getForObject("ANY", SOME.class);
+80        fail("The expected exception was not thrown");
+81      }
+82      catch(UnknownErrorException e)
+83      {
+84        log.debug("{}", e.toString());
+85        assertEquals("invalid_request", e.getOAuth2ErrorCode());
+86        assertEquals(new Integer(1), e.getCode());
+87        assertEquals("An unknown error has occurred.", e.getMessage());
+88        assertEquals(Type.OAuthException, e.getType());
+89      }
+90    }
+91  
+92    @Test
+93    public void testError2()
+94    {
+95      log.info("testError2");
+96  
+97  
+98      requestFactory.setBody(
+99          "{\n" +
+100         "  \"error\":\n" +
+101         "  {\n" +
+102         "    \"message\": \"An unexpected error has occurred. Please retry your request later.\",\n" +
+103         "    \"type\": \"OAuthException\",\n" +
+104         "    \"code\": 2\n" +
+105         "  }\n" +
+106         "}");
+107 
+108     try
+109     {
+110       clientTemplate.getForObject("ANY", SOME.class);
+111       fail("The expected exception was not thrown");
+112     }
+113     catch(UnexpectedErrorException e)
+114     {
+115       log.debug("{}", e.toString());
+116       assertEquals("invalid_request", e.getOAuth2ErrorCode());
+117       assertEquals(new Integer(2), e.getCode());
+118       assertEquals("An unexpected error has occurred. Please retry your request later.", e.getMessage());
+119       assertEquals(Type.OAuthException, e.getType());
+120     }
+121   }
+122 
+123   @Test
+124   public void testError21()
+125   {
+126     log.info("testError21");
+127 
+128 
+129     requestFactory.setBody(
+130         "{\n" +
+131         "  \"error\":\n" +
+132         "  {\n" +
+133         "    \"message\": \"(#21) Page ID 590408587650316 was migrated to page ID 1421620791415603.  Please update your API calls to the new ID\",\n" +
+134         "    \"type\": \"OAuthException\",\n" +
+135         "    \"code\": 21\n" +
+136         "  }\n" +
+137         "}");
+138 
+139     try
+140     {
+141       clientTemplate.getForObject("ANY", SOME.class);
+142       fail("The expected exception was not thrown");
+143     }
+144     catch(PageMigratedException e)
+145     {
+146       log.debug("{}", e.toString());
+147       assertEquals("invalid_request", e.getOAuth2ErrorCode());
+148       assertEquals(new Integer(21), e.getCode());
+149       assertEquals("(#21) Page ID 590408587650316 was migrated to page ID 1421620791415603.  Please update your API calls to the new ID", e.getMessage());
+150       assertEquals(Type.OAuthException, e.getType());
+151     }
+152   }
+153 
+154   @Test
+155   public void testError100()
+156   {
+157     log.info("testError100");
+158 
+159 
+160     requestFactory.setBody(
+161         "{\n" +
+162         "  \"error\":\n" +
+163         "  {\n" +
+164         "    \"message\": \"Unsupported get request.\",\n" +
+165         "    \"type\": \"GraphMethodException\",\n" +
+166         "    \"code\": 100\n" +
+167         "  }\n" +
+168         "}");
+169 
+170     try
+171     {
+172       clientTemplate.getForObject("ANY", SOME.class);
+173       fail("The expected exception was not thrown");
+174     }
+175     catch(UnsupportedGetRequestException e)
+176     {
+177       log.debug("{}", e.toString());
+178       assertEquals("invalid_request", e.getOAuth2ErrorCode());
+179       assertEquals(new Integer(100), e.getCode());
+180       assertEquals("Unsupported get request.", e.getMessage());
+181       assertEquals(Type.GraphMethodException, e.getType());
+182     }
+183   }
+184 
+185   @Test
+186   public void testError104()
+187   {
+188     log.info("testError104");
+189 
+190     requestFactory.setBody("{\"error\":{\"message\":\"An access token is required to request this resource.\",\"type\":\"OAuthException\",\"code\":104,\"fbtrace_id\":\"E2Jjkj5++LL\"}}");
+191 
+192     try
+193     {
+194       clientTemplate.getForObject("ANY", SOME.class);
+195       fail("The expected exception was not thrown");
+196     }
+197     catch(AccessTokenRequiredException e)
+198     {
+199       log.debug("{}", e.toString());
+200       assertEquals("invalid_request", e.getOAuth2ErrorCode());
+201       assertEquals(new Integer(104), e.getCode());
+202       assertEquals("An access token is required to request this resource.", e.getMessage());
+203       assertEquals(Type.OAuthException, e.getType());
+204       assertEquals("E2Jjkj5++LL", e.getTraceId());
+205     }
+206   }
+207 
+208   @Test
+209   public void testError613()
+210   {
+211     log.info("testError613");
+212 
+213 
+214     requestFactory.setBody(
+215         "{\n" +
+216         "  \"error\":\n" +
+217         "  {\n" +
+218         "    \"message\": \"(#613) Calls to stream have exceeded the rate of 600 calls per 600 seconds.\",\n" +
+219         "    \"type\": \"OAuthException\",\n" +
+220         "    \"code\": 613\n" +
+221         "  }\n" +
+222         "}");
+223 
+224     try
+225     {
+226       clientTemplate.getForObject("ANY", SOME.class);
+227       fail("The expected exception was not thrown");
+228     }
+229     catch(RateExceededException e)
+230     {
+231       log.debug("{}", e.toString());
+232       assertEquals("invalid_request", e.getOAuth2ErrorCode());
+233       assertEquals(new Integer(613), e.getCode());
+234       assertEquals("(#613) Calls to stream have exceeded the rate of 600 calls per 600 seconds.", e.getMessage());
+235       assertEquals(Type.OAuthException, e.getType());
+236     }
+237   }
+238 
+239   @Test
+240   public void testError2200()
+241   {
+242     requestFactory.setBody("{\"error\":{\"message\":\"(#2200) callback verification failed: \",\"type\":\"OAuthException\",\"code\":2200,\"fbtrace_id\":\"ESLjoZKvPXg\"}}");
+243     
+244     try
+245     {
+246       clientTemplate.getForObject("ANY", SOME.class);
+247       fail("The expected exception was not thrown");
+248     }
+249     catch(CallbackVerificationFailedException e)
+250     {
+251       log.debug("{}", e.toString());
+252       assertEquals("invalid_request", e.getOAuth2ErrorCode());
+253       assertEquals(new Integer(2200), e.getCode());
+254       assertEquals("(#2200) callback verification failed: ", e.getMessage());
+255       assertEquals(Type.OAuthException, e.getType());
+256       assertEquals("ESLjoZKvPXg", e.getTraceId());
+257     }
+258   }
+259 
+260   @Test
+261   public void testUnmappedError()
+262   {
+263     log.info("testUnmappedError");
+264 
+265 
+266     requestFactory.setBody(
+267         "{\n" +
+268         "  \"error\":\n" +
+269         "  {\n" +
+270         "    \"message\": \"This error does not exist.\",\n" +
+271         "    \"type\": \"NonexistentTypeException\",\n" +
+272         "    \"code\": 999999999\n" +
+273         "  }\n" +
+274         "}");
+275 
+276     try
+277     {
+278       clientTemplate.getForObject("ANY", SOME.class);
+279       fail("The expected exception was not thrown");
+280     }
+281     catch(GraphApiException e)
+282     {
+283       log.debug("{}", e.toString());
+284       assertEquals("invalid_request", e.getOAuth2ErrorCode());
+285       assertEquals(new Integer(999999999), e.getCode());
+286       assertEquals("This error does not exist.", e.getMessage());
+287       try
+288       {
+289         Type type = e.getType();
+290         log.error("unknown type: {}", type);
+291         fail("unmapped type was resolved by enum: " + type);
+292       }
+293       catch (IllegalArgumentException ee) {}
+294     }
+295   }
+296 
+297   @Test
+298   public void testUnmappedErrors()
+299   {
+300     log.info("testUnmappedErrors");
+301 
+302 
+303     requestFactory.setBody(
+304         "{\n" +
+305         "  \"error\":\n" +
+306         "  {\n" +
+307         "    \"message\": null,\n" +
+308         "    \"type\": \"WhateverTypeException\",\n" +
+309         "    \"code\": 999999999\n" +
+310         "  }\n" +
+311         "}");
+312 
+313     try
+314     {
+315       clientTemplate.getForObject("ANY", SOME.class);
+316       fail("The expected exception was not thrown");
+317     }
+318     catch(UnmappedErrorException e)
+319     {
+320       log.debug("{}", e.toString());
+321       assertNull(e.getMessage());
+322       try
+323       {
+324         Type type = e.getType();
+325         log.error("unknown type: {}", type);
+326         fail("unmapped type was resolved by enum: " + type);
+327       }
+328       catch (IllegalArgumentException ee) {}
+329       assertEquals(new Integer(999999999), e.getCode());
+330       assertNull(e.getSubCode());
+331       assertNull(e.getUserTitle());
+332       assertNull(e.getUserMessage());
+333       assertNull(e.getTraceId());
+334     }
+335     catch(Exception e)
+336     {
+337       fail("A wrong exception was thrown: " + e.toString());
+338     }
+339 
+340 
+341     requestFactory.setBody(
+342         "{\n" +
+343         "  \"error\":\n" +
+344         "  {\n" +
+345         "    \"type\": \"WhateverTypeException\",\n" +
+346         "    \"code\": 999999999\n" +
+347         "  }\n" +
+348         "}");
+349 
+350     try
+351     {
+352       clientTemplate.getForObject("ANY", SOME.class);
+353       fail("The expected exception was not thrown");
+354     }
+355     catch(UnmappedErrorException e)
+356     {
+357       log.debug("{}", e.toString());
+358       assertNull(e.getMessage());
+359       try
+360       {
+361         Type type = e.getType();
+362         log.error("unknown type: {}", type);
+363         fail("unmapped type was resolved by enum: " + type);
+364       }
+365       catch (IllegalArgumentException ee) {}
+366       assertEquals(new Integer(999999999), e.getCode());
+367       assertNull(e.getSubCode());
+368       assertNull(e.getUserTitle());
+369       assertNull(e.getUserMessage());
+370       assertNull(e.getTraceId());
+371     }
+372     catch(Exception e)
+373     {
+374       fail("A wrong exception was thrown: " + e.toString());
+375     }
+376 
+377 
+378     requestFactory.setBody(
+379         "{\n" +
+380         "  \"error\":\n" +
+381         "  {\n" +
+382         "    \"message\": \"An unmapped Graph-API-Exception.\",\n" +
+383         "    \"type\": null,\n" +
+384         "    \"code\": 999999999\n" +
+385         "  }\n" +
+386         "}");
+387 
+388     try
+389     {
+390       clientTemplate.getForObject("ANY", SOME.class);
+391       fail("The expected exception was not thrown");
+392     }
+393     catch(UnmappedErrorException e)
+394     {
+395       log.debug("{}", e.toString());
+396       assertEquals("An unmapped Graph-API-Exception.", e.getMessage());
+397       assertNull(e.getType());
+398       assertEquals(new Integer(999999999), e.getCode());
+399       assertNull(e.getSubCode());
+400       assertNull(e.getUserTitle());
+401       assertNull(e.getUserMessage());
+402       assertNull(e.getTraceId());
+403     }
+404     catch(Exception e)
+405     {
+406       fail("A wrong exception was thrown: " + e.toString());
+407     }
+408 
+409 
+410     requestFactory.setBody(
+411         "{\n" +
+412         "  \"error\":\n" +
+413         "  {\n" +
+414         "    \"message\": \"An unmapped Graph-API-Exception.\",\n" +
+415         "    \"code\": 999999999\n" +
+416         "  }\n" +
+417         "}");
+418 
+419     try
+420     {
+421       clientTemplate.getForObject("ANY", SOME.class);
+422       fail("The expected exception was not thrown");
+423     }
+424     catch(UnmappedErrorException e)
+425     {
+426       log.debug("{}", e.toString());
+427       assertEquals("An unmapped Graph-API-Exception.", e.getMessage());
+428       assertNull(e.getType());
+429       assertEquals(new Integer(999999999), e.getCode());
+430       assertNull(e.getSubCode());
+431       assertNull(e.getUserTitle());
+432       assertNull(e.getUserMessage());
+433       assertNull(e.getTraceId());
+434     }
+435     catch(Exception e)
+436     {
+437       fail("A wrong exception was thrown: " + e.toString());
+438     }
+439   }
+440 
+441   @Test
+442   public void testInvlalidErrors()
+443   {
+444     log.info("testInvalidErrors");
+445 
+446 
+447     requestFactory.setBody(
+448         "{\n" +
+449         "  \"error\":\n" +
+450         "  {\n" +
+451         "    \"message\": \"Not a Graph-Api-Exception.\",\n" +
+452         "    \"type\": \"Whatever\",\n" +
+453         "    \"code\": \"some string\"\n" +
+454         "  }\n" +
+455         "}");
+456 
+457     try
+458     {
+459       clientTemplate.getForObject("ANY", SOME.class);
+460       fail("The expected exception was not thrown");
+461     }
+462     catch(HttpClientErrorException e)
+463     {
+464       log.debug("{}", e.toString());
+465     }
+466     catch(Exception e)
+467     {
+468       fail("A wrong exception was thrown: " + e.toString());
+469     }
+470 
+471 
+472     requestFactory.setBody(
+473         "{\n" +
+474         "  \"error\":\n" +
+475         "  {\n" +
+476         "    \"message\": \"Not a Graph-Api-Exception.\",\n" +
+477         "    \"type\": \"Whatever\",\n" +
+478         "    \"code\": 9.9\n" +
+479         "  }\n" +
+480         "}");
+481 
+482     try
+483     {
+484       clientTemplate.getForObject("ANY", SOME.class);
+485       fail("The expected exception was not thrown");
+486     }
+487     catch(HttpClientErrorException e)
+488     {
+489       log.debug("{}", e.toString());
+490     }
+491     catch(Exception e)
+492     {
+493       fail("A wrong exception was thrown: " + e.toString());
+494     }
+495 
+496 
+497     requestFactory.setBody(
+498         "{\n" +
+499         "  \"error\":\n" +
+500         "  {\n" +
+501         "    \"message\": \"Not a Graph-Api-Exception.\",\n" +
+502         "    \"type\": \"Whatever\",\n" +
+503         "    \"code\": null\n" +
+504         "  }\n" +
+505         "}");
+506 
+507     try
+508     {
+509       clientTemplate.getForObject("ANY", SOME.class);
+510       fail("The expected exception was not thrown");
+511     }
+512     catch(HttpClientErrorException e)
+513     {
+514       log.debug("{}", e.toString());
+515     }
+516     catch(Exception e)
+517     {
+518       fail("A wrong exception was thrown: " + e.toString());
+519     }
+520 
+521 
+522     requestFactory.setBody(
+523         "{\n" +
+524         "  \"error\":\n" +
+525         "  {\n" +
+526         "    \"message\": \"Not a Graph-Api-Exception.\",\n" +
+527         "    \"type\": \"Whatever\"\n" +
+528         "  }\n" +
+529         "}");
+530 
+531     try
+532     {
+533       clientTemplate.getForObject("ANY", SOME.class);
+534       fail("The expected exception was not thrown");
+535     }
+536     catch(HttpClientErrorException e)
+537     {
+538       log.debug("{}", e.toString());
+539     }
+540     catch(Exception e)
+541     {
+542       fail("A wrong exception was thrown: " + e.toString());
+543     }
+544 
+545 
+546     requestFactory.setBody("{\"error\":{\"message\":null}}");
+547 
+548     try
+549     {
+550       clientTemplate.getForObject("ANY", SOME.class);
+551       fail("The expected exception was not thrown");
+552     }
+553     catch(HttpClientErrorException e)
+554     {
+555       log.debug("{}", e.toString());
+556     }
+557     catch(Exception e)
+558     {
+559       fail("A wrong exception was thrown: " + e.toString());
+560     }
+561 
+562 
+563     requestFactory.setBody("{\"error\":{\"type\":null}}");
+564 
+565     try
+566     {
+567       clientTemplate.getForObject("ANY", SOME.class);
+568       fail("The expected exception was not thrown");
+569     }
+570     catch(HttpClientErrorException e)
+571     {
+572       log.debug("{}", e.toString());
+573     }
+574     catch(Exception e)
+575     {
+576       fail("A wrong exception was thrown: " + e.toString());
+577     }
+578 
+579 
+580     requestFactory.setBody("{\"error\":{\"code\":null}}");
+581 
+582     try
+583     {
+584       clientTemplate.getForObject("ANY", SOME.class);
+585       fail("The expected exception was not thrown");
+586     }
+587     catch(HttpClientErrorException e)
+588     {
+589       log.debug("{}", e.toString());
+590     }
+591     catch(Exception e)
+592     {
+593       fail("A wrong exception was thrown: " + e.toString());
+594     }
+595 
+596 
+597     requestFactory.setBody("{\"error\":{}}");
+598 
+599     try
+600     {
+601       clientTemplate.getForObject("ANY", SOME.class);
+602       fail("The expected exception was not thrown");
+603     }
+604     catch(HttpClientErrorException e)
+605     {
+606       log.debug("{}", e.toString());
+607     }
+608     catch(Exception e)
+609     {
+610       fail("A wrong exception was thrown: " + e.toString());
+611     }
+612 
+613 
+614     requestFactory.setBody("{\"error\":\"some message\"}");
+615 
+616     try
+617     {
+618       clientTemplate.getForObject("ANY", SOME.class);
+619       fail("The expected exception was not thrown");
+620     }
+621     catch(HttpClientErrorException e)
+622     {
+623       log.debug("{}", e.toString());
+624     }
+625     catch(Exception e)
+626     {
+627       fail("A wrong exception was thrown: " + e.toString());
+628     }
+629 
+630 
+631     requestFactory.setBody("{\"error\":null}");
+632 
+633     try
+634     {
+635       clientTemplate.getForObject("ANY", SOME.class);
+636       fail("The expected exception was not thrown");
+637     }
+638     catch(HttpClientErrorException e)
+639     {
+640       log.debug("{}", e.toString());
+641     }
+642     catch(Exception e)
+643     {
+644       fail("A wrong exception was thrown: " + e.toString());
+645     }
+646 
+647 
+648     requestFactory.setBody("{\"some filed\":\"some message\"}");
+649 
+650     try
+651     {
+652       clientTemplate.getForObject("ANY", SOME.class);
+653       fail("The expected exception was not thrown");
+654     }
+655     catch(HttpClientErrorException e)
+656     {
+657       log.debug("{}", e.toString());
+658     }
+659     catch(Exception e)
+660     {
+661       fail("A wrong exception was thrown: " + e.toString());
+662     }
+663 
+664 
+665     requestFactory.setBody("{}");
+666 
+667     try
+668     {
+669       clientTemplate.getForObject("ANY", SOME.class);
+670       fail("The expected exception was not thrown");
+671     }
+672     catch(HttpClientErrorException e)
+673     {
+674       log.debug("{}", e.toString());
+675     }
+676     catch(Exception e)
+677     {
+678       fail("A wrong exception was thrown: " + e.toString());
+679     }
+680 
+681 
+682     requestFactory.setBody("");
+683 
+684     try
+685     {
+686       clientTemplate.getForObject("ANY", SOME.class);
+687       fail("The expected exception was not thrown");
+688     }
+689     catch(HttpClientErrorException e)
+690     {
+691       log.debug("{}", e.toString());
+692     }
+693     catch(Exception e)
+694     {
+695       fail("A wrong exception was thrown: " + e.toString());
+696     }
+697   }
+698 
+699 
+700   @Before
+701   public void setUp()
+702   {
+703     requestFactory = new MockClientHttpRequestFactory();
+704     requestFactory.setStatus(HttpStatus.BAD_REQUEST);
+705     requestFactory.addHeader("Content-Type", "application/json");
+706     clientTemplate.setRequestFactory(requestFactory);
+707 
+708     clientTemplate.setErrorHandler(
+709         new GraphApiErrorHandler(
+710             (OAuth2ErrorHandler)clientTemplate.getErrorHandler()
+711             )
+712         );
+713 
+714     clientTemplate.setAccessTokenProvider(new AccessTokenProvider()
+715     {
+716       @Override
+717       public OAuth2AccessToken obtainAccessToken(
+718           OAuth2ProtectedResourceDetails details,
+719           AccessTokenRequest parameters
+720           )
+721           throws
+722             UserRedirectRequiredException,
+723             UserApprovalRequiredException,
+724             AccessDeniedException
+725       {
+726         return new OAuth2AccessToken() {
+727 
+728           @Override
+729           public Map<String, Object> getAdditionalInformation()
+730           {
+731             throw new UnsupportedOperationException("Not supported yet.");
+732           }
+733 
+734           @Override
+735           public Set<String> getScope()
+736           {
+737             throw new UnsupportedOperationException("Not supported yet.");
+738           }
+739 
+740           @Override
+741           public OAuth2RefreshToken getRefreshToken()
+742           {
+743             throw new UnsupportedOperationException("Not supported yet.");
+744           }
+745 
+746           @Override
+747           public String getTokenType()
+748           {
+749             return OAUTH2_TYPE;
+750           }
+751 
+752           @Override
+753           public boolean isExpired()
+754           {
+755             return false;
+756           }
+757 
+758           @Override
+759           public Date getExpiration()
+760           {
+761             throw new UnsupportedOperationException("Not supported yet.");
+762           }
+763 
+764           @Override
+765           public int getExpiresIn()
+766           {
+767             throw new UnsupportedOperationException("Not supported yet.");
+768           }
+769 
+770           @Override
+771           public String getValue()
+772           {
+773             return "ANY";
+774           }
+775         };
+776       }
+777 
+778       @Override
+779       public boolean supportsResource(OAuth2ProtectedResourceDetails resource)
+780       {
+781         return true;
+782       }
+783 
+784       @Override
+785       public OAuth2AccessToken refreshAccessToken(
+786           OAuth2ProtectedResourceDetails resource,
+787           OAuth2RefreshToken refreshToken,
+788           AccessTokenRequest request
+789           )
+790           throws
+791             UserRedirectRequiredException
+792       {
+793         throw new UnsupportedOperationException("Not supported yet.");
+794       }
+795 
+796       @Override
+797       public boolean supportsRefresh(OAuth2ProtectedResourceDetails resource)
+798       {
+799         return false;
+800       }
+801     });
+802   }
+803 
+804 
+805   static class SOME
+806   {
+807   }
+808 }
+
+
+ + +