keycloak
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.connections.jpa.updater.liquibase.custom.AddRealmCodeSecret クラス
org.keycloak.connections.jpa.updater.liquibase.custom.AddRealmCodeSecret の継承関係図
Inheritance graph
org.keycloak.connections.jpa.updater.liquibase.custom.AddRealmCodeSecret 連携図
Collaboration graph

公開メンバ関数

SqlStatement [] generateStatements (Database database) throws CustomChangeException
 
String getConfirmationMessage ()
 
void setUp () throws SetupException
 
void setFileOpener (ResourceAccessor resourceAccessor)
 
ValidationErrors validate (Database database)
 

非公開変数類

String confirmationMessage
 

詳解

著者
Stian Thorgersen

関数詳解

◆ generateStatements()

SqlStatement [] org.keycloak.connections.jpa.updater.liquibase.custom.AddRealmCodeSecret.generateStatements ( Database  database) throws CustomChangeException
inline
47  {
48  try {
49  StringBuilder sb = new StringBuilder();
50  sb.append("Generated codeSecret for realms: ");
51 
52  Connection connection = ((JdbcConnection) (database.getConnection())).getWrappedConnection();
53  ArrayList<SqlStatement> statements = new ArrayList<SqlStatement>();
54 
55  String correctedTableName = database.correctObjectName("REALM", Table.class);
56  String correctedSchemaName = database.escapeObjectName(database.getDefaultSchemaName(), Schema.class);
57 
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);
62 
63  UpdateStatement statement = new UpdateStatement(null, null, correctedTableName)
64  .addNewColumnValue("CODE_SECRET", KeycloakModelUtils.generateCodeSecret())
65  .setWhereClause("ID=?").addWhereParameters(id);
66  statements.add(statement);
67 
68  if (!resultSet.isFirst()) {
69  sb.append(", ");
70  }
71  sb.append(id);
72  }
73 
74  if (!statements.isEmpty()) {
75  confirmationMessage = sb.toString();
76  }
77  }
78 
79  return statements.toArray(new SqlStatement[statements.size()]);
80  } catch (Exception e) {
81  throw new CustomChangeException("Failed to add realm code secret", e);
82  }
83  }
String confirmationMessage
Definition: AddRealmCodeSecret.java:44

◆ getConfirmationMessage()

String org.keycloak.connections.jpa.updater.liquibase.custom.AddRealmCodeSecret.getConfirmationMessage ( )
inline
86  {
87  return confirmationMessage;
88  }
String confirmationMessage
Definition: AddRealmCodeSecret.java:44

◆ setFileOpener()

void org.keycloak.connections.jpa.updater.liquibase.custom.AddRealmCodeSecret.setFileOpener ( ResourceAccessor  resourceAccessor)
inline
96  {
97 
98  }

◆ setUp()

void org.keycloak.connections.jpa.updater.liquibase.custom.AddRealmCodeSecret.setUp ( ) throws SetupException
inline
91  {
92 
93  }

◆ validate()

ValidationErrors org.keycloak.connections.jpa.updater.liquibase.custom.AddRealmCodeSecret.validate ( Database  database)
inline
101  {
102  return null;
103  }

メンバ詳解

◆ confirmationMessage

String org.keycloak.connections.jpa.updater.liquibase.custom.AddRealmCodeSecret.confirmationMessage
private

このクラス詳解は次のファイルから抽出されました: