]> git.mxchange.org Git - jcoreee.git/commitdiff
Continued:
authorRoland Häder <roland@mxchange.org>
Tue, 31 Mar 2020 23:42:34 +0000 (01:42 +0200)
committerRoland Häder <roland@mxchange.org>
Thu, 2 Apr 2020 13:46:56 +0000 (15:46 +0200)
- getStringContextParameter() may throw NPE/IAE if parameterKey is NULL or empty
- No need for logging boolean value here
- added some comments

Signed-off-by: Roland Häder <roland@mxchange.org>
src/org/mxchange/jcoreee/bean/faces/BaseFacesBean.java
src/org/mxchange/jcoreee/exceptions/CustomExceptionHandler.java

index 4fd4670ac812c684e9f396f591b56b19506e9ee7..699c5a2e5d7b8b96abb9cf8397f5ad1a751d8a54 100644 (file)
@@ -206,9 +206,19 @@ public abstract class BaseFacesBean implements Serializable {
         * <p>
         * @return Property value
         * <p>
-        * @throws NullPointerException If given key is not found
+        * @throws NullPointerException If given key is NULL or not found
+        * @throws IllegalArgumentException If given key is empty
         */
-       protected String getStringContextParameter (final String parameterKey) throws NullPointerException {
+       protected String getStringContextParameter (final String parameterKey) throws NullPointerException, IllegalArgumentException {
+               // Is the parameter valid?
+               if (null == parameterKey) {
+                       // Throw NPE
+                       throw new NullPointerException("parameterKey is null"); //NOI18N
+               } else if (parameterKey.isEmpty()) {
+                       // Throw IAE
+                       throw new IllegalArgumentException("parameterKey is empty"); //NOI18N
+               }
+
                // Get context parameter
                final String contextValue = FacesContext.getCurrentInstance().getExternalContext().getInitParameter(parameterKey);
 
@@ -242,11 +252,8 @@ public abstract class BaseFacesBean implements Serializable {
                // Try to get context parameter
                final String contextParameter = this.getStringContextParameter(String.format("is_debug_%s_enabled", controllerName)); //NOI18N
 
-               // Is it set and true?
-               final boolean isEnabled = Boolean.parseBoolean(contextParameter) == Boolean.TRUE;
-
                // Return it
-               return isEnabled;
+               return (Boolean.parseBoolean(contextParameter) == Boolean.TRUE);
        }
 
        /**
index 86ae36104e7344bf2f8adb0f5dd8b68f17e50ae6..bfa35b900c36a5327e84ce358f9fc978d4ef2455 100644 (file)
@@ -36,7 +36,8 @@ import org.mxchange.jcoreeelogger.beans.local.logger.LoggerBeanLocal;
  * A custom exception handler for nice output. This code is heavily based on
  * this [1] example.
  * <p>
- * 1: https://wmarkito.wordpress.com/2012/04/05/adding-global-exception-handling-using-jsf-2-x-exceptionhandler/
+ * 1:
+ * https://wmarkito.wordpress.com/2012/04/05/adding-global-exception-handling-using-jsf-2-x-exceptionhandler/
  * <p>
  * @author Roland Häder<roland@mxchange.org>
  */
@@ -89,9 +90,10 @@ public class CustomExceptionHandler extends ExceptionHandlerWrapper {
 
        @Override
        public void handle () throws FacesException {
-
+               // Get iterator. Please see below remove() call why a for(Foo foo:allFoos()) cannot work.
                final Iterator<ExceptionQueuedEvent> iterator = this.getUnhandledExceptionQueuedEvents().iterator();
 
+               // Loop through all
                while (iterator.hasNext()) {
                        final ExceptionQueuedEvent event = iterator.next();
                        final ExceptionQueuedEventContext context = (ExceptionQueuedEventContext) event.getSource();