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
* 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
// 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
assert (!hash.isEmpty()) : "hash is empty"; //NOI18N
// Set it in email change
- emailAddress.setEmailChangeHash(hash);
+ emailAddressChange.setEmailChangeHash(hash);
}
}