updateModuleDefinitions(true);
PasswordOptionEncoder encoder;
String passwordEncoderKey = _wgaConfiguration.getPasswordEncoding();
try {
ModuleDefinition passwordEncoderModDef = _moduleRegistry.getModuleDefinitionByKey(PasswordEncodingType.class, passwordEncoderKey);
if (passwordEncoderModDef != null) {
Class passwordEncoderClass = passwordEncoderModDef.getImplementationClass();
encoder = (PasswordOptionEncoder) passwordEncoderClass.newInstance();
}
else {
getLog().error("Unknown password encoder key " + passwordEncoderKey);
getLog().error("Falling back to Base64 encoder for encoding new passwords");
encoder = new Base64();
}
}
catch (Exception e1) {
getLog().error("Exception creating password encoder " + passwordEncoderKey, e1);
getLog().error("Falling back to Base64 encoder for encoding new passwords");
encoder = new Base64();
}
_moduleRegistry.getContextObjects().put(PasswordEncodingType.class, encoder);
Map<ModuleDefinition,Exception> dependencyFailures = new HashMap<ModuleDefinition, Exception>();
Iterator<ModuleDefinition> serverMods = _moduleRegistry.getModulesForType(DatabaseServerModuleType.class).values().iterator();
if (serverMods.hasNext()) {
logCategoryInfo("Database server types available in this runtime", 2);
while (serverMods.hasNext()) {
ModuleDefinition moduleDefinition = serverMods.next();
try {
moduleDefinition.testDependencies();
DatabaseServerProperties props = (DatabaseServerProperties) moduleDefinition.getProperties();
if (props != null && props.isSingleton()) {
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH) + " (Automatic instance)");
}
else {
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH));
}
}
catch (Exception e) {
dependencyFailures.put(moduleDefinition, e);
}
}
}
Iterator<ModuleDefinition> dbMods = _moduleRegistry.getModulesForType(ContentStoreModuleType.class).values().iterator();
if (dbMods.hasNext()) {
logCategoryInfo("Content store types available in this runtime", 2);
while (dbMods.hasNext()) {
ModuleDefinition moduleDefinition = dbMods.next();
try {
moduleDefinition.testDependencies();
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH));
}
catch (Exception e) {
dependencyFailures.put(moduleDefinition, e);
}
}
}
Iterator<ModuleDefinition> customdbMods = _moduleRegistry.getModulesForType(ContentDatabaseModuleType.class).values().iterator();
if (customdbMods.hasNext()) {
logCategoryInfo("Other content database types available in this runtime", 2);
while (customdbMods.hasNext()) {
ModuleDefinition moduleDefinition = customdbMods.next();
try {
moduleDefinition.testDependencies();
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH));
}
catch (Exception e) {
dependencyFailures.put(moduleDefinition, e);
}
}
}
Iterator<ModuleDefinition> persdbMods = _moduleRegistry.getModulesForType(PersonalisationDatabaseModuleType.class).values().iterator();
if (persdbMods.hasNext()) {
logCategoryInfo("Personalisation database types available in this runtime", 2);
while (persdbMods.hasNext()) {
ModuleDefinition moduleDefinition = persdbMods.next();
try {
moduleDefinition.testDependencies();
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH));
}
catch (Exception e) {
dependencyFailures.put(moduleDefinition, e);
}
}
}
Iterator<ModuleDefinition> authMods = _moduleRegistry.getModulesForType(AuthenticationSourceModuleType.class).values().iterator();
if (authMods.hasNext()) {
logCategoryInfo("Authentication types available in this runtime", 2);
while (authMods.hasNext()) {
ModuleDefinition moduleDefinition = authMods.next();
try {
moduleDefinition.testDependencies();
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH));
}
catch (Exception e) {
dependencyFailures.put(moduleDefinition, e);
}
}
}
Iterator<ModuleDefinition> wfMods = _moduleRegistry.getModulesForType(WorkflowEngineModuleType.class).values().iterator();
if (wfMods.hasNext()) {
logCategoryInfo("Workflow engine types available in this runtime", 2);
while (wfMods.hasNext()) {
ModuleDefinition moduleDefinition = wfMods.next();
try {
moduleDefinition.testDependencies();
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH));
}
catch (Exception e) {
dependencyFailures.put(moduleDefinition, e);
}
}
}
Iterator<ModuleDefinition> designMods = _moduleRegistry.getModulesForType(DesignSourceModuleType.class).values().iterator();
if (designMods.hasNext()) {
logCategoryInfo("Design source types available in this runtime", 2);
while (designMods.hasNext()) {
ModuleDefinition moduleDefinition = designMods.next();
try {
moduleDefinition.testDependencies();
DesignSourceProperties props = (DesignSourceProperties) moduleDefinition.getProperties();
if (props != null && props.isSingleton()) {
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH) + " (Automatic instance)");
}
else {
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH));
}
}
catch (Exception e) {
dependencyFailures.put(moduleDefinition, e);
}
}
}
Iterator<ModuleDefinition> contentShareMods = _moduleRegistry.getModulesForType(ShareModuleType.class).values().iterator();
if (contentShareMods.hasNext()) {
logCategoryInfo("Share types available in this runtime", 2);
while (contentShareMods.hasNext()) {
ModuleDefinition moduleDefinition = contentShareMods.next();
try {
moduleDefinition.testDependencies();
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH));
}
catch (Exception e) {
dependencyFailures.put(moduleDefinition, e);
}
}
}
Iterator<ModuleDefinition> taskMods = _moduleRegistry.getModulesForType(SchedulerTaskModuleType.class).values().iterator();
if (taskMods.hasNext()) {
logCategoryInfo("Scheduler tasks available in this runtime", 2);
while (taskMods.hasNext()) {
ModuleDefinition moduleDefinition = taskMods.next();
try {
moduleDefinition.testDependencies();
getLog().info("- " + moduleDefinition.getTitle(Locale.ENGLISH));
}
catch (Exception e) {
dependencyFailures.put(moduleDefinition, e);
}
}