gluu
クラス | 公開メンバ関数 | 静的公開変数類 | 限定公開メンバ関数 | 静的関数 | 変数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.config.ConfigurationFactory クラス
org.gluu.oxtrust.config.ConfigurationFactory 連携図
Collaboration graph

クラス

class  PersistenceConfiguration
 

公開メンバ関数

void init ()
 
void create ()
 
void initTimer ()
 
void reloadConfigurationTimerEvent (@Observes @Scheduled ConfigurationEvent configurationEvent)
 
String confDir ()
 
PersistenceConfiguration getPersistenceConfiguration ()
 
FileConfiguration getLdapCentralConfiguration ()
 
AppConfiguration getAppConfiguration ()
 
CacheRefreshConfiguration getCacheRefreshConfiguration ()
 
ImportPersonConfig getImportPersonConfig ()
 
AttributeResolverConfiguration getAttributeResolverConfiguration ()
 
String getCryptoConfigurationSalt ()
 
String getConfigurationDn ()
 
void loadCryptoConfigurationSalt ()
 
void destroy (Class<? extends Configuration > clazz)
 
LdapOxTrustConfiguration loadConfigurationFromLdap (String... returnAttributes)
 
String getIDPTemplatesLocation ()
 

静的公開変数類

static final String PERSISTENCE_CONFIGUARION_RELOAD_EVENT_TYPE = "persistenceConfigurationReloadEvent"
 
static final String PERSISTENCE_CENTRAL_CONFIGUARION_RELOAD_EVENT_TYPE = "persistenceCentralConfigurationReloadEvent"
 
static final String BASE_DIR
 
static final String DIR = BASE_DIR + File.separator + "conf" + File.separator
 
static final String LDAP_PROPERTIES_FILE = DIR + "oxtrust-ldap.properties"
 
static final String LDAP_DEFAULT_PROPERTIES_FILE = DIR + "ox-ldap.properties"
 
static final String LDAP_CENTRAL_PROPERTIES_FILE = DIR + "oxtrust-central-ldap.properties"
 
static final String APPLICATION_CONFIGURATION = "oxtrust-config.json"
 
static final String CACHE_PROPERTIES_FILE = "oxTrustCacheRefresh.properties"
 
static final String LOG_ROTATION_CONFIGURATION = "oxTrustLogRotationConfiguration.xml"
 
static final String SALT_FILE_NAME = "salt"
 

限定公開メンバ関数

PersistenceConfiguration loadPersistenceConfiguration ()
 

静的関数

 [static initializer]
 

変数

String configFilePath
 
String cacheRefreshFilePath
 
String logRotationFilePath
 
String saltFilePath
 

非公開メンバ関数

void reloadConfiguration ()
 
boolean createFromFile ()
 
boolean reloadAppConfFromFile ()
 
AppConfiguration loadAppConfFromFile ()
 
void loadLdapCentralConfiguration ()
 
FileConfiguration createFileConfiguration (String fileName, boolean isMandatory)
 
boolean createFromLdap (boolean recoverFromFiles)
 
void init (LdapOxTrustConfiguration conf)
 
PersistenceConfiguration loadLdapConfiguration (String ldapFileName)
 
PersistenceConfiguration loadPersistenceConfiguration (String gluuFileName)
 
void replaceWithSystemValues (FileConfiguration fileConfiguration)
 
String determineGluuConfigurationFileName ()
 
String determineLdapConfigurationFileName ()
 

非公開変数類

Logger log
 
JsonService jsonService
 
Event< TimerEvent > timerEvent
 
Event< AppConfiguration > configurationUpdateEvent
 
Event< String > event
 
Instance< PersistenceEntryManager > persistenceEntryManagerInstance
 
Instance< PersistenceEntryManagerFactory > persistenceEntryManagerFactoryInstance
 
Instance< Configuration > configurationInstance
 
String confDir
 
boolean loaded = false
 
PersistenceConfiguration persistenceConfiguration
 
FileConfiguration ldapCentralConfiguration
 
AppConfiguration appConfiguration
 
CacheRefreshConfiguration cacheRefreshConfiguration
 
ImportPersonConfig importPersonConfig
 
AttributeResolverConfiguration attributeResolverConfiguration
 
String cryptoConfigurationSalt
 
AtomicBoolean isActive
 
long ldapCentralFileLastModifiedTime = -1
 
long loadedRevision = -1
 
boolean loadedFromLdap = true
 

静的非公開変数類

static final int DEFAULT_INTERVAL = 30
 
static final String GLUU_FILE_PATH = DIR + "gluu.properties"
 

詳解

著者
Yuriy Movchan
バージョン
0.1, 05/15/2013

関数詳解

◆ [static initializer]()

org.gluu.oxtrust.config.ConfigurationFactory.[static initializer] ( )
inlinestaticpackage

◆ confDir()

String org.gluu.oxtrust.config.ConfigurationFactory.confDir ( )
inline
256  {
257  final String confDir = this.persistenceConfiguration.getConfiguration().getString("confDir", null);
258  if (StringUtils.isNotBlank(confDir)) {
259  return confDir;
260  }
261 
262  return DIR;
263  }
final FileConfiguration getConfiguration()
Definition: ConfigurationFactory.java:569
PersistenceConfiguration persistenceConfiguration
Definition: ConfigurationFactory.java:119
static final String DIR
Definition: ConfigurationFactory.java:103
String confDir()
Definition: ConfigurationFactory.java:256

◆ create()

void org.gluu.oxtrust.config.ConfigurationFactory.create ( )
inline
173  {
174  if (!createFromLdap(true)) {
175  log.error("Failed to load configuration from LDAP. Please fix it!!!.");
176  throw new ConfigurationException("Failed to load configuration from LDAP.");
177  } else {
178  log.info("Configuration loaded successfully.");
179  }
180  }
Logger log
Definition: ConfigurationFactory.java:58
boolean createFromLdap(boolean recoverFromFiles)
Definition: ConfigurationFactory.java:377

◆ createFileConfiguration()

FileConfiguration org.gluu.oxtrust.config.ConfigurationFactory.createFileConfiguration ( String  fileName,
boolean  isMandatory 
)
inlineprivate
358  {
359  try {
360  FileConfiguration fileConfiguration = new FileConfiguration(fileName);
361  if (fileConfiguration.isLoaded()) {
362  log.debug("########## fileName = " + fileConfiguration.getFileName());
363  log.debug("########## oxtrust_ConfigurationEntryDN = "
364  + fileConfiguration.getString("oxtrust_ConfigurationEntryDN"));
365  return fileConfiguration;
366  }
367  } catch (Exception ex) {
368  if (isMandatory) {
369  log.error("Failed to load configuration from {}", fileName, ex);
370  throw new ConfigurationException("Failed to load configuration from " + fileName, ex);
371  }
372  }
373 
374  return null;
375  }
Logger log
Definition: ConfigurationFactory.java:58

◆ createFromFile()

boolean org.gluu.oxtrust.config.ConfigurationFactory.createFromFile ( )
inlineprivate
306  {
307  boolean result = reloadAppConfFromFile();
308 
309  return result;
310  }
boolean reloadAppConfFromFile()
Definition: ConfigurationFactory.java:312

◆ createFromLdap()

boolean org.gluu.oxtrust.config.ConfigurationFactory.createFromLdap ( boolean  recoverFromFiles)
inlineprivate
377  {
378  log.info("Loading configuration from LDAP...");
379  try {
380  final LdapOxTrustConfiguration conf = loadConfigurationFromLdap();
381  if (conf != null) {
382  init(conf);
383 
384  // Destroy old configuration
385  if (this.loaded) {
386  destroy(AppConfiguration.class);
387  destroy(CacheRefreshConfiguration.class);
388  destroy(ImportPersonConfig.class);
389  destroy(AttributeResolverConfiguration.class);
390  }
391 
392  this.loaded = true;
393  configurationUpdateEvent.select(ConfigurationUpdate.Literal.INSTANCE).fire(this.appConfiguration);
394 
395  return true;
396  }
397  } catch (Exception ex) {
398  log.error(ex.getMessage(), ex);
399  }
400 
401  if (recoverFromFiles) {
402  log.warn("Unable to find configuration in LDAP, try to load configuration from file system... ");
403  if (createFromFile()) {
404  this.loadedFromLdap = false;
405  return true;
406  }
407  }
408 
409  return false;
410  }
boolean createFromFile()
Definition: ConfigurationFactory.java:306
boolean loaded
Definition: ConfigurationFactory.java:117
boolean loadedFromLdap
Definition: ConfigurationFactory.java:133
AppConfiguration appConfiguration
Definition: ConfigurationFactory.java:122
Event< AppConfiguration > configurationUpdateEvent
Definition: ConfigurationFactory.java:67
void init()
Definition: ConfigurationFactory.java:136
void destroy(Class<? extends Configuration > clazz)
Definition: ConfigurationFactory.java:412
LdapOxTrustConfiguration loadConfigurationFromLdap(String... returnAttributes)
Definition: ConfigurationFactory.java:417
Logger log
Definition: ConfigurationFactory.java:58

◆ destroy()

void org.gluu.oxtrust.config.ConfigurationFactory.destroy ( Class<? extends Configuration >  clazz)
inline
412  {
413  Instance<? extends Configuration> confInstance = configurationInstance.select(clazz);
414  configurationInstance.destroy(confInstance.get());
415  }
Instance< Configuration > configurationInstance
Definition: ConfigurationFactory.java:80

◆ determineGluuConfigurationFileName()

String org.gluu.oxtrust.config.ConfigurationFactory.determineGluuConfigurationFileName ( )
inlineprivate
524  {
525  File ldapFile = new File(GLUU_FILE_PATH);
526  if (ldapFile.exists()) {
527  return GLUU_FILE_PATH;
528  }
529 
530  return null;
531  }
static final String GLUU_FILE_PATH
Definition: ConfigurationFactory.java:105

◆ determineLdapConfigurationFileName()

String org.gluu.oxtrust.config.ConfigurationFactory.determineLdapConfigurationFileName ( )
inlineprivate
533  {
534  File ldapFile = new File(LDAP_PROPERTIES_FILE);
535  if (ldapFile.exists()) {
536  return LDAP_PROPERTIES_FILE;
537  }
538 
540  }
static final String LDAP_PROPERTIES_FILE
Definition: ConfigurationFactory.java:106
static final String LDAP_DEFAULT_PROPERTIES_FILE
Definition: ConfigurationFactory.java:107

◆ getAppConfiguration()

AppConfiguration org.gluu.oxtrust.config.ConfigurationFactory.getAppConfiguration ( )
inline
276  {
277  return appConfiguration;
278  }
AppConfiguration appConfiguration
Definition: ConfigurationFactory.java:122

◆ getAttributeResolverConfiguration()

AttributeResolverConfiguration org.gluu.oxtrust.config.ConfigurationFactory.getAttributeResolverConfiguration ( )
inline
294  {
296  }
AttributeResolverConfiguration attributeResolverConfiguration
Definition: ConfigurationFactory.java:125

◆ getCacheRefreshConfiguration()

CacheRefreshConfiguration org.gluu.oxtrust.config.ConfigurationFactory.getCacheRefreshConfiguration ( )
inline
282  {
284  }
CacheRefreshConfiguration cacheRefreshConfiguration
Definition: ConfigurationFactory.java:123

◆ getConfigurationDn()

String org.gluu.oxtrust.config.ConfigurationFactory.getConfigurationDn ( )
inline
302  {
303  return this.persistenceConfiguration.getConfiguration().getString("oxtrust_ConfigurationEntryDN");
304  }
final FileConfiguration getConfiguration()
Definition: ConfigurationFactory.java:569
PersistenceConfiguration persistenceConfiguration
Definition: ConfigurationFactory.java:119

◆ getCryptoConfigurationSalt()

String org.gluu.oxtrust.config.ConfigurationFactory.getCryptoConfigurationSalt ( )
inline
298  {
300  }
String cryptoConfigurationSalt
Definition: ConfigurationFactory.java:126

◆ getIDPTemplatesLocation()

String org.gluu.oxtrust.config.ConfigurationFactory.getIDPTemplatesLocation ( )
inline
542  {
543  String jetyBase = System.getProperty("jetty.base");
544 
545  if (StringHelper.isEmpty(jetyBase)) {
546  return ConfigurationFactory.DIR;
547  }
548 
549  return jetyBase + File.separator + "conf" + File.separator;
550  }

◆ getImportPersonConfig()

ImportPersonConfig org.gluu.oxtrust.config.ConfigurationFactory.getImportPersonConfig ( )
inline
288  {
289  return importPersonConfig;
290  }
ImportPersonConfig importPersonConfig
Definition: ConfigurationFactory.java:124

◆ getLdapCentralConfiguration()

FileConfiguration org.gluu.oxtrust.config.ConfigurationFactory.getLdapCentralConfiguration ( )
inline
270  {
272  }
FileConfiguration ldapCentralConfiguration
Definition: ConfigurationFactory.java:121

◆ getPersistenceConfiguration()

PersistenceConfiguration org.gluu.oxtrust.config.ConfigurationFactory.getPersistenceConfiguration ( )
inline
266  {
268  }
PersistenceConfiguration persistenceConfiguration
Definition: ConfigurationFactory.java:119

◆ init() [1/2]

void org.gluu.oxtrust.config.ConfigurationFactory.init ( )
inline
136  {
137  this.isActive = new AtomicBoolean(true);
138  try {
139  log.info("Creating oxTrustConfiguration");
142  this.confDir = confDir();
143 
148 
150  } finally {
151  this.isActive.set(false);
152  }
153  }
AtomicBoolean isActive
Definition: ConfigurationFactory.java:128
Logger log
Definition: ConfigurationFactory.java:58
PersistenceConfiguration persistenceConfiguration
Definition: ConfigurationFactory.java:119
String configFilePath
Definition: ConfigurationFactory.java:115
PersistenceConfiguration loadPersistenceConfiguration()
Definition: ConfigurationFactory.java:155
static final String CACHE_PROPERTIES_FILE
Definition: ConfigurationFactory.java:111
void loadLdapCentralConfiguration()
Definition: ConfigurationFactory.java:338
String saltFilePath
Definition: ConfigurationFactory.java:115
static final String SALT_FILE_NAME
Definition: ConfigurationFactory.java:113
String logRotationFilePath
Definition: ConfigurationFactory.java:115
void loadCryptoConfigurationSalt()
Definition: ConfigurationFactory.java:347
static final String LOG_ROTATION_CONFIGURATION
Definition: ConfigurationFactory.java:112
String cacheRefreshFilePath
Definition: ConfigurationFactory.java:115
String confDir()
Definition: ConfigurationFactory.java:256
static final String APPLICATION_CONFIGURATION
Definition: ConfigurationFactory.java:110

◆ init() [2/2]

void org.gluu.oxtrust.config.ConfigurationFactory.init ( LdapOxTrustConfiguration  conf)
inlineprivate
432  {
433  this.appConfiguration = conf.getApplication();
434  this.cacheRefreshConfiguration = conf.getCacheRefresh();
435  this.importPersonConfig = conf.getImportPersonConfig();
436  this.attributeResolverConfiguration = conf.getAttributeResolverConfig();
437  this.loadedRevision = conf.getRevision();
438  }
CacheRefreshConfiguration cacheRefreshConfiguration
Definition: ConfigurationFactory.java:123
long loadedRevision
Definition: ConfigurationFactory.java:132
AppConfiguration appConfiguration
Definition: ConfigurationFactory.java:122
ImportPersonConfig importPersonConfig
Definition: ConfigurationFactory.java:124
AttributeResolverConfiguration attributeResolverConfiguration
Definition: ConfigurationFactory.java:125

◆ initTimer()

void org.gluu.oxtrust.config.ConfigurationFactory.initTimer ( )
inline
182  {
183  log.debug("Initializing Configuration Timer");
184 
185  final int delay = 30;
186  final int interval = DEFAULT_INTERVAL;
187 
188  timerEvent.fire(new TimerEvent(new TimerSchedule(delay, interval), new ConfigurationEvent(),
189  Scheduled.Literal.INSTANCE));
190  }
static final int DEFAULT_INTERVAL
Definition: ConfigurationFactory.java:85
Logger log
Definition: ConfigurationFactory.java:58
Event< TimerEvent > timerEvent
Definition: ConfigurationFactory.java:64

◆ loadAppConfFromFile()

AppConfiguration org.gluu.oxtrust.config.ConfigurationFactory.loadAppConfFromFile ( )
inlineprivate
325  {
326  try {
327  String jsonConfig = FileUtils.readFileToString(new File(configFilePath));
328  AppConfiguration appConfiguration = jsonService.jsonToObject(jsonConfig, AppConfiguration.class);
329 
330  return appConfiguration;
331  } catch (Exception ex) {
332  log.error("Failed to load configuration from {}", configFilePath, ex);
333  }
334 
335  return null;
336  }
AppConfiguration appConfiguration
Definition: ConfigurationFactory.java:122
Logger log
Definition: ConfigurationFactory.java:58
String configFilePath
Definition: ConfigurationFactory.java:115
JsonService jsonService
Definition: ConfigurationFactory.java:61

◆ loadConfigurationFromLdap()

LdapOxTrustConfiguration org.gluu.oxtrust.config.ConfigurationFactory.loadConfigurationFromLdap ( String...  returnAttributes)
inline
417  {
418  final PersistenceEntryManager ldapEntryManager = persistenceEntryManagerInstance.get();
419  final String configurationDn = getConfigurationDn();
420  try {
421  final LdapOxTrustConfiguration conf = ldapEntryManager.find(LdapOxTrustConfiguration.class, configurationDn,
422  returnAttributes);
423 
424  return conf;
425  } catch (BasePersistenceException ex) {
426  log.error("Failed to load configuration from LDAP", ex);
427  }
428 
429  return null;
430  }
String getConfigurationDn()
Definition: ConfigurationFactory.java:302
Logger log
Definition: ConfigurationFactory.java:58
Instance< PersistenceEntryManager > persistenceEntryManagerInstance
Definition: ConfigurationFactory.java:74

◆ loadCryptoConfigurationSalt()

void org.gluu.oxtrust.config.ConfigurationFactory.loadCryptoConfigurationSalt ( )
inline
347  {
348  try {
349  FileConfiguration cryptoConfiguration = createFileConfiguration(saltFilePath, true);
350 
351  this.cryptoConfigurationSalt = cryptoConfiguration.getString("encodeSalt");
352  } catch (Exception ex) {
353  log.error("Failed to load configuration from {}", this.saltFilePath, ex);
354  throw new ConfigurationException("Failed to load configuration from " + this.saltFilePath, ex);
355  }
356  }
FileConfiguration createFileConfiguration(String fileName, boolean isMandatory)
Definition: ConfigurationFactory.java:358
Logger log
Definition: ConfigurationFactory.java:58
String saltFilePath
Definition: ConfigurationFactory.java:115
String cryptoConfigurationSalt
Definition: ConfigurationFactory.java:126

◆ loadLdapCentralConfiguration()

void org.gluu.oxtrust.config.ConfigurationFactory.loadLdapCentralConfiguration ( )
inlineprivate
338  {
340 
341  File ldapCentralFile = new File(LDAP_CENTRAL_PROPERTIES_FILE);
342  if (ldapCentralFile.exists()) {
343  this.ldapCentralFileLastModifiedTime = ldapCentralFile.lastModified();
344  }
345  }
long ldapCentralFileLastModifiedTime
Definition: ConfigurationFactory.java:130
FileConfiguration ldapCentralConfiguration
Definition: ConfigurationFactory.java:121
FileConfiguration createFileConfiguration(String fileName, boolean isMandatory)
Definition: ConfigurationFactory.java:358
static final String LDAP_CENTRAL_PROPERTIES_FILE
Definition: ConfigurationFactory.java:108

◆ loadLdapConfiguration()

PersistenceConfiguration org.gluu.oxtrust.config.ConfigurationFactory.loadLdapConfiguration ( String  ldapFileName)
inlineprivate
440  {
441  try {
442  FileConfiguration ldapConfiguration = new FileConfiguration(ldapFileName);
443 
444  // Allow to override value via environment variables
445  replaceWithSystemValues(ldapConfiguration);
446 
447  long ldapFileLastModifiedTime = -1;
448  File ldapFile = new File(ldapFileName);
449  if (ldapFile.exists()) {
450  ldapFileLastModifiedTime = ldapFile.lastModified();
451  }
452 
453  PersistenceConfiguration persistenceConfiguration = new PersistenceConfiguration(ldapFileName, ldapConfiguration, org.gluu.persist.ldap.impl.LdapEntryManagerFactory.class, ldapFileLastModifiedTime);
454 
456  } catch (Exception e) {
457  log.error(e.getMessage(), e);
458  }
459 
460  return null;
461  }
Logger log
Definition: ConfigurationFactory.java:58
PersistenceConfiguration persistenceConfiguration
Definition: ConfigurationFactory.java:119
void replaceWithSystemValues(FileConfiguration fileConfiguration)
Definition: ConfigurationFactory.java:514

◆ loadPersistenceConfiguration() [1/2]

PersistenceConfiguration org.gluu.oxtrust.config.ConfigurationFactory.loadPersistenceConfiguration ( )
inlineprotected
155  {
156  PersistenceConfiguration currentPersistenceConfiguration = null;
157 
158  String gluuFileName = determineGluuConfigurationFileName();
159  if (gluuFileName != null) {
160  currentPersistenceConfiguration = loadPersistenceConfiguration(gluuFileName);
161  }
162 
163  // Fall back to old LDAP persistence layer
164  if (currentPersistenceConfiguration == null) {
165  log.warn("Failed to load persistence configuration. Attempting to use LDAP layer");
166  String ldapFileName = determineLdapConfigurationFileName();
167  currentPersistenceConfiguration = loadLdapConfiguration(ldapFileName);
168  }
169 
170  return currentPersistenceConfiguration;
171  }
Logger log
Definition: ConfigurationFactory.java:58
PersistenceConfiguration loadPersistenceConfiguration()
Definition: ConfigurationFactory.java:155
String determineLdapConfigurationFileName()
Definition: ConfigurationFactory.java:533
String determineGluuConfigurationFileName()
Definition: ConfigurationFactory.java:524
PersistenceConfiguration loadLdapConfiguration(String ldapFileName)
Definition: ConfigurationFactory.java:440

◆ loadPersistenceConfiguration() [2/2]

PersistenceConfiguration org.gluu.oxtrust.config.ConfigurationFactory.loadPersistenceConfiguration ( String  gluuFileName)
inlineprivate
463  {
464  try {
465  // Determine persistence type
466  FileConfiguration gluuFileConf = new FileConfiguration(gluuFileName);
467  String persistenceType = gluuFileConf.getString("persistence.type");
468 
469  // Determine configuration file name and factory class type
470  String persistenceFileName = null;
471  Class<? extends PersistenceEntryManagerFactory> persistenceEntryManagerFactoryType = null;
472 
473  for (PersistenceEntryManagerFactory persistenceEntryManagerFactory : persistenceEntryManagerFactoryInstance) {
474  log.debug("Found Persistence Entry Manager Factory with type '{}'", persistenceEntryManagerFactory);
475  if (StringHelper.equalsIgnoreCase(persistenceEntryManagerFactory.getPersistenceType(), persistenceType)) {
476  persistenceFileName = persistenceEntryManagerFactory.getDefaultConfigurationFileName();
477  persistenceEntryManagerFactoryType = (Class<? extends PersistenceEntryManagerFactory>) persistenceEntryManagerFactory.getClass().getSuperclass();
478  break;
479  }
480  }
481 
482  if (persistenceFileName == null) {
483  log.error("Unable to get Persistence Entry Manager Factory by type '{}'", persistenceType);
484  return null;
485  }
486 
487  String persistenceFileNamePath = DIR + persistenceFileName;
488 
489  FileConfiguration persistenceFileConf = new FileConfiguration(persistenceFileNamePath);
490  if (!persistenceFileConf.isLoaded()) {
491  log.error("Unable to load configuration file '{}'", persistenceFileNamePath);
492  return null;
493  }
494 
495  // Allow to override value via environment variables
496  replaceWithSystemValues(persistenceFileConf);
497 
498  long persistenceFileLastModifiedTime = -1;
499  File persistenceFile = new File(persistenceFileNamePath);
500  if (persistenceFile.exists()) {
501  persistenceFileLastModifiedTime = persistenceFile.lastModified();
502  }
503 
504  PersistenceConfiguration persistenceConfiguration = new PersistenceConfiguration(persistenceFileName, persistenceFileConf, persistenceEntryManagerFactoryType, persistenceFileLastModifiedTime);
505 
507  } catch (Exception e) {
508  log.error(e.getMessage(), e);
509  }
510 
511  return null;
512  }
Logger log
Definition: ConfigurationFactory.java:58
PersistenceConfiguration persistenceConfiguration
Definition: ConfigurationFactory.java:119
Instance< PersistenceEntryManagerFactory > persistenceEntryManagerFactoryInstance
Definition: ConfigurationFactory.java:77
void replaceWithSystemValues(FileConfiguration fileConfiguration)
Definition: ConfigurationFactory.java:514
static final String DIR
Definition: ConfigurationFactory.java:103

◆ reloadAppConfFromFile()

boolean org.gluu.oxtrust.config.ConfigurationFactory.reloadAppConfFromFile ( )
inlineprivate
312  {
313  final AppConfiguration appConfiguration = loadAppConfFromFile();
314  if (appConfiguration != null) {
315  log.info("Reloaded application configuration from file: " + configFilePath);
316  this.appConfiguration = appConfiguration;
317  return true;
318  } else {
319  log.error("Failed to load application configuration from file: " + configFilePath);
320  }
321 
322  return false;
323  }
AppConfiguration loadAppConfFromFile()
Definition: ConfigurationFactory.java:325
AppConfiguration appConfiguration
Definition: ConfigurationFactory.java:122
Logger log
Definition: ConfigurationFactory.java:58
String configFilePath
Definition: ConfigurationFactory.java:115

◆ reloadConfiguration()

void org.gluu.oxtrust.config.ConfigurationFactory.reloadConfiguration ( )
inlineprivate
211  {
212  // Reload LDAP configuration if needed
213  PersistenceConfiguration newPersistenceConfiguration = loadPersistenceConfiguration();
214 
215  if (newPersistenceConfiguration != null) {
216  if (!StringHelper.equalsIgnoreCase(this.persistenceConfiguration.getFileName(), newPersistenceConfiguration.getFileName()) || (newPersistenceConfiguration.getLastModifiedTime() > this.persistenceConfiguration.getLastModifiedTime())) {
217  // Reload configuration only if it was modified
218  this.persistenceConfiguration = newPersistenceConfiguration;
219  event.select(LdapConfigurationReload.Literal.INSTANCE).fire(PERSISTENCE_CONFIGUARION_RELOAD_EVENT_TYPE);
220  }
221  }
222 
223  // Reload LDAP central configuration if needed
224  File ldapCentralFile = new File(LDAP_CENTRAL_PROPERTIES_FILE);
225  if (ldapCentralFile.exists()) {
226  final long lastModified = ldapCentralFile.lastModified();
227  if (lastModified > ldapCentralFileLastModifiedTime) {
228  // Reload configuration only if it was modified
230  event.select(LdapCentralConfigurationReload.Literal.INSTANCE)
232  }
233  } else if (this.ldapCentralConfiguration != null) {
234  // Allow to remove not mandatory configuration file
235  this.ldapCentralConfiguration = null;
236  event.select(LdapCentralConfigurationReload.Literal.INSTANCE)
238  }
239 
240  if (!loadedFromLdap) {
241  return;
242  }
243 
244  final LdapOxTrustConfiguration conf = loadConfigurationFromLdap("oxRevision");
245  if (conf == null) {
246  return;
247  }
248 
249  if (conf.getRevision() <= this.loadedRevision) {
250  return;
251  }
252 
253  createFromLdap(false);
254  }
static final String PERSISTENCE_CONFIGUARION_RELOAD_EVENT_TYPE
Definition: ConfigurationFactory.java:82
long loadedRevision
Definition: ConfigurationFactory.java:132
boolean loadedFromLdap
Definition: ConfigurationFactory.java:133
long ldapCentralFileLastModifiedTime
Definition: ConfigurationFactory.java:130
static final String PERSISTENCE_CENTRAL_CONFIGUARION_RELOAD_EVENT_TYPE
Definition: ConfigurationFactory.java:83
FileConfiguration ldapCentralConfiguration
Definition: ConfigurationFactory.java:121
LdapOxTrustConfiguration loadConfigurationFromLdap(String... returnAttributes)
Definition: ConfigurationFactory.java:417
static final String LDAP_CENTRAL_PROPERTIES_FILE
Definition: ConfigurationFactory.java:108
PersistenceConfiguration persistenceConfiguration
Definition: ConfigurationFactory.java:119
PersistenceConfiguration loadPersistenceConfiguration()
Definition: ConfigurationFactory.java:155
void loadLdapCentralConfiguration()
Definition: ConfigurationFactory.java:338
final long getLastModifiedTime()
Definition: ConfigurationFactory.java:577
boolean createFromLdap(boolean recoverFromFiles)
Definition: ConfigurationFactory.java:377

◆ reloadConfigurationTimerEvent()

void org.gluu.oxtrust.config.ConfigurationFactory.reloadConfigurationTimerEvent ( @Observes @Scheduled ConfigurationEvent  configurationEvent)
inline
193  {
194  if (this.isActive.get()) {
195  return;
196  }
197 
198  if (!this.isActive.compareAndSet(false, true)) {
199  return;
200  }
201 
202  try {
204  } catch (Throwable ex) {
205  log.error("Exception happened while reloading application configuration", ex);
206  } finally {
207  this.isActive.set(false);
208  }
209  }
void reloadConfiguration()
Definition: ConfigurationFactory.java:211
AtomicBoolean isActive
Definition: ConfigurationFactory.java:128
Logger log
Definition: ConfigurationFactory.java:58

◆ replaceWithSystemValues()

void org.gluu.oxtrust.config.ConfigurationFactory.replaceWithSystemValues ( FileConfiguration  fileConfiguration)
inlineprivate
514  {
515  Set<Map.Entry<Object, Object>> ldapProperties = fileConfiguration.getProperties().entrySet();
516  for (Map.Entry<Object, Object> ldapPropertyEntry : ldapProperties) {
517  String ldapPropertyKey = (String) ldapPropertyEntry.getKey();
518  if (System.getenv(ldapPropertyKey) != null) {
519  ldapPropertyEntry.setValue(System.getenv(ldapPropertyKey));
520  }
521  }
522  }

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.config.ConfigurationFactory.appConfiguration
private

◆ APPLICATION_CONFIGURATION

final String org.gluu.oxtrust.config.ConfigurationFactory.APPLICATION_CONFIGURATION = "oxtrust-config.json"
static

◆ attributeResolverConfiguration

AttributeResolverConfiguration org.gluu.oxtrust.config.ConfigurationFactory.attributeResolverConfiguration
private

◆ BASE_DIR

final String org.gluu.oxtrust.config.ConfigurationFactory.BASE_DIR
static

◆ CACHE_PROPERTIES_FILE

final String org.gluu.oxtrust.config.ConfigurationFactory.CACHE_PROPERTIES_FILE = "oxTrustCacheRefresh.properties"
static

◆ cacheRefreshConfiguration

CacheRefreshConfiguration org.gluu.oxtrust.config.ConfigurationFactory.cacheRefreshConfiguration
private

◆ cacheRefreshFilePath

String org.gluu.oxtrust.config.ConfigurationFactory.cacheRefreshFilePath
package

◆ confDir

String org.gluu.oxtrust.config.ConfigurationFactory.confDir
private

◆ configFilePath

String org.gluu.oxtrust.config.ConfigurationFactory.configFilePath
package

◆ configurationInstance

Instance<Configuration> org.gluu.oxtrust.config.ConfigurationFactory.configurationInstance
private

◆ configurationUpdateEvent

Event<AppConfiguration> org.gluu.oxtrust.config.ConfigurationFactory.configurationUpdateEvent
private

◆ cryptoConfigurationSalt

String org.gluu.oxtrust.config.ConfigurationFactory.cryptoConfigurationSalt
private

◆ DEFAULT_INTERVAL

final int org.gluu.oxtrust.config.ConfigurationFactory.DEFAULT_INTERVAL = 30
staticprivate

◆ DIR

final String org.gluu.oxtrust.config.ConfigurationFactory.DIR = BASE_DIR + File.separator + "conf" + File.separator
static

◆ event

Event<String> org.gluu.oxtrust.config.ConfigurationFactory.event
private

◆ GLUU_FILE_PATH

final String org.gluu.oxtrust.config.ConfigurationFactory.GLUU_FILE_PATH = DIR + "gluu.properties"
staticprivate

◆ importPersonConfig

ImportPersonConfig org.gluu.oxtrust.config.ConfigurationFactory.importPersonConfig
private

◆ isActive

AtomicBoolean org.gluu.oxtrust.config.ConfigurationFactory.isActive
private

◆ jsonService

JsonService org.gluu.oxtrust.config.ConfigurationFactory.jsonService
private

◆ LDAP_CENTRAL_PROPERTIES_FILE

final String org.gluu.oxtrust.config.ConfigurationFactory.LDAP_CENTRAL_PROPERTIES_FILE = DIR + "oxtrust-central-ldap.properties"
static

◆ LDAP_DEFAULT_PROPERTIES_FILE

final String org.gluu.oxtrust.config.ConfigurationFactory.LDAP_DEFAULT_PROPERTIES_FILE = DIR + "ox-ldap.properties"
static

◆ LDAP_PROPERTIES_FILE

final String org.gluu.oxtrust.config.ConfigurationFactory.LDAP_PROPERTIES_FILE = DIR + "oxtrust-ldap.properties"
static

◆ ldapCentralConfiguration

FileConfiguration org.gluu.oxtrust.config.ConfigurationFactory.ldapCentralConfiguration
private

◆ ldapCentralFileLastModifiedTime

long org.gluu.oxtrust.config.ConfigurationFactory.ldapCentralFileLastModifiedTime = -1
private

◆ loaded

boolean org.gluu.oxtrust.config.ConfigurationFactory.loaded = false
private

◆ loadedFromLdap

boolean org.gluu.oxtrust.config.ConfigurationFactory.loadedFromLdap = true
private

◆ loadedRevision

long org.gluu.oxtrust.config.ConfigurationFactory.loadedRevision = -1
private

◆ log

Logger org.gluu.oxtrust.config.ConfigurationFactory.log
private

◆ LOG_ROTATION_CONFIGURATION

final String org.gluu.oxtrust.config.ConfigurationFactory.LOG_ROTATION_CONFIGURATION = "oxTrustLogRotationConfiguration.xml"
static

◆ logRotationFilePath

String org.gluu.oxtrust.config.ConfigurationFactory.logRotationFilePath
package

◆ PERSISTENCE_CENTRAL_CONFIGUARION_RELOAD_EVENT_TYPE

final String org.gluu.oxtrust.config.ConfigurationFactory.PERSISTENCE_CENTRAL_CONFIGUARION_RELOAD_EVENT_TYPE = "persistenceCentralConfigurationReloadEvent"
static

◆ PERSISTENCE_CONFIGUARION_RELOAD_EVENT_TYPE

final String org.gluu.oxtrust.config.ConfigurationFactory.PERSISTENCE_CONFIGUARION_RELOAD_EVENT_TYPE = "persistenceConfigurationReloadEvent"
static

◆ persistenceConfiguration

PersistenceConfiguration org.gluu.oxtrust.config.ConfigurationFactory.persistenceConfiguration
private

◆ persistenceEntryManagerFactoryInstance

Instance<PersistenceEntryManagerFactory> org.gluu.oxtrust.config.ConfigurationFactory.persistenceEntryManagerFactoryInstance
private

◆ persistenceEntryManagerInstance

Instance<PersistenceEntryManager> org.gluu.oxtrust.config.ConfigurationFactory.persistenceEntryManagerInstance
private

◆ SALT_FILE_NAME

final String org.gluu.oxtrust.config.ConfigurationFactory.SALT_FILE_NAME = "salt"
static

◆ saltFilePath

String org.gluu.oxtrust.config.ConfigurationFactory.saltFilePath
package

◆ timerEvent

Event<TimerEvent> org.gluu.oxtrust.config.ConfigurationFactory.timerEvent
private

このクラス詳解は次のファイルから抽出されました: