public void setEntryUUIDForUser()

in manager/general/src/main/java/org/apache/doris/stack/component/LdapComponent.java [498:534]


    public void setEntryUUIDForUser() {
        SettingEntity authType = settingComponent.readSetting(ConfigConstant.AUTH_TYPE_KEY);

        if (authType != null && authType.getValue().equals("ldap")) {
            log.debug("studio upgrade, set entry uuid for old user");
            List<CoreUserEntity> coreUsers = userRepository.getByNullEntryUUID();
            log.debug("studio upgrade, set entry uuid for old user, size is {}", coreUsers.size());
            if (coreUsers.size() == 0) {
                return;
            }
            LdapSettingResp resp = readLdapConfig();

            // set ldap setting
            LdapSettingReq req = getLdapSettings(resp);

            List<CoreUserEntity> ldapUserEntities = syncLdapUser(req);
            for (CoreUserEntity coreUser : coreUsers) {
                // studio 1.1 , first name = given name
                String email = coreUser.getEmail();
                log.debug("user {} email is {}", coreUser.getId(), coreUser.getEmail());
                if (email != null) {

                    Optional<CoreUserEntity> ldapUserOptional =
                            ldapUserEntities.stream().filter(e -> e.getEmail().equals(email)).findFirst();
                    if (!ldapUserOptional.isPresent()) {
                        log.warn("user email {} not exist", email);
                    } else {
                        CoreUserEntity ldapUser = ldapUserOptional.get();
                        coreUser.setEntryUUID(ldapUser.getEntryUUID());
                        userRepository.save(coreUser);
                        log.debug("save entry uuid for user {} success", coreUser.getId());
                    }
                }

            }
        }
    }