public UserIdentityClaimsDO(String userName, Map<String, String> userDataMap) {

    this.userName = userName;
    this.userIdentityDataMap = userDataMap;

    if (userDataMap.get(UserIdentityDataStore.FAIL_LOGIN_ATTEMPTS) != null) {
      setFailAttempts(Integer.parseInt(userDataMap.get(UserIdentityDataStore.FAIL_LOGIN_ATTEMPTS)));
    }
    if (userDataMap.get(UserIdentityDataStore.LAST_FAILED_LOGIN_ATTEMPT_TIME) != null) {
      setLastFailAttemptTime(
          Long.parseLong(userDataMap.get(UserIdentityDataStore.LAST_FAILED_LOGIN_ATTEMPT_TIME)));
    }
    if (userDataMap.get(UserIdentityDataStore.UNLOCKING_TIME) != null) {
      setUnlockTime(Long.parseLong(userDataMap.get(UserIdentityDataStore.UNLOCKING_TIME)));
    }
    if (userDataMap.get(UserIdentityDataStore.ONE_TIME_PASSWORD) != null) {
      setOneTimeLogin(
          Boolean.parseBoolean(userDataMap.get(UserIdentityDataStore.ONE_TIME_PASSWORD)));
    }
    if (userDataMap.get(UserIdentityDataStore.PASSWORD_CHANGE_REQUIRED) != null) {
      setPasswordChangeRequired(
          Boolean.parseBoolean(userDataMap.get(UserIdentityDataStore.PASSWORD_CHANGE_REQUIRED)));
    }
    if (userDataMap.get(UserIdentityDataStore.LAST_LOGON_TIME) != null) {
      setLastLogonTime(Long.parseLong(userDataMap.get(UserIdentityDataStore.LAST_LOGON_TIME)));
    }
    if (userDataMap.get(UserIdentityDataStore.ACCOUNT_LOCK) != null) {
      setAccountLock(Boolean.parseBoolean(userDataMap.get(UserIdentityDataStore.ACCOUNT_LOCK)));
    }
    if (userDataMap.get(UserIdentityDataStore.PASSWORD_TIME_STAMP) != null) {
      setPasswordTimeStamp(
          Long.parseLong(userDataMap.get(UserIdentityDataStore.PASSWORD_TIME_STAMP)));
    }
    //		if (userDataMap.get(UserIdentityDataStore.PASSWORD_TIME_STAMP) != null) {
    //
    //	setPasswordTimeStamp(Long.parseLong(userDataMap.get(UserIdentityDataStore.PASSWORD_TIME_STAMP)));
    //		}
  }