From fc660b578b9635e36cff121342d401bc8831944e Mon Sep 17 00:00:00 2001 From: mightycox Date: Wed, 17 Dec 2025 14:42:43 -0800 Subject: [PATCH] Adds flags for enabling new assessment students wrote flag logic --- .../rule/AssessmentRegistrationsRule.java | 7 ++++--- .../rule/IncompleteAssessmentsRule.java | 7 ++++--- .../ruleengine/util/RuleEngineApiConstants.java | 15 +++++++++++++++ tools/config/update-configmap.sh | 8 ++++++++ 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/ruleengine/rule/AssessmentRegistrationsRule.java b/api/src/main/java/ca/bc/gov/educ/api/ruleengine/rule/AssessmentRegistrationsRule.java index 5420e17..d4d8ea5 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/ruleengine/rule/AssessmentRegistrationsRule.java +++ b/api/src/main/java/ca/bc/gov/educ/api/ruleengine/rule/AssessmentRegistrationsRule.java @@ -4,6 +4,7 @@ import ca.bc.gov.educ.api.ruleengine.dto.RuleData; import ca.bc.gov.educ.api.ruleengine.dto.RuleProcessorData; import ca.bc.gov.educ.api.ruleengine.dto.StudentAssessment; +import ca.bc.gov.educ.api.ruleengine.util.RuleEngineApiConstants; import ca.bc.gov.educ.api.ruleengine.util.RuleEngineApiUtils; import ca.bc.gov.educ.api.ruleengine.util.RuleProcessorRuleUtils; import lombok.AllArgsConstructor; @@ -37,15 +38,15 @@ public RuleData fire() { for (StudentAssessment studentAssessment : studentAssessmentList) { String specialCase = StringUtils.isBlank(studentAssessment.getSpecialCase())? "" : studentAssessment.getSpecialCase(); String wroteFlag = StringUtils.isBlank(studentAssessment.getWroteFlag())? "" : studentAssessment.getWroteFlag(); - /*if(constants.isEnableV2Changes()) { + if(RuleEngineApiConstants.isEnableV2Changes()) { if ("".compareTo(specialCase.trim()) == 0 && "N".compareTo(wroteFlag.trim()) == 0) { studentAssessment.setProjected(true); } - } else {*/ + } else { if ("".compareTo(specialCase.trim()) == 0 && "".compareTo(wroteFlag.trim()) == 0) { studentAssessment.setProjected(true); } - //} + } } ruleProcessorData.setExcludedAssessments(RuleProcessorRuleUtils.maintainExcludedAssessments(studentAssessmentList,ruleProcessorData.getExcludedAssessments(),ruleProcessorData.isProjected())); diff --git a/api/src/main/java/ca/bc/gov/educ/api/ruleengine/rule/IncompleteAssessmentsRule.java b/api/src/main/java/ca/bc/gov/educ/api/ruleengine/rule/IncompleteAssessmentsRule.java index c45b5b7..b17c74e 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/ruleengine/rule/IncompleteAssessmentsRule.java +++ b/api/src/main/java/ca/bc/gov/educ/api/ruleengine/rule/IncompleteAssessmentsRule.java @@ -3,6 +3,7 @@ import ca.bc.gov.educ.api.ruleengine.dto.RuleData; import ca.bc.gov.educ.api.ruleengine.dto.RuleProcessorData; import ca.bc.gov.educ.api.ruleengine.dto.StudentAssessment; +import ca.bc.gov.educ.api.ruleengine.util.RuleEngineApiConstants; import ca.bc.gov.educ.api.ruleengine.util.RuleProcessorRuleUtils; import lombok.AllArgsConstructor; import lombok.Data; @@ -31,16 +32,16 @@ public RuleData fire() { for (StudentAssessment studentAssessment : studentAssessmentList) { String specialCase = StringUtils.isBlank(studentAssessment.getSpecialCase())? "" : studentAssessment.getSpecialCase(); - /*if(false) { + if(RuleEngineApiConstants.isEnableV2Changes()) { if ("".compareTo(specialCase.trim()) == 0 && studentAssessment.isDidNotAttemptFlag()) { studentAssessment.setNotCompleted(true); } - } else {*/ + } else { String wroteFlag = StringUtils.isBlank(studentAssessment.getWroteFlag())? "" : studentAssessment.getWroteFlag(); if ("".compareTo(specialCase.trim()) == 0 && "N".compareTo(wroteFlag.trim()) == 0) { studentAssessment.setNotCompleted(true); } - //} + } } ruleProcessorData.setExcludedAssessments(RuleProcessorRuleUtils.maintainExcludedAssessments(studentAssessmentList,ruleProcessorData.getExcludedAssessments(),ruleProcessorData.isProjected())); diff --git a/api/src/main/java/ca/bc/gov/educ/api/ruleengine/util/RuleEngineApiConstants.java b/api/src/main/java/ca/bc/gov/educ/api/ruleengine/util/RuleEngineApiConstants.java index 173c3c9..95f782f 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/ruleengine/util/RuleEngineApiConstants.java +++ b/api/src/main/java/ca/bc/gov/educ/api/ruleengine/util/RuleEngineApiConstants.java @@ -1,5 +1,6 @@ package ca.bc.gov.educ.api.ruleengine.util; +import jakarta.annotation.PostConstruct; import lombok.Getter; import lombok.Setter; import org.springframework.beans.factory.annotation.Value; @@ -43,4 +44,18 @@ public class RuleEngineApiConstants { @Value("${enable-v2-changes}") private boolean enableV2Changes; + + private static RuleEngineApiConstants instance; + + @PostConstruct + public void init() { + instance = this; + } + + public static boolean isEnableV2Changes() { + if (instance == null) { + throw new IllegalStateException("RuleEngineApiConstants not initialized"); + } + return instance.enableV2Changes; + } } diff --git a/tools/config/update-configmap.sh b/tools/config/update-configmap.sh index 63119de..8bb54b4 100644 --- a/tools/config/update-configmap.sh +++ b/tools/config/update-configmap.sh @@ -50,6 +50,14 @@ PARSER_CONFIG=" ########################################################### #Setup for config-maps ########################################################### + +if [ "$envValue" == "prod" ] +then + ENABLE_V2_CHANGES="false" +else + ENABLE_V2_CHANGES="true" +fi + echo Creating config map "$APP_NAME"-config-map oc create -n "$BUSINESS_NAMESPACE"-"$envValue" configmap "$APP_NAME"-config-map \ --from-literal=APP_LOG_LEVEL="$APP_LOG_LEVEL" \