From f764d4bce7fee25660763ce38d0d9277be3ab07a Mon Sep 17 00:00:00 2001
From: Aditya Bhansali <adityab3@illinois.edu>
Date: Sun, 15 Nov 2020 07:15:14 -0600
Subject: [PATCH] [backend] fixed preregisteration health info validation
 errors

---
 .../itrust/beans/loaders/HealthRecordsBeanLoader.java    | 9 +++++++--
 .../csc/itrust/validate/HealthRecordFormValidator.java   | 9 ++++++++-
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/iTrust/src/edu/ncsu/csc/itrust/beans/loaders/HealthRecordsBeanLoader.java b/iTrust/src/edu/ncsu/csc/itrust/beans/loaders/HealthRecordsBeanLoader.java
index 40f712c..41d7e69 100644
--- a/iTrust/src/edu/ncsu/csc/itrust/beans/loaders/HealthRecordsBeanLoader.java
+++ b/iTrust/src/edu/ncsu/csc/itrust/beans/loaders/HealthRecordsBeanLoader.java
@@ -3,6 +3,7 @@ package edu.ncsu.csc.itrust.beans.loaders;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.sql.Types;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -39,8 +40,12 @@ public class HealthRecordsBeanLoader implements BeanLoader<HealthRecord> {
 		ps.setInt(i++, bean.getCholesterolHDL());
 		ps.setInt(i++, bean.getCholesterolLDL());
 		ps.setInt(i++, bean.getCholesterolTri());
-		ps.setLong(i++, bean.getPersonnelID());
-		ps.setDate(i++, new java.sql.Date(bean.getVisitDate().getTime()));
+        ps.setLong(i++, bean.getPersonnelID());
+        if (bean.getVisitDate() != null) {
+            ps.setDate(i++, new java.sql.Date(bean.getVisitDate().getTime()));
+        } else {
+            ps.setDate(i++, new java.sql.Date(0));
+        }
 		ps.setDouble(i++, bean.getBodyMassIndex());
 		
 		return ps;
diff --git a/iTrust/src/edu/ncsu/csc/itrust/validate/HealthRecordFormValidator.java b/iTrust/src/edu/ncsu/csc/itrust/validate/HealthRecordFormValidator.java
index 0e21456..88643e0 100644
--- a/iTrust/src/edu/ncsu/csc/itrust/validate/HealthRecordFormValidator.java
+++ b/iTrust/src/edu/ncsu/csc/itrust/validate/HealthRecordFormValidator.java
@@ -56,6 +56,13 @@ public class HealthRecordFormValidator extends BeanValidator<HealthRecordForm> {
 			throw new FormValidationException(errorList);
 	}
 	
-	
+	public void validatePreregistration(HealthRecordForm bean) throws FormValidationException {
+        ErrorList errorList = new ErrorList();
+		errorList.addIfNotNull(checkNotZero("Height", bean.getHeight(), ValidationFormat.Height, true));
+		errorList.addIfNotNull(checkNotZero("Weight", bean.getWeight(), ValidationFormat.Weight, true));
+		errorList.addIfNotNull(checkInt("Smoker", bean.getIsSmoker(), 0, 10, false));
+		if (errorList.hasErrors())
+			throw new FormValidationException(errorList);
+    }
 
 }
-- 
GitLab