]> git.mxchange.org Git - pizzaservice-war.git/blobdiff - src/java/org/mxchange/pizzaapplication/beans/BasePizzaController.java
Please cherry-pick:
[pizzaservice-war.git] / src / java / org / mxchange / pizzaapplication / beans / BasePizzaController.java
index bc62440ef68b7dc737413cc8d09c06e1c3591243..5dd11dd0e45d428654d8edb5ac12d65a822b9b79 100644 (file)
  */
 package org.mxchange.pizzaapplication.beans;
 
-import java.io.Serializable;
-import java.security.Principal;
-import java.text.MessageFormat;
 import java.util.Locale;
-import java.util.MissingResourceException;
 import java.util.ResourceBundle;
-import javax.faces.application.FacesMessage;
-import javax.faces.context.FacesContext;
-import org.mxchange.jusercore.model.user.UserUtils;
+import org.mxchange.jcoreee.bean.faces.BaseFacesBean;
 
 /**
  * A general controller
  * <p>
  * @author Roland Häder<roland@mxchange.org>
  */
-public abstract class BasePizzaController implements Serializable {
+public abstract class BasePizzaController extends BaseFacesBean {
 
        /**
         * Serial number
@@ -42,179 +36,17 @@ public abstract class BasePizzaController implements Serializable {
         * Protected constructor
         */
        protected BasePizzaController () {
+               // Call super constructor
+               super();
        }
 
-       /**
-        * Determines principal's name or returns null if no principal (security) is
-        * set.
-        * <p>
-        * @return Principal's name or null
-        */
-       protected String determinePrincipalName () {
-               // Get principal
-               Principal userPrincipal = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal();
-
-               // Init with null
-               String principalName = null;
-
-               // Is the principal set?
-               if (userPrincipal instanceof Principal) {
-                       // Get principal's name
-                       principalName = userPrincipal.getName();
-               }
-
-               // Return it
-               return principalName;
-       }
-
-       /**
-        * Returns given property key or throws an exception if not found.
-        * <p>
-        * @param parameterKey Property key
-        * <p>
-        * @return Property value
-        * <p>
-        * @throws NullPointerException If given key is not found
-        * @throws NumberFormatException If no number is given in context parameter
-        */
-       protected int getIntegerContextParameter (final String parameterKey) throws NullPointerException, NumberFormatException {
-               // Get context parameter
-               Integer contextValue = Integer.parseInt(this.getStringContextParameter(parameterKey));
-
-               // Return it
-               return contextValue;
-       }
-
-       /**
-        * Returns given property key or throws an exception if not found.
-        * <p>
-        * @param parameterKey Property key
-        * <p>
-        * @return Property value
-        * <p>
-        * @throws NullPointerException If given key is not found
-        */
-       protected String getStringContextParameter (final String parameterKey) throws NullPointerException {
-               // Get context parameter
-               String contextValue = FacesContext.getCurrentInstance().getExternalContext().getInitParameter(parameterKey);
-
-               // Is it null?
-               if (null == contextValue) {
-                       // Throw NPE
-                       throw new NullPointerException(MessageFormat.format("parameterKey={0} is not set.", parameterKey)); //NOI18N
-               }
-
-               // Return it
-               return contextValue;
-       }
-
-       /**
-        * Checks whether debug mode is enabled for given controller
-        * <p>
-        * @param controllerName Name of controller
-        * <p>
-        * @return Whether debug mode is enabled
-        */
-       protected boolean isDebugModeEnabled (final String controllerName) {
-               // Parameters should be valid
-               if (null == controllerName) {
-                       // Throw NPE
-                       throw new NullPointerException("controllerName is null"); //NOI18N
-               } else if (controllerName.isEmpty()) {
-                       // Is empty
-                       throw new IllegalArgumentException("controllerName is empty"); //NOI18N
-               }
-
-               // Try to get context parameter
-               String contextParameter = this.getStringContextParameter(String.format("is_debug_%s_enabled", controllerName)); //NOI18N
-
-               // Is it set and true?
-               boolean isEnabled = (Boolean.parseBoolean(contextParameter) == Boolean.TRUE);
-
-               // Return it
-               return isEnabled;
-       }
-
-       /**
-        * Checks if given password is to weak to be used
-        * <p>
-        * @param password Clear-text password
-        * <p>
-        * @return Whether the entered password is to weak
-        */
-       protected boolean isWeakPassword (final String password) {
-               // Is parameter set?
-               if (null == password) {
-                       // Throw NPE
-                       throw new NullPointerException("password is null"); //NOI18N
-               }
-
-               // Get score value
-               double passwordScore = UserUtils.calculatePasswordScore(password);
-
-               // Is the score within range?
-               boolean isWeak = (passwordScore <= this.getIntegerContextParameter("min_user_password_score")); //NOI18N
-
-               // Return it
-               return isWeak;
-       }
-
-       /**
-        * Shows a faces message for given causing exception. The message from the
-        * exception is being inserted into the message.
-        * <p>
-        * @param clientId Client id to send message to
-        * @param cause    Causing exception
-        */
-       protected void showFacesMessage (final String clientId, final Throwable cause) {
-               // Get context and add message
-               this.showFacesMessage(clientId, cause.getMessage());
-       }
-
-       /**
-        * Shows a faces message with given message (i18n) key.
-        * <p>
-        * @param clientId Client id to send message to
-        * @param i18nKey  Message key
-        * <p>
-        * @throws NullPointerException If clientId or i18nKey is null
-        * @throws IllegalArgumentException If clientId or i18nKey is empty
-        */
-       protected void showFacesMessage (final String clientId, final String i18nKey) throws NullPointerException, IllegalArgumentException {
-               // Both parameter must be valid
-               if (null == clientId) {
-                       // Throw NPE
-                       throw new NullPointerException("clientId is null"); //NOI18N
-               } else if (clientId.isEmpty()) {
-                       // Is empty
-                       throw new IllegalArgumentException("clientId is null"); //NOI18N
-               } else if (null == i18nKey) {
-                       // Throw NPE
-                       throw new NullPointerException("i18nKey is null"); //NOI18N
-               } else if (i18nKey.isEmpty()) {
-                       // Is empty
-                       throw new IllegalArgumentException("i18nKey is null"); //NOI18N
-               }
-
-               // Get current locale
-               Locale locale = FacesContext.getCurrentInstance().getViewRoot().getLocale();
-
-               // Get bundle bundle
+       @Override
+       protected ResourceBundle loadResourceBundle (final Locale locale) {
+               // Load resource bundle
                ResourceBundle bundle = ResourceBundle.getBundle("org.mxchange.localization.bundle", locale);
 
-               // Default is i18nKey
-               String message = i18nKey;
-
-               // Try it
-               try {
-                       // Get message
-                       message = bundle.getString(i18nKey);
-               } catch (final MissingResourceException ex) {
-                       // Did not find it, ignored
-               }
-
-               // Get context and add message
-               FacesContext.getCurrentInstance().addMessage(clientId, new FacesMessage(message));
+               // Return it
+               return bundle;
        }
 
 }