예제 #1
0
  @Inject
  public ConsoleConfigHandlerImpl(
      DNWrapper dnUtils, PrivilegedAction<SSOToken> ssoTokenPrivilegedAction) {
    this.dnUtils = dnUtils;
    changeListeners = new CopyOnWriteArrayList<>();

    try {
      configManager =
          new ServiceConfigManager(ssoTokenPrivilegedAction.run(), SERVICE_NAME, SERVICE_VERSION);
      configManager.addListener(new ConfigChangeHandler());
    } catch (SMSException | SSOException e) {
      throw new ConfigRetrievalException("Unable to retrieve the config manager", e);
    }
  }
 private synchronized void registerListeners() {
   if (!hasRegisteredListeners) {
     SSOToken adminToken = AccessController.doPrivileged(AdminTokenAction.getInstance());
     for (String serviceName : migratedServiceNames) {
       try {
         ServiceConfigManager scm = new ServiceConfigManager(serviceName, adminToken);
         scm.addListener(this);
       } catch (SSOException | SMSException ex) {
         Debug.getInstance(SetupConstants.DEBUG_NAME)
             .error("ConfigurationObserver.registeringListeners", ex);
       }
     }
     hasRegisteredListeners = true;
   }
 }
예제 #3
0
  private static void registerListener() {
    SSOToken adminToken = (SSOToken) AccessController.doPrivileged(AdminTokenAction.getInstance());

    EntitlementConfiguration ec =
        EntitlementConfiguration.getInstance(SubjectUtils.createSubject(adminToken), "/");
    if (ec.migratedToEntitlementService()) {
      try {
        ServiceConfigManager scm = new ServiceConfigManager(IdConstants.REPO_SERVICE, adminToken);
        scm.addListener(new SubRealmObserver());
      } catch (SMSException e) {
        PrivilegeManager.debug.error("SubRealmObserver.registerListener", e);
      } catch (SSOException e) {
        PrivilegeManager.debug.error("SubRealmObserver.registerListener", e);
      }
    }
  }
 private void addServiceListener() {
   try {
     final SSOToken token = AccessController.doPrivileged(AdminTokenAction.getInstance());
     final ServiceConfigManager serviceConfigManager =
         new ServiceConfigManager(
             token, OAuth2ProviderService.NAME, OAuth2ProviderService.VERSION);
     if (serviceConfigManager.addListener(new OAuth2ProviderSettingsChangeListener()) == null) {
       logger.error(
           "Could not add listener to ServiceConfigManager instance. OAuth2 provider service "
               + "changes will not be dynamically updated for realm "
               + realm);
     }
   } catch (Exception e) {
     String message = "OAuth2Utils::Unable to construct ServiceConfigManager: " + e;
     logger.error(message, e);
     throw OAuthProblemException.OAuthError.SERVER_ERROR.handle(null, message);
   }
 }