in server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersDAO.java [87:160]
public CassandraUsersDAO(CqlSession session, CassandraRepositoryConfiguration configuration) {
this.executor = new CassandraAsyncExecutor(session);
this.preferredAlgorithm = configuration.getPreferredAlgorithm();
this.fallbackHashingMode = configuration.getFallbackHashingMode();
this.getUserStatement = session.prepare(selectFrom(TABLE_NAME)
.columns(NAME, PASSWORD, ALGORITHM)
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.build());
this.updateUserStatement = session.prepare(update(TABLE_NAME)
.setColumn(REALNAME, bindMarker(REALNAME))
.setColumn(PASSWORD, bindMarker(PASSWORD))
.setColumn(ALGORITHM, bindMarker(ALGORITHM))
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.ifExists()
.build());
this.removeUserStatement = session.prepare(deleteFrom(TABLE_NAME)
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.ifExists()
.build());
this.countUserStatement = session.prepare(selectFrom(TABLE_NAME)
.countAll()
.build());
this.listStatement = session.prepare(selectFrom(TABLE_NAME)
.column(NAME)
.build());
this.insertStatement = session.prepare(insertInto(TABLE_NAME)
.value(NAME, bindMarker(NAME))
.value(REALNAME, bindMarker(REALNAME))
.value(PASSWORD, bindMarker(PASSWORD))
.value(ALGORITHM, bindMarker(ALGORITHM))
.ifNotExists()
.build());
this.removeAllAuthorizedUsersStatement = session.prepare(deleteFrom(TABLE_NAME)
.column(AUTHORIZED_USERS)
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.build());
this.getAuthorizedUsersStatement = session.prepare(selectFrom(TABLE_NAME)
.columns(AUTHORIZED_USERS)
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.build());
this.addAuthorizedUsersStatement = session.prepare(update(TABLE_NAME)
.append(AUTHORIZED_USERS, bindMarker(AUTHORIZED_USERS))
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.build());
this.removeAuthorizedUsersStatement = session.prepare(update(TABLE_NAME)
.remove(AUTHORIZED_USERS, bindMarker(AUTHORIZED_USERS))
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.build());
this.getDelegatedToUsersStatement = session.prepare(selectFrom(TABLE_NAME)
.columns(DELEGATED_USERS)
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.build());
this.addDelegatedToUsersStatement = session.prepare(update(TABLE_NAME)
.append(DELEGATED_USERS, bindMarker(DELEGATED_USERS))
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.build());
this.removeDelegatedToUsersStatement = session.prepare(update(TABLE_NAME)
.remove(DELEGATED_USERS, bindMarker(DELEGATED_USERS))
.whereColumn(NAME).isEqualTo(bindMarker(NAME))
.build());
}