public CassandraUsersDAO()

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());
    }