/* * Copyright 2002-2011 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.security.oauth2.provider.endpoint; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.InitializingBean; import org.springframework.security.oauth2.provider.OAuth2RequestFactory; import org.springframework.security.oauth2.provider.ClientDetailsService; import org.springframework.security.oauth2.provider.TokenGranter; import org.springframework.security.oauth2.provider.error.DefaultWebResponseExceptionTranslator; import org.springframework.security.oauth2.provider.error.WebResponseExceptionTranslator; import org.springframework.security.oauth2.provider.request.DefaultOAuth2RequestFactory; import org.springframework.util.Assert; /** * @author Dave Syer * */ public class AbstractEndpoint implements InitializingBean { protected final Log logger = LogFactory.getLog(getClass()); private WebResponseExceptionTranslator providerExceptionHandler = new DefaultWebResponseExceptionTranslator(); private TokenGranter tokenGranter; private ClientDetailsService clientDetailsService; private OAuth2RequestFactory oAuth2RequestFactory; private OAuth2RequestFactory defaultOAuth2RequestFactory; public void afterPropertiesSet() throws Exception { Assert.state(tokenGranter != null, "TokenGranter must be provided"); Assert.state(clientDetailsService != null, "ClientDetailsService must be provided"); defaultOAuth2RequestFactory = new DefaultOAuth2RequestFactory(getClientDetailsService()); if (oAuth2RequestFactory == null) { oAuth2RequestFactory = defaultOAuth2RequestFactory; } } public void setProviderExceptionHandler(WebResponseExceptionTranslator providerExceptionHandler) { this.providerExceptionHandler = providerExceptionHandler; } public void setTokenGranter(TokenGranter tokenGranter) { this.tokenGranter = tokenGranter; } protected TokenGranter getTokenGranter() { return tokenGranter; } protected WebResponseExceptionTranslator getExceptionTranslator() { return providerExceptionHandler; } protected OAuth2RequestFactory getOAuth2RequestFactory() { return oAuth2RequestFactory; } protected OAuth2RequestFactory getDefaultOAuth2RequestFactory() { return defaultOAuth2RequestFactory; } public void setOAuth2RequestFactory(OAuth2RequestFactory oAuth2RequestFactory) { this.oAuth2RequestFactory = oAuth2RequestFactory; } protected ClientDetailsService getClientDetailsService() { return clientDetailsService; } public void setClientDetailsService(ClientDetailsService clientDetailsService) { this.clientDetailsService = clientDetailsService; } }