From d5d6f1aa134fc49837800eb1bf03c270ad3472f2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Thu, 25 Aug 2016 15:54:23 +0200 Subject: [PATCH] Please cherry-pick: - made user instance managed which causes not persisting it all over again - renamed variable --- ...AddressbookUserEmailChangeSessionBean.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/java/org/mxchange/jusercore/model/email_address/AddressbookUserEmailChangeSessionBean.java b/src/java/org/mxchange/jusercore/model/email_address/AddressbookUserEmailChangeSessionBean.java index b4065f6..807e2e7 100644 --- a/src/java/org/mxchange/jusercore/model/email_address/AddressbookUserEmailChangeSessionBean.java +++ b/src/java/org/mxchange/jusercore/model/email_address/AddressbookUserEmailChangeSessionBean.java @@ -108,6 +108,9 @@ public class AddressbookUserEmailChangeSessionBean extends BaseAddressbookDataba emailChange.setEmailChangeCreated(new GregorianCalendar()); this.generateSecureHash(emailChange); + // Make user managed + emailChange.setEmailChangeUser(this.getManagedUser(emailChange.getEmailChangeUser())); + // Persist it //@TODO Fix email delivery then allow this: this.getEntityManager().persist(emailChange); // Init variable @@ -194,16 +197,16 @@ public class AddressbookUserEmailChangeSessionBean extends BaseAddressbookDataba * Generates a secure, unique hash for given email address change. This * requires to check if the hash is really not there. *

- * @param emailAddress Email address change + * @param emailAddressChange Email address change */ - private void generateSecureHash (final ChangeableEmailAddress emailAddress) { + private void generateSecureHash (final ChangeableEmailAddress emailAddressChange) { // Email address change should be valid - if (null == emailAddress) { + if (null == emailAddressChange) { // Abort here - throw new NullPointerException("emailAddress is null"); //NOI18N - } else if (emailAddress.getEmailAddress().trim().isEmpty()) { + throw new NullPointerException("emailAddressChange is null"); //NOI18N + } else if (emailAddressChange.getEmailAddress().trim().isEmpty()) { // Email address is empty - throw new IllegalArgumentException("emailAddress.emaiLAddress is empty."); //NOI18N + throw new IllegalArgumentException("emailAddressChange.emaiLAddress is empty."); //NOI18N } // Initialize loop with null @@ -215,7 +218,7 @@ public class AddressbookUserEmailChangeSessionBean extends BaseAddressbookDataba // Search for free hash while (isUsed) { // Generate hash, there is already in UserUtils a nice method that can be used for this purpose. - hash = UserUtils.encryptPassword(String.format("%s:%s", emailAddress.getEmailAddress(), emailAddress.toString())); //NOI18N + hash = UserUtils.encryptPassword(String.format("%s:%s", emailAddressChange.getEmailAddress(), emailAddressChange.toString())); //NOI18N // The hash *may* be unique, better test it Query query = this.getEntityManager().createNamedQuery("SearchEmailChangeByHash", EmailAddressChange.class); //NOI18N @@ -238,7 +241,7 @@ public class AddressbookUserEmailChangeSessionBean extends BaseAddressbookDataba assert (!hash.isEmpty()) : "hash is empty"; //NOI18N // Set it in email change - emailAddress.setEmailChangeHash(hash); + emailAddressChange.setEmailChangeHash(hash); } } -- 2.39.2