}
String exceptionsRegex = ERXProperties.stringForKeyWithDefault(ERX_ADAPTOR_EXCEPTIONS_REGEX, ERX_ADAPTOR_EXCEPTIONS_REGEX_DEFAULT);
if(!handled && throwable.getMessage() != null && throwable.getMessage().matches(exceptionsRegex)) {
NSArray models = databaseContext.database().models();
for(Enumeration e = models.objectEnumerator(); e.hasMoreElements(); ) {
EOModel model = (EOModel)e.nextElement();
NSDictionary connectionDictionary = model.connectionDictionary();
if (connectionDictionary != null) {
NSMutableDictionary mutableConnectionDictionary = connectionDictionary.mutableClone();
mutableConnectionDictionary.setObjectForKey("<password deleted for log>", "password");
connectionDictionary = mutableConnectionDictionary;
}
log.info(model.name() + ": " + (connectionDictionary == null ? "No connection dictionary!" : connectionDictionary.toString()));
}
if ("JDBC".equals(databaseContext.adaptorContext().adaptor().name())) {
new ERXJDBCConnectionAnalyzer(databaseContext.database().adaptor().connectionDictionary());
}
}