From b79e227440d9dd2b86be550dfe84cc51133eb439 Mon Sep 17 00:00:00 2001 From: NikitaKalitov <162014214+NikitaKalitov@users.noreply.github.com> Date: Sun, 9 Feb 2025 17:59:17 +0000 Subject: [PATCH] RQ3 done and errors fixed --- PasswordLockoutRequirement.java | 31 +++++++++++++++++++++++++++++++ PasswordMinimumLength.java | 2 -- PasswordPolicy.java | 3 --- 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 PasswordLockoutRequirement.java diff --git a/PasswordLockoutRequirement.java b/PasswordLockoutRequirement.java new file mode 100644 index 0000000..2b3ea4a --- /dev/null +++ b/PasswordLockoutRequirement.java @@ -0,0 +1,31 @@ +public class PasswordLockoutRequirement extends Requirement{ + private String username; + private int numOfAttempts; + private CheckStatus status; + + @Override + public CheckStatus check() { + return status; + } + + public PasswordLockoutRequirement(String username){ + this.username = username; + this.numOfAttempts = 0; + this.status = CheckStatus.INCOMPLETE; + } + + public void recordFailedAttempt(){ + if (numOfAttempts < 5){ + numOfAttempts = numOfAttempts + 1; + } + else { + status = CheckStatus.FAIL; + System.out.println("Too many attempts for user " + username); + } + } + + public void resetFailedAttempts(){ + numOfAttempts = 0; + status = CheckStatus.INCOMPLETE; + } +} \ No newline at end of file diff --git a/PasswordMinimumLength.java b/PasswordMinimumLength.java index e3262ca..efe407d 100644 --- a/PasswordMinimumLength.java +++ b/PasswordMinimumLength.java @@ -1,6 +1,4 @@ -import rqcode.concepts.Requirement; - public class PasswordMinimumLength extends Requirement { private static final int MIN_LENGTH = 8; private static final int MAX_LENGTH = 64; diff --git a/PasswordPolicy.java b/PasswordPolicy.java index 251ba3b..d257ee1 100644 --- a/PasswordPolicy.java +++ b/PasswordPolicy.java @@ -1,6 +1,3 @@ -package rqcode.tutorial.tutorial_new; -import rqcode.concepts.CombinedRequirements; -import rqcode.concepts.Requirement; import java.util.Arrays; import java.util.List;