Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/internal/security/auth/ConfigurationFederator.java')
-rw-r--r--bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/internal/security/auth/ConfigurationFederator.java93
1 files changed, 0 insertions, 93 deletions
diff --git a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/internal/security/auth/ConfigurationFederator.java b/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/internal/security/auth/ConfigurationFederator.java
deleted file mode 100644
index fb2a52507..000000000
--- a/bundles/org.eclipse.equinox.security/src/org/eclipse/equinox/internal/security/auth/ConfigurationFederator.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation 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
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.internal.security.auth;
-
-import java.util.Hashtable;
-import javax.security.auth.login.AppConfigurationEntry;
-import javax.security.auth.login.Configuration;
-import org.eclipse.equinox.internal.security.auth.nls.SecAuthMessages;
-import org.eclipse.osgi.util.NLS;
-
-public class ConfigurationFederator extends Configuration {
-
- // TODO this usage needs to be changed. We should retrieve federatedConfigs
- // from the "ConfigurationFactory" every time we are asked; the "ConfigurationFactory"
- // shoudl keep a cache that corresponds to what's in the registry and update it on registry
- // events
- private Configuration[] federatedConfigs = null;
-
- private Hashtable configCache = new Hashtable(5);
- private Hashtable configToProviderMap = new Hashtable(5);
-
- final private Configuration defaultConfiguration;
-
- public ConfigurationFederator(Configuration defaultConfiguration) {
- this.defaultConfiguration = defaultConfiguration;
- }
-
- public synchronized AppConfigurationEntry[] getAppConfigurationEntry(String name) {
- AppConfigurationEntry[] returnValue = (AppConfigurationEntry[]) configCache.get(name);
- if (returnValue != null)
- return returnValue;
-
- // Note: adding default config provider last; extension-point based configs are queried first
- Configuration[] configs = getFederatedConfigs();
- Configuration[] allConfigs = configs;
- if (defaultConfiguration != null) {
- allConfigs = new Configuration[configs.length + 1];
- System.arraycopy(configs, 0, allConfigs, 0, configs.length);
- allConfigs[configs.length] = defaultConfiguration;
- }
- for (int i = 0; i < allConfigs.length; i++) {
- boolean found = false;
- AppConfigurationEntry[] config = allConfigs[i].getAppConfigurationEntry(name);
- if (config == null)
- continue;
- String cachedProviderName = (String) configToProviderMap.get(name);
- if (cachedProviderName != null && !cachedProviderName.equals(allConfigs[i].getClass().getName())) {
- String message = NLS.bind(SecAuthMessages.duplicateJaasConfig1, name, cachedProviderName);
- AuthPlugin.getDefault().logError(message, null);
- } else {
- if (found) {
- String message = NLS.bind(SecAuthMessages.duplicateJaasConfig2, name, cachedProviderName);
- AuthPlugin.getDefault().logError(message, null);
- } else if ((config != null) && (config.length != 0)) {
- returnValue = config;
- configToProviderMap.put(name, allConfigs[i].getClass().getName());
- configCache.put(name, returnValue);
- found = true;
- }
- }
- }
-
- if (returnValue == null || returnValue.length == 0) {
- String message = NLS.bind(SecAuthMessages.nonExistantJaasConfig, name);
- AuthPlugin.getDefault().logError(message, null);
- }
- return returnValue;
- }
-
- public synchronized void refresh() {
- for (int i = 0; i < federatedConfigs.length; i++)
- federatedConfigs[i].refresh();
- if (defaultConfiguration != null)
- defaultConfiguration.refresh();
-
- configCache.clear();
- configToProviderMap.clear();
- }
-
- private Configuration[] getFederatedConfigs() {
- if (federatedConfigs == null)
- federatedConfigs = ConfigurationFactory.getInstance().getConfigurations();
- return federatedConfigs;
- }
-}

Back to the top