From d5d6f1aa134fc49837800eb1bf03c270ad3472f2 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Roland=20H=C3=A4der?= <roland@mxchange.org>
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.
 	 * <p>
-	 * @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.5