116 File realmFile =
new File(this.
rootDirectory + File.separator + realmName +
"-realm.json");
117 File[] userFiles = this.
rootDirectory.listFiles(
new FilenameFilter() {
120 public boolean accept(File dir, String name) {
121 return name.matches(realmName +
"-users-[0-9]+\\.json");
124 File[] federatedUserFiles = this.
rootDirectory.listFiles(
new FilenameFilter() {
127 public boolean accept(File dir, String name) {
128 return name.matches(realmName +
"-federated-users-[0-9]+\\.json");
133 FileInputStream is =
new FileInputStream(realmFile);
134 final RealmRepresentation realmRep = JsonSerialization.readValue(is, RealmRepresentation.class);
135 final AtomicBoolean realmImported =
new AtomicBoolean();
137 KeycloakModelUtils.runJobInTransaction(factory,
new ExportImportSessionTask() {
140 public void runExportImportTask(KeycloakSession session)
throws IOException {
141 boolean imported = ImportUtils.importRealm(session, realmRep, strategy,
true);
142 realmImported.set(imported);
147 if (realmImported.get()) {
149 for (
final File userFile : userFiles) {
150 final FileInputStream fis =
new FileInputStream(userFile);
151 KeycloakModelUtils.runJobInTransaction(factory,
new ExportImportSessionTask() {
153 protected void runExportImportTask(KeycloakSession session)
throws IOException {
154 ImportUtils.importUsersFromStream(session, realmName, JsonSerialization.mapper, fis);
155 logger.infof(
"Imported users from %s", userFile.getAbsolutePath());
159 for (
final File userFile : federatedUserFiles) {
160 final FileInputStream fis =
new FileInputStream(userFile);
161 KeycloakModelUtils.runJobInTransaction(factory,
new ExportImportSessionTask() {
163 protected void runExportImportTask(KeycloakSession session)
throws IOException {
164 ImportUtils.importFederatedUsersFromStream(session, realmName, JsonSerialization.mapper, fis);
165 logger.infof(
"Imported federated users from %s", userFile.getAbsolutePath());
172 KeycloakModelUtils.runJobInTransaction(factory,
new ExportImportSessionTask() {
175 public void runExportImportTask(KeycloakSession session)
throws IOException {
176 RealmModel realm = session.realms().getRealmByName(realmName);
177 RepresentationToModel.importRealmAuthorizationSettings(realmRep, realm, session);
static final Logger logger
Definition: DirImportProvider.java:47
final File rootDirectory
Definition: DirImportProvider.java:49