+ roles.add(DEFAULT_ADMIN_ROLE);
+ // Need to skip the strong password check for the default admin
+ UserConfig defaultAdmin = UserConfig.getUncheckedUserConfig(UserManager.DEFAULT_ADMIN,
+ UserManager.DEFAULT_ADMIN_PASSWORD, roles);
+ localUserConfigList.put(UserManager.DEFAULT_ADMIN, defaultAdmin);
+ }
+ }
+
+ private void checkPasswordRecovery() {
+ final String fileDescription = "Default Network Administrator password recovery file";
+ try {
+ FileInputStream fis = new FileInputStream(UserManager.RECOVERY_FILE);
+ /*
+ * Recovery file detected, remove current default network
+ * administrator entry from local users configuration list.
+ * Warn user and delete recovery file.
+ */
+ this.localUserConfigList.remove(UserManager.DEFAULT_ADMIN);
+ logger.info("Default Network Administrator password has been reset to factory default.");
+ logger.info("Please change the default Network Administrator password as soon as possible");
+ File filePointer = new File(UserManager.RECOVERY_FILE);
+ boolean status = filePointer.delete();
+ if (!status) {
+ logger.warn("Failed to delete {}", fileDescription);
+ } else {
+ logger.trace("{} deleted", fileDescription);
+ }
+ fis.close();
+ } catch (FileNotFoundException fnf) {
+ logger.trace("{} not present", fileDescription);
+ } catch (IOException e) {
+ logger.warn("Failed to close file stream for {}", fileDescription);