/* * Copyright (c) 2014, 2015 Hewlett-Packard Development Company, L.P. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.aaa.sts; import java.util.List; import java.util.Vector; import org.opendaylight.aaa.api.AuthenticationService; import org.opendaylight.aaa.api.ClientService; import org.opendaylight.aaa.api.CredentialAuth; import org.opendaylight.aaa.api.IdMService; import org.opendaylight.aaa.api.PasswordCredentials; import org.opendaylight.aaa.api.TokenAuth; import org.opendaylight.aaa.api.TokenStore; /** * A service locator to bridge between the web world and OSGi world. * * @author liemmn * */ public class ServiceLocator { private static final ServiceLocator instance = new ServiceLocator(); protected volatile List tokenAuthCollection = new Vector<>(); protected volatile CredentialAuth credentialAuth; protected volatile TokenStore tokenStore; protected volatile AuthenticationService authenticationService; protected volatile IdMService idmService; protected volatile ClientService clientService; private ServiceLocator() { } public static ServiceLocator getInstance() { return instance; } /** * Called through reflection by the sts activator. * * @see org.opendaylight.aaa.sts.Activator * @param ta */ protected void tokenAuthAdded(TokenAuth ta) { this.tokenAuthCollection.add(ta); } /** * Called through reflection by the sts activator. * * @see org.opendaylight.aaa.sts.Activator * @param ta */ protected void tokenAuthRemoved(TokenAuth ta) { this.tokenAuthCollection.remove(ta); } protected void tokenStoreAdded(TokenStore ts) { this.tokenStore = ts; } protected void tokenStoreRemoved(TokenStore ts) { this.tokenStore = null; } protected void authenticationServiceAdded(AuthenticationService as) { this.authenticationService = as; } protected void authenticationServiceRemoved(AuthenticationService as) { this.authenticationService = null; } protected void credentialAuthAdded(CredentialAuth da) { this.credentialAuth = da; } protected void credentialAuthAddedRemoved(CredentialAuth da) { this.credentialAuth = null; } public List getTokenAuthCollection() { return tokenAuthCollection; } public void setTokenAuthCollection(List tokenAuthCollection) { this.tokenAuthCollection = tokenAuthCollection; } public CredentialAuth getCredentialAuth() { return credentialAuth; } public synchronized void setCredentialAuth(CredentialAuth credentialAuth) { this.credentialAuth = credentialAuth; } public TokenStore getTokenStore() { return tokenStore; } public void setTokenStore(TokenStore tokenStore) { this.tokenStore = tokenStore; } public AuthenticationService getAuthenticationService() { return authenticationService; } public void setAuthenticationService(AuthenticationService authenticationService) { this.authenticationService = authenticationService; } public IdMService getIdmService() { return idmService; } public void setIdmService(IdMService idmService) { this.idmService = idmService; } public ClientService getClientService() { return clientService; } public void setClientService(ClientService clientService) { this.clientService = clientService; } }