public static void initializeProperties(Properties properties,boolean reset,boolean withDefaults){
  Properties defaultProp=null;
  if (withDefaults) {
    SSOToken appToken=AccessController.doPrivileged(AdminTokenAction.getInstance());
    defaultProp=ServerConfiguration.getDefaults(appToken);
  }
  PropertiesHolder oldProps;
  PropertiesHolder newProps;
  do {
    oldProps=propertiesHolderRef.get();
    final Properties combined=new Properties();
    if (defaultProp != null) {
      combined.putAll(defaultProp);
    }
    if (!reset) {
      combined.putAll(oldProps.properties);
    }
    combined.putAll(properties);
    newProps=new PropertiesHolder(Maps.fromProperties(combined));
  }
 while (!propertiesHolderRef.compareAndSet(oldProps,newProps));
}

public static void initializeProperties ( Properties properties , boolean reset , boolean withDefaults ) { Properties defaultProp = null ; if ( withDefaults ) { SSOToken appToken = AccessController . doPrivileged ( AdminTokenAction . getInstance ( ) ) ; defaultProp = ServerConfiguration . getDefaults ( appToken ) ; } PropertiesHolder oldProps ; PropertiesHolder newProps ; do { oldProps = propertiesHolderRef . get ( ) ; final Properties combined = new Properties ( ) ; if ( defaultProp != null ) { combined . putAll ( defaultProp ) ; } if ( ! reset ) { combined . putAll ( oldProps . properties ) ; } combined . putAll ( properties ) ; newProps = new PropertiesHolder ( Maps . fromProperties ( combined ) ) ; } while ( ! propertiesHolderRef . compareAndSet ( oldProps , newProps ) ) ; }
initializes the properties to be used by openam . ideally this must be called first before any other method is called within openam . this method provides a programmatic way to set the properties , and will override similar properties if loaded for a properties file .
