Example #1
0
  private ServiceConfig getSocialAuthenticationServiceConfig(final String realm)
      throws SSOException, SMSException {

    ServiceConfig realmSocialAuthServiceConfig = realmSocialAuthServiceConfigMap.get(realm);
    if (realmSocialAuthServiceConfig == null || !realmSocialAuthServiceConfig.isValid()) {
      synchronized (realmSocialAuthServiceConfigMap) {
        realmSocialAuthServiceConfig = realmSocialAuthServiceConfigMap.get(realm);
        if (realmSocialAuthServiceConfig == null || !realmSocialAuthServiceConfig.isValid()) {
          SSOToken token = AccessController.doPrivileged(AdminTokenAction.getInstance());
          ServiceConfigManager mgr =
              new ServiceConfigManager(SocialAuthenticationImplementation.SERVICE_NAME, token);
          realmSocialAuthServiceConfig = mgr.getOrganizationConfig(realm, null);
          realmSocialAuthServiceConfigMap.put(realm, realmSocialAuthServiceConfig);
        }
      }
    }

    return realmSocialAuthServiceConfig;
  }