From 9ece5b79f093ac7c91381772ffe595f8f784e477 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Fri, 4 Jul 2014 00:32:04 +0200 Subject: [PATCH] Fix user.equals (for dob datewise foo) --- src/org/cacert/gigi/Name.java | 4 +++- src/org/cacert/gigi/User.java | 16 +++++++++------- src/org/cacert/gigi/output/DateSelector.java | 5 ++--- src/org/cacert/gigi/pages/main/Signup.java | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/org/cacert/gigi/Name.java b/src/org/cacert/gigi/Name.java index 933982e9..bf6265b9 100644 --- a/src/org/cacert/gigi/Name.java +++ b/src/org/cacert/gigi/Name.java @@ -11,9 +11,11 @@ public class Name implements Outputable { String lname; String suffix; - public Name(String fname, String lname) { + public Name(String fname, String lname, String mname, String suffix) { this.fname = fname; this.lname = lname; + this.mname = mname; + this.suffix = suffix; } @Override diff --git a/src/org/cacert/gigi/User.java b/src/org/cacert/gigi/User.java index 96e0a111..f43bcdcf 100644 --- a/src/org/cacert/gigi/User.java +++ b/src/org/cacert/gigi/User.java @@ -3,7 +3,7 @@ package org.cacert.gigi; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.Date; +import java.sql.Date; import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.util.PasswordHash; @@ -11,7 +11,7 @@ import org.cacert.gigi.util.PasswordHash; public class User { private int id; - Name name = new Name(null, null); + Name name = new Name(null, null, null, null); Date dob; String email; @@ -22,13 +22,14 @@ public class User { PreparedStatement ps = DatabaseConnection .getInstance() .prepare( - "SELECT `fname`, `lname`, `dob`, `email` FROM `users` WHERE id=?"); + "SELECT `fname`, `lname`,`mname`, `suffix`, `dob`, `email` FROM `users` WHERE id=?"); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); if (rs.next()) { - name = new Name(rs.getString(1), rs.getString(2)); - dob = rs.getDate(3); - email = rs.getString(4); + name = new Name(rs.getString(1), rs.getString(2), + rs.getString(3), rs.getString(4)); + dob = rs.getDate(5); + email = rs.getString(6); } rs.close(); } catch (SQLException e) { @@ -154,7 +155,8 @@ public class User { } User s = (User) obj; return name.equals(s.name) && email.equals(s.email) - && dob.equals(s.dob); + && dob.toString().equals(s.dob.toString()); // This is due to + // day cutoff } public int getMaxAssurePoints() throws SQLException { int exp = getExperiencePoints(); diff --git a/src/org/cacert/gigi/output/DateSelector.java b/src/org/cacert/gigi/output/DateSelector.java index a21e38bd..c8cc0f10 100644 --- a/src/org/cacert/gigi/output/DateSelector.java +++ b/src/org/cacert/gigi/output/DateSelector.java @@ -4,7 +4,6 @@ import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Calendar; -import java.util.Date; import java.util.GregorianCalendar; import java.util.Map; @@ -93,10 +92,10 @@ public class DateSelector implements Outputable { + ", month=" + month + ", year=" + year + "]"; } - public Date getDate() { + public java.sql.Date getDate() { Calendar gc = GregorianCalendar.getInstance(); gc.set(year, month - 1, day); - return gc.getTime(); + return new java.sql.Date(gc.getTime().getTime()); } } diff --git a/src/org/cacert/gigi/pages/main/Signup.java b/src/org/cacert/gigi/pages/main/Signup.java index 428b068c..2aa0a5b6 100644 --- a/src/org/cacert/gigi/pages/main/Signup.java +++ b/src/org/cacert/gigi/pages/main/Signup.java @@ -7,7 +7,7 @@ import java.io.UnsupportedEncodingException; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.Date; +import java.sql.Date; import java.util.HashMap; import java.util.Map; -- 2.39.2