// Map new and update existing databases
Set<String> currentDBs = new HashSet<String>();
Iterator<Domain> domains = _wgaConfiguration.getDomains().iterator();
while (domains.hasNext()) {
Domain domain = domains.next();
PersonalisationDatabase persDBConfig = domain.getPersonalisation();
// Ignore disabled pers databases
if (persDBConfig == null) {
continue;
}
if (!persDBConfig.isEnabled()) {
continue;
}
DatabaseServer serverConfig = (DatabaseServer) _wgaConfiguration.getByUid(persDBConfig.getDbServer());
if (serverConfig != null && !serverConfig.isEnabled()) {
continue;
}
// Get or retrieve db
WGDatabase db = null;
if (this.personalisationdbs.containsKey(domain.getUid())) {
db = this.personalisationdbs.get(domain.getUid());
}
else {
db = retrievePersonalisationDB(domain);
if (db == null) {
continue;
}
this.personalisationdbs.put(domain.getUid(), db);
}
currentDBs.add(domain.getUid());
}
// Unmap removed databases
Set<String> removedDBs = new HashSet<String>(this.personalisationdbs.keySet());