瀏覽代碼

DeathCertificate Validation Father, Mother and Informant

Andrew Grant 4 月之前
父節點
當前提交
4f584c2eb4

+ 3 - 1
src/main/java/scot/carricksoftware/grants/constants/ValidationConstants.java

@@ -44,7 +44,8 @@ public class ValidationConstants {
     public static final String WHEN_BORN_INCORRECT_FORMAT = "The format should be dd/MM/yyyy hh:mm.";
     public static final String WHEN_BORN_IS_NULL = "When born cannot be null.";
     public static final String FATHER_AND_UNTRACKED_FATHER = "One and only one father and untracked father must be specified.";
-    public static final String MOTHER_AND_UNTRACKED_FATHER = "One and only one father and untracked father may be specified.";
+    public static final String MOTHER_AND_UNTRACKED_MOTHER = "One and only one mother and untracked mother may be specified.";
+    public static final String INFORMANT_AND_UNTRACKED_INFORMANT = "One and only one informant and untracked informant may be specified.";
     public static final String WHERE_BORN_AND_UNTRACKED_WHERE_BORN = "One and only one where born and untracked where born must be specified.";
 
     public static final String MOTHER_USUAL_RESIDENCE_AND_UNTRACKED_MOTHER_USUAL_RESIDENCE = "Only one usual residence and untracked usual residence may be specified.";
@@ -58,6 +59,7 @@ public class ValidationConstants {
 
 
     public static final String WHERE_DIED_AND_UNTRACKED_WHERE_DIED = "One and only one where died and untracked where died must be specified.";
+    public static final String SPOUSE_AND_UNTRACKED_SPOUSE = "One and only one spouse and untracked spouse must be specified.";
     public static final String USUAL_RESIDENCE_AND_UNTRACKED_USUAL_RESIDENCE = "Only one usual residence and untracked usual residence may be specified.";
 
     public static final String FIRST_PARTY_IS_NULL = "The first party cannot be null.";

+ 5 - 16
src/main/java/scot/carricksoftware/grants/validators/certificates/deathcertificate/DeathCertificateCommandValidatorImpl.java

@@ -8,8 +8,6 @@ package scot.carricksoftware.grants.validators.certificates.deathcertificate;
 import org.springframework.stereotype.Component;
 import org.springframework.validation.BindingResult;
 import scot.carricksoftware.grants.commands.certificates.deathcertificates.DeathCertificateCommand;
-import scot.carricksoftware.grants.constants.ValidationConstants;
-import scot.carricksoftware.grants.validators.helpers.ValidateTwoFieldTypes;
 
 
 @Component
@@ -17,29 +15,20 @@ public class DeathCertificateCommandValidatorImpl implements DeathCertificateCom
 
     final DeathCertificateNullFieldsValidator deathCertificateNullFieldsValidator;
 
-    final ValidateTwoFieldTypes validateTwoFieldTypes;
+    final DeathCertificateUntrackedFieldsValidator deathCertificateUntrackedFieldsValidator;
 
-    public DeathCertificateCommandValidatorImpl(DeathCertificateNullFieldsValidator deathCertificateNullFieldsValidator, ValidateTwoFieldTypes validateTwoFieldTypes) {
+    public DeathCertificateCommandValidatorImpl(DeathCertificateNullFieldsValidator deathCertificateNullFieldsValidator, DeathCertificateUntrackedFieldsValidator deathCertificateUntrackedFieldsValidator) {
         this.deathCertificateNullFieldsValidator = deathCertificateNullFieldsValidator;
-        this.validateTwoFieldTypes = validateTwoFieldTypes;
+        this.deathCertificateUntrackedFieldsValidator = deathCertificateUntrackedFieldsValidator;
     }
 
 
     @Override
     public void validate(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
-        validateWhereDied(deathCertificateCommand, bindingResult);
-        validateUsualResidence(deathCertificateCommand, bindingResult);
+        deathCertificateNullFieldsValidator.validate(deathCertificateCommand, bindingResult);
+        deathCertificateUntrackedFieldsValidator.validate(deathCertificateCommand, bindingResult);
     }
 
-    private void validateWhereDied(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
-        validateTwoFieldTypes.validatePlaceAndUntrackedPlace(deathCertificateCommand.getWhereDied(), deathCertificateCommand.getUntrackedWhereDied(),
-                "whereDied", "untrackedWhereDied", ValidationConstants.WHERE_DIED_AND_UNTRACKED_WHERE_DIED,bindingResult);
-    }
-
-    private void validateUsualResidence(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
-        validateTwoFieldTypes.validatePlaceAndUntrackedPlace(deathCertificateCommand.getUsualResidence(), deathCertificateCommand.getUntrackedUsualResidence(),
-                "usualResidence", "untrackedUsualResidence", ValidationConstants.USUAL_RESIDENCE_AND_UNTRACKED_USUAL_RESIDENCE,bindingResult);
-    }
 
 }
 

+ 10 - 0
src/main/java/scot/carricksoftware/grants/validators/certificates/deathcertificate/DeathCertificateUntrackedFieldsValidator.java

@@ -15,5 +15,15 @@ public interface DeathCertificateUntrackedFieldsValidator {
     void validate(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult);
 
     void validateUntrackedWhereDied(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult);
+
+    void validateUsualResidence(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult);
+
+    void validateSpouse(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult);
+
+    void validateFather(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult);
+
+    void validateMother(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult);
+
+    void validateInformant(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult);
 }
 

+ 71 - 5
src/main/java/scot/carricksoftware/grants/validators/certificates/deathcertificate/DeathCertificateUntrackedFieldsValidatorImpl.java

@@ -26,17 +26,83 @@ public class DeathCertificateUntrackedFieldsValidatorImpl implements DeathCertif
 
     @Override
     public void validate(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
+        logger.debug("DeathCertificateUntrackedFieldsValidatorImpl::validate");
         validateUntrackedWhereDied(deathCertificateCommand, bindingResult);
+        validateUsualResidence(deathCertificateCommand, bindingResult);
+        validateSpouse(deathCertificateCommand, bindingResult);
+        validateFather(deathCertificateCommand, bindingResult);
+        validateMother(deathCertificateCommand, bindingResult);
+        validateInformant(deathCertificateCommand, bindingResult);
     }
 
     @Override
-    public void validateUntrackedWhereDied(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult){
-        logger.debug("DeathCertificateUntrackedFieldsValidatorImpl::validateUntrackedWhereDied");
+    public void validateUntrackedWhereDied(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
+        logger.debug("DeathCertificateUntrackedFieldsValidatorImp::validateUntrackedWhereDied");
         validateTwoFieldTypes.validatePlaceAndUntrackedPlace(deathCertificateCommand.getWhereDied(),
                 deathCertificateCommand.getUntrackedWhereDied(),
-                "getWhereDied",
-                "getUntrackedWhereDied",
-                ValidationConstants.WHERE_BORN_AND_UNTRACKED_WHERE_BORN, bindingResult);
+                "whereDied",
+                "untrackedWhereDied",
+                ValidationConstants.WHERE_DIED_AND_UNTRACKED_WHERE_DIED,
+                bindingResult);
     }
 
+    @Override
+    public void validateUsualResidence(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
+        logger.debug("DeathCertificateUntrackedFieldsValidatorImp::validateUsualResidence");
+        validateTwoFieldTypes.validateOptionalPlaceAndUntrackedPlace(deathCertificateCommand.getUsualResidence(),
+                deathCertificateCommand.getUntrackedUsualResidence(),
+                "usualResidence",
+                "untrackedUsualResidence",
+                ValidationConstants.USUAL_RESIDENCE_AND_UNTRACKED_USUAL_RESIDENCE,
+                bindingResult);
+    }
+
+    @Override
+    public void validateSpouse(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
+        logger.debug("DeathCertificateUntrackedFieldsValidatorImp::validateSpouse");
+        validateTwoFieldTypes.validatePersonAndUntrackedPerson(deathCertificateCommand.getSpouse(),
+                deathCertificateCommand.getUntrackedSpouse(),
+                "spouse",
+                "untrackedSpouse",
+                ValidationConstants.SPOUSE_AND_UNTRACKED_SPOUSE,
+                bindingResult);
+    }
+
+    @Override
+    public void validateFather(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
+        logger.debug("DeathCertificateUntrackedFieldsValidatorImp::validateFather");
+        validateTwoFieldTypes.validatePersonAndUntrackedPerson(deathCertificateCommand.getFather(),
+                deathCertificateCommand.getUntrackedFather(),
+                "father",
+                "untrackedFather",
+                ValidationConstants.FATHER_AND_UNTRACKED_FATHER,
+                bindingResult);
+    }
+
+    @Override
+    public void validateMother(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
+        logger.debug("DeathCertificateUntrackedFieldsValidatorImp::validateMother");
+        validateTwoFieldTypes.validatePersonAndUntrackedPerson(deathCertificateCommand.getMother(),
+                deathCertificateCommand.getUntrackedMother(),
+                "mother",
+                "untrackedMother",
+                ValidationConstants.MOTHER_AND_UNTRACKED_MOTHER,
+                bindingResult);
+    }
+
+    @Override
+    public void validateInformant(DeathCertificateCommand deathCertificateCommand, BindingResult bindingResult) {
+        logger.debug("DeathCertificateUntrackedFieldsValidatorImp::validateInformant");
+        validateTwoFieldTypes.validatePersonAndUntrackedPerson(deathCertificateCommand.getInformant(),
+                deathCertificateCommand.getUntrackedInformant(),
+                "informant",
+                "untrackedInformant",
+                ValidationConstants.INFORMANT_AND_UNTRACKED_INFORMANT,
+                bindingResult);
+    }
+
+
+
+
+
 }