1 package de.juplo.facebook.errors;
4 import org.slf4j.Logger;
5 import org.slf4j.LoggerFactory;
6 import org.springframework.beans.BeansException;
7 import org.springframework.beans.factory.config.BeanPostProcessor;
8 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
9 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
10 import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
11 import org.springframework.context.annotation.Bean;
12 import org.springframework.context.annotation.Configuration;
16 * Automatic configuration for Srping-Security-OAuth2
21 @ConditionalOnClass(value = OAuth2RestTemplate.class)
23 WebMvcAutoConfiguration.class,
24 OAuth2AutoConfiguration.class
26 public class FacebookErrorsOAuth2AutoConfiguration
28 private static final Logger LOG =
29 LoggerFactory.getLogger(FacebookErrorsOAuth2AutoConfiguration.class);
32 static public BeanPostProcessor errorHandlerInjectorOAuth2()
34 LOG.info("Configuring OAuth2GraphApiErrorHandler for handling error-messages");
36 return new BeanPostProcessor()
39 public Object postProcessBeforeInitialization(
46 if (bean instanceof OAuth2RestTemplate)
48 LOG.debug("Injecting OAuth2GraphApiErrorHandler in {}", bean);
49 OAuth2RestTemplate template = (OAuth2RestTemplate) bean;
50 template.setErrorHandler(
51 new OAuth2GraphApiErrorHandler(
52 (OAuth2ErrorHandler)template.getErrorHandler()
61 public Object postProcessAfterInitialization(