]> git.mxchange.org Git - addressbook-war.git/blobdiff - src/java/org/mxchange/addressbook/beans/user/AddressbookUserWebSessionBean.java
Rewrites:
[addressbook-war.git] / src / java / org / mxchange / addressbook / beans / user / AddressbookUserWebSessionBean.java
index 402c21e4ec89c223f4a191c2a5fd9265ff70a769..a51c7ab83a5d5d37b3cddc4ef90c7363e6e75213 100644 (file)
@@ -23,7 +23,9 @@ import java.util.List;
 import java.util.Objects;
 import javax.annotation.PostConstruct;
 import javax.enterprise.context.SessionScoped;
+import javax.enterprise.event.Event;
 import javax.enterprise.event.Observes;
+import javax.enterprise.inject.Any;
 import javax.faces.view.facelets.FaceletException;
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -38,6 +40,8 @@ import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
 import org.mxchange.jusercore.events.login.UserLoggedInEvent;
 import org.mxchange.jusercore.events.registration.UserRegisteredEvent;
+import org.mxchange.jusercore.events.user.update.UpdatedUserPersonalDataEvent;
+import org.mxchange.jusercore.events.user.update.UserUpdatedPersonalDataEvent;
 import org.mxchange.jusercore.exceptions.UserNotFoundException;
 import org.mxchange.jusercore.exceptions.UserPasswordMismatchException;
 import org.mxchange.jusercore.model.user.LoginUser;
@@ -71,6 +75,13 @@ public class AddressbookUserWebSessionBean implements AddressbookUserWebSessionC
        @Inject
        private AddressbookUserLoginWebSessionController loginController;
 
+       /**
+        * Event being fired when user updated personal data
+        */
+       @Inject
+       @Any
+       private Event<UpdatedUserPersonalDataEvent> updatedPersonalDataEvent;
+
        /**
         * Remote user bean
         */
@@ -271,7 +282,10 @@ public class AddressbookUserWebSessionBean implements AddressbookUserWebSessionC
                user.setUserProfileMode(this.getUserProfileMode());
 
                // Send it to the EJB
-               this.userBean.updateUserPersonalData(user);
+               User updatedUser = this.userBean.updateUserPersonalData(user);
+
+               // Fire event
+               this.updatedPersonalDataEvent.fire(new UserUpdatedPersonalDataEvent(updatedUser));
 
                // All fine
                return "user_data_saved"; //NOI18N
@@ -348,6 +362,7 @@ public class AddressbookUserWebSessionBean implements AddressbookUserWebSessionC
        @Override
        public boolean isRequiredChangePersonalDataSet () {
                return ((this.getUserProfileMode() != null) &&
+                               (this.getUserName() != null) && (!this.getUserName().isEmpty()) &&
                                (this.contactController.isRequiredChangePersonalDataSet()));
        }