for (connectorCrawlDatabaseDoc =
connectorCrawlDatabaseView.getFirstDocument();
connectorCrawlDatabaseDoc != null;
connectorCrawlDatabaseDoc = getNextDocument(
connectorCrawlDatabaseView, connectorCrawlDatabaseDoc)) {
NotesDatabase crawlDatabase = null;
String databaseName = null;
try {
databaseName = connectorCrawlDatabaseDoc.getItemValueString(
NCCONST.DITM_DBNAME);
String replicaId = connectorCrawlDatabaseDoc.getItemValueString(
NCCONST.DITM_REPLICAID);
LOGGER.logp(Level.FINE, CLASS_NAME, METHOD,
"Updating roles for database: " + databaseName);
replicaIds.add(replicaId);
// TODO: is there anything that would cause us to skip
// checking roles for this database? Or remove all
// role-related records for this database?
crawlDatabase = notesSession.getDatabase(null, null);
crawlDatabase.openByReplicaID(
connectorCrawlDatabaseDoc.getItemValueString(NCCONST.DITM_SERVER),
replicaId);
if (!crawlDatabase.isOpen()) {
LOGGER.logp(Level.FINE, CLASS_NAME, METHOD,
"Database could not be opened: " + databaseName);
continue;
}
updateRolesForDatabase(crawlDatabase, replicaId);