49 StringBuilder sb =
new StringBuilder();
50 sb.append(
"Generated codeSecret for realms: ");
52 Connection connection = ((JdbcConnection) (database.getConnection())).getWrappedConnection();
53 ArrayList<SqlStatement> statements =
new ArrayList<SqlStatement>();
55 String correctedTableName = database.correctObjectName(
"REALM", Table.class);
56 String correctedSchemaName = database.escapeObjectName(database.getDefaultSchemaName(), Schema.class);
58 if (SnapshotGeneratorFactory.getInstance().has(
new Table().setName(correctedTableName), database)) {
59 ResultSet resultSet = connection.createStatement().executeQuery(
"SELECT ID FROM " + LiquibaseJpaUpdaterProvider.getTable(correctedTableName, correctedSchemaName) +
" WHERE CODE_SECRET IS NULL");
60 while (resultSet.next()) {
61 String
id = resultSet.getString(1);
63 UpdateStatement statement =
new UpdateStatement(null, null, correctedTableName)
64 .addNewColumnValue(
"CODE_SECRET", KeycloakModelUtils.generateCodeSecret())
65 .setWhereClause(
"ID=?").addWhereParameters(
id);
66 statements.add(statement);
68 if (!resultSet.isFirst()) {
74 if (!statements.isEmpty()) {
79 return statements.toArray(
new SqlStatement[statements.size()]);
80 }
catch (Exception e) {
81 throw new CustomChangeException(
"Failed to add realm code secret", e);
String confirmationMessage
Definition: AddRealmCodeSecret.java:44