@Override public String registerConfigProvider(String className, @SuppressWarnings("rawtypes") Map properties, String layer, String appContext, String description) { String registrationID = doRegisterConfigProvider(className, properties, layer, appContext, description); savePersistentRegistrations(); return registrationID; }
@Override public String[] detachListener(RegistrationListener listener, String layer, String appContext) { String registrationID = getRegistrationID(layer, appContext); RegistrationContextImpl registrationContext = findRegistrationContextImpl(layer, appContext); if (registrationContext != null && registrationContext.removeListener(listener)) { return new String[] { registrationID }; } return EMPTY_STRING_ARRAY; }
@Override public void refresh() { loadPersistentRegistrations(); }
@SuppressWarnings("unchecked") private String doRegisterConfigProvider(String className, @SuppressWarnings("rawtypes") Map properties, String layer, String appContext, String description) { if (log.isDebugEnabled()) { log.debug(sm.getString("authConfigFactoryImpl.registerClass", className, layer, appContext)); } AuthConfigProvider provider = null; if (className != null) { provider = createAuthConfigProvider(className, properties); } String registrationID = getRegistrationID(layer, appContext); RegistrationContextImpl registrationContextImpl = new RegistrationContextImpl( layer, appContext, description, true, provider, properties); addRegistrationContextImpl(layer, appContext, registrationID, registrationContextImpl); return registrationID; }
@Override public String registerConfigProvider(AuthConfigProvider provider, String layer, String appContext, String description) { if (log.isDebugEnabled()) { log.debug(sm.getString("authConfigFactoryImpl.registerInstance", provider.getClass().getName(), layer, appContext)); } String registrationID = getRegistrationID(layer, appContext); RegistrationContextImpl registrationContextImpl = new RegistrationContextImpl( layer, appContext, description, false, provider, null); addRegistrationContextImpl(layer, appContext, registrationID, registrationContextImpl); return registrationID; }
private RegistrationContextImpl findRegistrationContextImpl(String layer, String appContext) { RegistrationContextImpl result; result = layerAppContextRegistrations.get(getRegistrationID(layer, appContext)); if (result == null) { result = appContextRegistrations.get(getRegistrationID(null, appContext)); } if (result == null) { result = layerRegistrations.get(getRegistrationID(layer, null)); } if (result == null) { result = defaultRegistration.get(DEFAULT_REGISTRATION_ID); } return result; }
private void savePersistentProviders(Providers providers, Map<String,RegistrationContextImpl> registrations) { for (Entry<String,RegistrationContextImpl> entry : registrations.entrySet()) { savePersistentProvider(providers, entry.getValue()); } }
private void savePersistentRegistrations() { synchronized (CONFIG_FILE_LOCK) { Providers providers = new Providers(); savePersistentProviders(providers, layerAppContextRegistrations); savePersistentProviders(providers, appContextRegistrations); savePersistentProviders(providers, layerRegistrations); savePersistentProviders(providers, defaultRegistration); PersistentProviderRegistrations.writeProviders(providers, CONFIG_FILE); } }
@Override public AuthConfigProvider getConfigProvider(String layer, String appContext, RegistrationListener listener) { RegistrationContextImpl registrationContext = findRegistrationContextImpl(layer, appContext); if (registrationContext != null) { if (listener != null) { RegistrationListenerWrapper wrapper = new RegistrationListenerWrapper( layer, appContext, listener); registrationContext.addListener(wrapper); } return registrationContext.getProvider(); } return null; }
private void loadPersistentRegistrations() { synchronized (CONFIG_FILE_LOCK) { if (log.isDebugEnabled()) { log.debug(sm.getString("authConfigFactoryImpl.load", CONFIG_FILE.getAbsolutePath())); } if (!CONFIG_FILE.isFile()) { return; } Providers providers = PersistentProviderRegistrations.loadProviders(CONFIG_FILE); for (Provider provider : providers.getProviders()) { doRegisterConfigProvider(provider.getClassName(), provider.getProperties(), provider.getLayer(), provider.getAppContext(), provider.getDescription()); } } }
@Override public String[] getRegistrationIDs(AuthConfigProvider provider) { List<String> result = new ArrayList<>(); if (provider == null) { result.addAll(layerAppContextRegistrations.keySet()); result.addAll(appContextRegistrations.keySet()); result.addAll(layerRegistrations.keySet()); if (!defaultRegistration.isEmpty()) { result.add(DEFAULT_REGISTRATION_ID); } } else { findProvider(provider, layerAppContextRegistrations, result); findProvider(provider, appContextRegistrations, result); findProvider(provider, layerRegistrations, result); findProvider(provider, defaultRegistration, result); } return result.toArray(EMPTY_STRING_ARRAY); }
@Override public boolean removeRegistration(String registrationID) { RegistrationContextImpl registration = null; if (DEFAULT_REGISTRATION_ID.equals(registrationID)) { registration = defaultRegistration.remove(registrationID); } if (registration == null) { registration = layerAppContextRegistrations.remove(registrationID); } if (registration == null) { registration = appContextRegistrations.remove(registrationID); } if (registration == null) { registration = layerRegistrations.remove(registrationID); } if (registration == null) { return false; } else { for (RegistrationListenerWrapper wrapper : registration.listeners) { wrapper.getListener().notify(wrapper.getMessageLayer(), wrapper.getAppContext()); } if (registration.isPersistent()) { savePersistentRegistrations(); } return true; } }
@SuppressWarnings("unchecked") private String doRegisterConfigProvider(String className, @SuppressWarnings("rawtypes") Map properties, String layer, String appContext, String description) { if (log.isDebugEnabled()) { log.debug(sm.getString("authConfigFactoryImpl.registerClass", className, layer, appContext)); } AuthConfigProvider provider = null; if (className != null) { provider = createAuthConfigProvider(className, properties); } String registrationID = getRegistrationID(layer, appContext); RegistrationContextImpl registrationContextImpl = new RegistrationContextImpl( layer, appContext, description, true, provider, properties); addRegistrationContextImpl(layer, appContext, registrationID, registrationContextImpl); return registrationID; }
@Override public String registerConfigProvider(AuthConfigProvider provider, String layer, String appContext, String description) { if (log.isDebugEnabled()) { log.debug(sm.getString("authConfigFactoryImpl.registerInstance", provider.getClass().getName(), layer, appContext)); } String registrationID = getRegistrationID(layer, appContext); RegistrationContextImpl registrationContextImpl = new RegistrationContextImpl( layer, appContext, description, false, provider, null); addRegistrationContextImpl(layer, appContext, registrationID, registrationContextImpl); return registrationID; }
private RegistrationContextImpl findRegistrationContextImpl(String layer, String appContext) { RegistrationContextImpl result; result = layerAppContextRegistrations.get(getRegistrationID(layer, appContext)); if (result == null) { result = appContextRegistrations.get(getRegistrationID(null, appContext)); } if (result == null) { result = layerRegistrations.get(getRegistrationID(layer, null)); } if (result == null) { result = defaultRegistration.get(DEFAULT_REGISTRATION_ID); } return result; }
private void savePersistentProviders(Providers providers, Map<String,RegistrationContextImpl> registrations) { for (Entry<String,RegistrationContextImpl> entry : registrations.entrySet()) { savePersistentProvider(providers, entry.getValue()); } }
private void savePersistentRegistrations() { synchronized (CONFIG_FILE_LOCK) { Providers providers = new Providers(); savePersistentProviders(providers, layerAppContextRegistrations); savePersistentProviders(providers, appContextRegistrations); savePersistentProviders(providers, layerRegistrations); savePersistentProviders(providers, defaultRegistration); PersistentProviderRegistrations.writeProviders(providers, CONFIG_FILE); } }
@Override public AuthConfigProvider getConfigProvider(String layer, String appContext, RegistrationListener listener) { RegistrationContextImpl registrationContext = findRegistrationContextImpl(layer, appContext); if (registrationContext != null) { if (listener != null) { RegistrationListenerWrapper wrapper = new RegistrationListenerWrapper( layer, appContext, listener); registrationContext.addListener(wrapper); } return registrationContext.getProvider(); } return null; }
private void loadPersistentRegistrations() { synchronized (CONFIG_FILE_LOCK) { if (log.isDebugEnabled()) { log.debug(sm.getString("authConfigFactoryImpl.load", CONFIG_FILE.getAbsolutePath())); } if (!CONFIG_FILE.isFile()) { return; } Providers providers = PersistentProviderRegistrations.loadProviders(CONFIG_FILE); for (Provider provider : providers.getProviders()) { doRegisterConfigProvider(provider.getClassName(), provider.getProperties(), provider.getLayer(), provider.getAppContext(), provider.getDescription()); } } }
@Override public String[] getRegistrationIDs(AuthConfigProvider provider) { List<String> result = new ArrayList<>(); if (provider == null) { result.addAll(layerAppContextRegistrations.keySet()); result.addAll(appContextRegistrations.keySet()); result.addAll(layerRegistrations.keySet()); if (!defaultRegistration.isEmpty()) { result.add(DEFAULT_REGISTRATION_ID); } } else { findProvider(provider, layerAppContextRegistrations, result); findProvider(provider, appContextRegistrations, result); findProvider(provider, layerRegistrations, result); findProvider(provider, defaultRegistration, result); } return result.toArray(EMPTY_STRING_ARRAY); }