]> git.mxchange.org Git - jfinancials-war.git/commitdiff
fixed 2nd parameter, it can be easily generated within a JSF application
authorRoland Häder <roland@mxchange.org>
Wed, 18 May 2016 12:50:42 +0000 (14:50 +0200)
committerRoland Haeder <roland@mxchange.org>
Sat, 21 May 2016 12:24:46 +0000 (14:24 +0200)
Signed-off-by: Roland Häder <roland@mxchange.org>
src/java/org/mxchange/addressbook/beans/email_address/AddressbookEmailChangeWebSessionBean.java
src/java/org/mxchange/addressbook/beans/register/AddressbookUserRegisterWebSessionBean.java
src/java/org/mxchange/addressbook/beans/resendlink/AddressbookResendLinkWebSessionBean.java

index 4337db00382e65b4c8f36a4ef9a5dc21c3ac6f37..b27e3bfd0b67bf8e66a454931bca80d19c79f9fe 100644 (file)
@@ -29,6 +29,7 @@ import javax.naming.NamingException;
 import org.mxchange.addressbook.beans.BaseAddressbookController;
 import org.mxchange.addressbook.beans.login.AddressbookUserLoginWebSessionController;
 import org.mxchange.jcontacts.contact.Contact;
+import org.mxchange.jcoreee.utils.FacesUtils;
 import org.mxchange.jusercore.exceptions.UserPasswordMismatchException;
 import org.mxchange.jusercore.model.email_address.ChangeableEmailAddress;
 import org.mxchange.jusercore.model.email_address.EmailAddressChange;
@@ -88,7 +89,7 @@ public class AddressbookEmailChangeWebSessionBean extends BaseAddressbookControl
                        this.emailBean = (EmailChangeSessionBeanRemote) context.lookup("java:global/addressbook-ejb/email-change!org.mxchange.jusercore.model.email_address.EmailChangeSessionBeanRemote"); //NOI18N
 
                        // Init list
-                       this.emailAddresses = this.emailBean.allQueuedAddressesAsList();
+                       this.emailAddresses = this.emailBean.allQueuedAddresses();
                } catch (final NamingException e) {
                        // Throw again
                        throw new FaceletException(e);
@@ -132,8 +133,11 @@ public class AddressbookEmailChangeWebSessionBean extends BaseAddressbookControl
                // Create change object, to save EJB calls, the hash is not generated here
                ChangeableEmailAddress emailChange = new EmailAddressChange(user, this.getEmailAddress());
 
+               // Get base URL
+               String baseUrl = FacesUtils.generateBaseUrl();
+
                // Call EJB
-               this.emailBean.enqueueEmailAddressForChange(emailChange);
+               this.emailBean.enqueueEmailAddressForChange(emailChange, baseUrl);
 
                // Unset all so the user is forced to re-enter it
                this.clear();
index 6c71bf4b2b9d15a162824200179a5d8922bb64e6..78bd2a975ac43dc76ab4446ca503103003cf7f37 100644 (file)
@@ -33,6 +33,7 @@ import org.mxchange.addressbook.beans.user.AddressbookAdminUserWebRequestControl
 import org.mxchange.addressbook.beans.user.AddressbookUserWebSessionController;
 import org.mxchange.jcontacts.contact.Contact;
 import org.mxchange.jcontacts.contact.UserContact;
+import org.mxchange.jcoreee.utils.FacesUtils;
 import org.mxchange.jusercore.events.registration.RegisteredUserEvent;
 import org.mxchange.jusercore.events.registration.UserRegisteredEvent;
 import org.mxchange.jusercore.exceptions.DataRepeatMismatchException;
@@ -151,8 +152,11 @@ public class AddressbookUserRegisterWebSessionBean extends BaseAddressbookContro
                }
 
                try {
+                       // Get base URL
+                       String baseUrl = FacesUtils.generateBaseUrl();
+
                        // Call bean
-                       User registeredUser = this.registerBean.registerUser(user);
+                       User registeredUser = this.registerBean.registerUser(user, baseUrl);
 
                        // The id number should be set
                        assert (registeredUser.getUserId() instanceof Long) : "registeredUser.userId is null after registerUser() was called."; //NOI18N
index 12aa9d72affbc1e202d5330f6f2d1acaaa803ae9..43642e461a6fed8664d47bbc4f828cdfdb96a591 100644 (file)
  */
 package org.mxchange.addressbook.beans.resendlink;
 
+import java.text.MessageFormat;
+import java.util.Locale;
 import javax.enterprise.context.SessionScoped;
+import javax.faces.context.FacesContext;
 import javax.faces.view.facelets.FaceletException;
+import javax.inject.Inject;
 import javax.inject.Named;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import org.mxchange.addressbook.beans.BaseAddressbookController;
+import org.mxchange.addressbook.beans.user.AddressbookUserWebSessionController;
+import org.mxchange.jcoreee.utils.FacesUtils;
+import org.mxchange.jusercore.exceptions.UserEmailAddressNotFoundException;
+import org.mxchange.jusercore.model.user.User;
 
 /**
  * A web session bean for resending confirmation link
@@ -48,6 +56,12 @@ public class AddressbookResendLinkWebSessionBean extends BaseAddressbookControll
         */
        private ResendLinkSessionBeanRemote emailBean;
 
+       /**
+        * User controller
+        */
+       @Inject
+       private AddressbookUserWebSessionController userController;
+
        /**
         * Default constructor
         */
@@ -67,7 +81,34 @@ public class AddressbookResendLinkWebSessionBean extends BaseAddressbookControll
 
        @Override
        public String doResendLink () {
-               throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+               // The email address should not be empty as the JSF validates this
+               if (this.getEmailAddress() == null) {
+                       // Throw NPE
+                       throw new NullPointerException("this.emailAddress is null"); //NOI18N
+               }
+
+               // Init user instance
+               User user;
+
+               try {
+                       // Is the email address really not used?
+                       user = this.userController.lookupUserByEmailAddress(this.getEmailAddress());
+               } catch (final UserEmailAddressNotFoundException ex) {
+                       // Not found, should not happen as the registeredvalidator should find it
+                       throw new FaceletException(MessageFormat.format("this.emailAddress={0} should be resolveable into User instance.", this.getEmailAddress()), ex); //NOI18N
+               }
+
+               // Get locale from faces context
+               Locale locale = FacesContext.getCurrentInstance().getExternalContext().getRequestLocale();
+
+               // Get base URL
+               String baseUrl = FacesUtils.generateBaseUrl();
+
+               // Call EJB and return redirect target
+               String redirectTarget = this.emailBean.resendConfirmationLink(user, locale, baseUrl);
+
+               // Return redirect target
+               return redirectTarget;
        }
 
        @Override