private void seedDefaultSuperuser()

in src/main/java/org/apache/pulsar/manager/PulsarApplicationListener.java [96:128]


    private void seedDefaultSuperuser() {
        if(defaultSuperuserEnabled == false) {
            log.info("Superuser seed via application.properties is disabled");
            return;
        }
        
        UserInfoEntity userInfoEntity = new UserInfoEntity();
        userInfoEntity.setName(defaultSuperuserName);
        userInfoEntity.setEmail(defaultSuperuserEmail);
        userInfoEntity.setPassword(defaultSuperuserPassword);

        Map<String, String> userValidateResult = usersService.validateUserInfo(userInfoEntity);
        if (userValidateResult.get("error") != null) {
            log.error("Superuser seed failed.", userValidateResult.get("error"));
            System.exit(-1);
        }
        if (StringUtils.isBlank(userInfoEntity.getPassword())) {
            log.error("Superuser seed failed. Password is required.");
            System.exit(-1);
        }
        
        Optional<UserInfoEntity> optionalUserEntity =  usersRepository.findByUserName(userInfoEntity.getName());
        if (optionalUserEntity.isPresent()) {
            log.warn("Superuser already exists.");
            return;
        }

        userInfoEntity.setPassword(DigestUtils.sha256Hex(userInfoEntity.getPassword()));
        usersRepository.save(userInfoEntity);

         log.info("Successfully added a default superuser: name = {}, email = {}, password = {}.",
                        defaultSuperuserName, defaultSuperuserEmail, defaultSuperuserPassword);
    }