/** * Copyright (C) 2011 Talend Inc. - www.talend.com */ package server; import java.util.HashSet; import java.util.Set; import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; import oauth2.manager.OAuthManager; import oauth2.manager.ThirdPartyAccessService; import oauth2.service.SecurityContextFilter; import oauth2.service.SocialService; import oauth2.service.UserAccounts; import oauth2.service.UserRegistrationService; import org.apache.cxf.rs.security.oauth2.services.AuthorizationCodeGrantService; /* * Class that can be used (instead of XML-based configuration) to inform the JAX-RS * runtime about the resources and providers it is supposed to deploy. See the * ApplicationServer class for more information. */ @ApplicationPath("/social") public class SocialApplication extends Application { private OAuthManager manager; private UserAccounts accounts; public void setAccounts(UserAccounts accounts) { this.accounts = accounts; } @Override public Set<Object> getSingletons() { Set<Object> classes = new HashSet<Object>(); SocialService socialService = new SocialService(); socialService.setAccounts(accounts); UserRegistrationService userRegService = new UserRegistrationService(); userRegService.setAccounts(accounts); SecurityContextFilter scFilter = new SecurityContextFilter(); scFilter.setAccounts(accounts); ThirdPartyAccessService thirdPartyAccessService = new ThirdPartyAccessService(); thirdPartyAccessService.setAccounts(accounts); AuthorizationCodeGrantService authService = new AuthorizationCodeGrantService(); authService.setDataProvider(manager); classes.add(socialService); classes.add(userRegService); classes.add(scFilter); classes.add(authService); classes.add(thirdPartyAccessService); return classes; } public void setOAuthManager(OAuthManager manager) { this.manager = manager; } }