From f9157c9e8a386c006f69ee386387e07af82ef877 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sat, 19 Aug 2017 15:19:25 +0200 Subject: [PATCH] Please cherry-pick: - notifying a RequestScoped (partly including ViewScoped) bean about a locale change will not last long, better is to get the then changed locale from the view root again MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../user/JobsAdminUserWebRequestBean.java | 50 ++----------------- .../beans/user/JobsUserWebSessionBean.java | 1 + 2 files changed, 6 insertions(+), 45 deletions(-) diff --git a/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java b/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java index 24720c2d..ef8fde62 100644 --- a/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java +++ b/src/java/org/mxchange/jjobs/beans/user/JobsAdminUserWebRequestBean.java @@ -25,6 +25,7 @@ import javax.enterprise.event.Event; import javax.enterprise.event.Observes; import javax.enterprise.inject.Any; import javax.faces.FacesException; +import javax.faces.context.FacesContext; import javax.faces.view.facelets.FaceletException; import javax.inject.Inject; import javax.inject.Named; @@ -32,7 +33,6 @@ import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import org.mxchange.jcontacts.contact.Contact; -import org.mxchange.jcoreee.events.locale.ObservableLocaleChangeEvent; import org.mxchange.jcoreee.utils.FacesUtils; import org.mxchange.jjobs.beans.BaseJobsController; import org.mxchange.jjobs.beans.contact.JobsAdminContactWebRequestController; @@ -125,11 +125,6 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J @Any private Event deleteUserEvent; - /** - * Locale instance - */ - private Locale locale; - /** * Localization controller */ @@ -248,8 +243,11 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J newUser.setUserAccountStatus(UserAccountStatus.CONFIRMED); newUser.setUserProfileMode(ProfileMode.INVISIBLE); + // Get locale from view-root + Locale locale = FacesContext.getCurrentInstance().getViewRoot().getLocale(); + // Copy user locale - newUser.setUserLocale(this.getLocale()); + newUser.setUserLocale(locale); // Init instance Contact userContact; @@ -359,26 +357,6 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J this.setUser(event.getCreatedUser()); } - /** - * Observer method for events being fired when the application's locale has - * been changed. - *

- * @param event Event being fired - */ - public void afterLocaleChangeEvent (@Observes final ObservableLocaleChangeEvent event) { - // Is the parameter valid? - if (null == event) { - // Throw NPE - throw new NullPointerException("event is null"); - } else if (event.getLocale() == null) { - // Throw NPE again - throw new NullPointerException("event.locale is null"); - } - - // Set it here - this.setLocale(event.getLocale()); - } - /** * Event observer for new user registrations *

@@ -795,24 +773,6 @@ public class JobsAdminUserWebRequestBean extends BaseJobsController implements J this.setUserName(null); } - /** - * Getter for locale instance - *

- * @return Locale instance - */ - private Locale getLocale () { - return this.locale; - } - - /** - * Setter for locale instance - *

- * @param locale Locale instance - */ - private void setLocale (final Locale locale) { - this.locale = locale; - } - /** * Checks if same password is entered and that they are not empty. *

diff --git a/src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java b/src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java index feae3d46..ed1350e7 100644 --- a/src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java +++ b/src/java/org/mxchange/jjobs/beans/user/JobsUserWebSessionBean.java @@ -1081,6 +1081,7 @@ public class JobsUserWebSessionBean extends BaseJobsController implements JobsUs // - other data this.clearUserName(); this.clearUserPasswords(); + this.setLocale(null); } /** -- 2.39.5