You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2024/04/23 22:23:09 UTC

(commons-configuration) branch master updated (068568bd -> 61a0370f)

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/commons-configuration.git


    from 068568bd Guard MapConfiguration against null maps #381
     new 54ed1a0a Internal refactoring
     new 61a0370f Fail-fast with a NullPointerException in constructors

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/changes/changes.xml                                            | 7 +++++++
 .../commons/configuration2/BaseHierarchicalConfiguration.java      | 5 ++---
 .../java/org/apache/commons/configuration2/DataConfiguration.java  | 3 ++-
 .../org/apache/commons/configuration2/web/AppletConfiguration.java | 4 +++-
 .../apache/commons/configuration2/web/ServletConfiguration.java    | 5 +++--
 .../commons/configuration2/web/ServletContextConfiguration.java    | 6 ++++--
 .../commons/configuration2/web/ServletFilterConfiguration.java     | 4 +++-
 .../commons/configuration2/web/ServletRequestConfiguration.java    | 4 +++-
 8 files changed, 27 insertions(+), 11 deletions(-)


(commons-configuration) 02/02: Fail-fast with a NullPointerException in constructors

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-configuration.git

commit 61a0370fba21067252542c272e716f5a4403d5ce
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue Apr 23 18:23:03 2024 -0400

    Fail-fast with a NullPointerException in constructors
    
    - Fail-fast with a NullPointerException if AppletConfiguration(Applet)
    is called with null
    - Fail-fast with a NullPointerException if ServletConfiguration(Servlet)
    is called with null
    - Fail-fast with a NullPointerException if
    ServletConfiguration(ServletConfig) is called with null
    - Fail-fast with a NullPointerException if
    ServletContextConfiguration(Servlet) is called with null
    - Fail-fast with a NullPointerException if
    ServletContextConfiguration(ServletContext) is called with null
    - Fail-fast with a NullPointerException if
    ServletFilterConfiguration(FilterConfig) is called with null
    - Fail-fast with a NullPointerException if
    ServletRequestConfiguration(ServletRequest) is called with null.
---
 src/changes/changes.xml                                            | 7 +++++++
 .../java/org/apache/commons/configuration2/DataConfiguration.java  | 3 ++-
 .../org/apache/commons/configuration2/web/AppletConfiguration.java | 4 +++-
 .../apache/commons/configuration2/web/ServletConfiguration.java    | 5 +++--
 .../commons/configuration2/web/ServletContextConfiguration.java    | 6 ++++--
 .../commons/configuration2/web/ServletFilterConfiguration.java     | 4 +++-
 .../commons/configuration2/web/ServletRequestConfiguration.java    | 4 +++-
 7 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 0df32b54..bb08210a 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -32,6 +32,13 @@
       <action type="fix" dev="ggregory" due-to="Gary Gregory">Fail-fast with a NullPointerException if a SubsetConfiguration constructor is called with a null Configuration.</action>
       <action type="fix" issue="CONFIGURATION-843" dev="ggregory" due-to="Gary Gregory">Methods should not be empty #393.</action>
       <action type="fix" dev="ggregory" due-to="Heewon Lee, Gary Gregory">Guard MapConfiguration against null maps #381.</action> 
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fail-fast with a NullPointerException if AppletConfiguration(Applet) is called with null.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fail-fast with a NullPointerException if ServletConfiguration(Servlet) is called with null.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fail-fast with a NullPointerException if ServletConfiguration(ServletConfig) is called with null.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fail-fast with a NullPointerException if ServletContextConfiguration(Servlet) is called with null.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fail-fast with a NullPointerException if ServletContextConfiguration(ServletContext) is called with null.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fail-fast with a NullPointerException if ServletFilterConfiguration(FilterConfig) is called with null.</action>
+      <action type="fix" dev="ggregory" due-to="Gary Gregory">Fail-fast with a NullPointerException if ServletRequestConfiguration(ServletRequest) is called with null.</action>
       <!-- UPDATE -->
       <action type="update" dev="ggregory" due-to="Dependabot">Bump commons-logging:commons-logging from 1.3.0 to 1.3.1 #390.</action>
       <action type="update" dev="ggregory" due-to="Dependabot">Bump commons-io:commons-io from 2.15.1 to 2.16.1 #394, #400.</action>
diff --git a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
index 9960971f..c3cfa9ec 100644
--- a/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/DataConfiguration.java
@@ -102,6 +102,7 @@ import org.apache.commons.lang3.StringUtils;
  * @since 1.1
  */
 public class DataConfiguration extends AbstractConfiguration {
+
     /** The key of the property storing the user-defined date format. */
     public static final String DATE_FORMAT_KEY = "org.apache.commons.configuration.format.date";
 
@@ -147,7 +148,7 @@ public class DataConfiguration extends AbstractConfiguration {
      * @param configuration the wrapped configuration
      */
     public DataConfiguration(final Configuration configuration) {
-        this.configuration = Objects.requireNonNull(configuration);
+        this.configuration = Objects.requireNonNull(configuration, "configuration");
         this.dataConversionHandler = new DataConversionHandler();
     }
 
diff --git a/src/main/java/org/apache/commons/configuration2/web/AppletConfiguration.java b/src/main/java/org/apache/commons/configuration2/web/AppletConfiguration.java
index 511bb646..d213a9f0 100644
--- a/src/main/java/org/apache/commons/configuration2/web/AppletConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/web/AppletConfiguration.java
@@ -20,6 +20,7 @@ package org.apache.commons.configuration2.web;
 import java.applet.Applet;
 import java.util.Arrays;
 import java.util.Iterator;
+import java.util.Objects;
 
 /**
  * A configuration wrapper to read applet parameters. This configuration is read only, adding or removing a property
@@ -28,6 +29,7 @@ import java.util.Iterator;
  * @since 1.1
  */
 public class AppletConfiguration extends BaseWebConfiguration {
+
     /** Stores the wrapped applet. */
     protected Applet applet;
 
@@ -37,7 +39,7 @@ public class AppletConfiguration extends BaseWebConfiguration {
      * @param applet the applet
      */
     public AppletConfiguration(final Applet applet) {
-        this.applet = applet;
+        this.applet = Objects.requireNonNull(applet, "applet");
     }
 
     @Override
diff --git a/src/main/java/org/apache/commons/configuration2/web/ServletConfiguration.java b/src/main/java/org/apache/commons/configuration2/web/ServletConfiguration.java
index e0deedb8..db989a80 100644
--- a/src/main/java/org/apache/commons/configuration2/web/ServletConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/web/ServletConfiguration.java
@@ -20,6 +20,7 @@ package org.apache.commons.configuration2.web;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.Iterator;
+import java.util.Objects;
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletConfig;
@@ -41,7 +42,7 @@ public class ServletConfiguration extends BaseWebConfiguration {
      * @param servlet the servlet
      */
     public ServletConfiguration(final Servlet servlet) {
-        this(servlet.getServletConfig());
+        this(Objects.requireNonNull(servlet, "servlet").getServletConfig());
     }
 
     /**
@@ -50,7 +51,7 @@ public class ServletConfiguration extends BaseWebConfiguration {
      * @param config the servlet configuration
      */
     public ServletConfiguration(final ServletConfig config) {
-        this.config = config;
+        this.config = Objects.requireNonNull(config, "config");
     }
 
     @Override
diff --git a/src/main/java/org/apache/commons/configuration2/web/ServletContextConfiguration.java b/src/main/java/org/apache/commons/configuration2/web/ServletContextConfiguration.java
index ab311096..ce3b8cb3 100644
--- a/src/main/java/org/apache/commons/configuration2/web/ServletContextConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/web/ServletContextConfiguration.java
@@ -20,6 +20,7 @@ package org.apache.commons.configuration2.web;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.Iterator;
+import java.util.Objects;
 
 import javax.servlet.Servlet;
 import javax.servlet.ServletContext;
@@ -31,6 +32,7 @@ import javax.servlet.ServletContext;
  * @since 1.1
  */
 public class ServletContextConfiguration extends BaseWebConfiguration {
+
     /** Stores the wrapped servlet context. */
     protected ServletContext context;
 
@@ -40,7 +42,7 @@ public class ServletContextConfiguration extends BaseWebConfiguration {
      * @param servlet the servlet
      */
     public ServletContextConfiguration(final Servlet servlet) {
-        this.context = servlet.getServletConfig().getServletContext();
+        this.context = Objects.requireNonNull(servlet, "servlet").getServletConfig().getServletContext();
     }
 
     /**
@@ -49,7 +51,7 @@ public class ServletContextConfiguration extends BaseWebConfiguration {
      * @param context the servlet context
      */
     public ServletContextConfiguration(final ServletContext context) {
-        this.context = context;
+        this.context = Objects.requireNonNull(context, "context");
     }
 
     @Override
diff --git a/src/main/java/org/apache/commons/configuration2/web/ServletFilterConfiguration.java b/src/main/java/org/apache/commons/configuration2/web/ServletFilterConfiguration.java
index 676fbfc3..7164bf25 100644
--- a/src/main/java/org/apache/commons/configuration2/web/ServletFilterConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/web/ServletFilterConfiguration.java
@@ -20,6 +20,7 @@ package org.apache.commons.configuration2.web;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.Iterator;
+import java.util.Objects;
 
 import javax.servlet.FilterConfig;
 
@@ -30,6 +31,7 @@ import javax.servlet.FilterConfig;
  * @since 1.1
  */
 public class ServletFilterConfiguration extends BaseWebConfiguration {
+
     /** Stores the wrapped filter config. */
     protected FilterConfig config;
 
@@ -39,7 +41,7 @@ public class ServletFilterConfiguration extends BaseWebConfiguration {
      * @param config the filter configuration
      */
     public ServletFilterConfiguration(final FilterConfig config) {
-        this.config = config;
+        this.config = Objects.requireNonNull(config, "config");
     }
 
     @Override
diff --git a/src/main/java/org/apache/commons/configuration2/web/ServletRequestConfiguration.java b/src/main/java/org/apache/commons/configuration2/web/ServletRequestConfiguration.java
index 3c85eaa1..65861159 100644
--- a/src/main/java/org/apache/commons/configuration2/web/ServletRequestConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/web/ServletRequestConfiguration.java
@@ -22,6 +22,7 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import javax.servlet.ServletRequest;
 
@@ -32,6 +33,7 @@ import javax.servlet.ServletRequest;
  * @since 1.1
  */
 public class ServletRequestConfiguration extends BaseWebConfiguration {
+
     /** Stores the wrapped request. */
     protected ServletRequest request;
 
@@ -41,7 +43,7 @@ public class ServletRequestConfiguration extends BaseWebConfiguration {
      * @param request the servlet request
      */
     public ServletRequestConfiguration(final ServletRequest request) {
-        this.request = request;
+        this.request = Objects.requireNonNull(request, "config");
     }
 
     @Override


(commons-configuration) 01/02: Internal refactoring

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-configuration.git

commit 54ed1a0ae267d11a3879a40f377c3d496e481c5b
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue Apr 23 18:20:03 2024 -0400

    Internal refactoring
---
 .../apache/commons/configuration2/BaseHierarchicalConfiguration.java | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java b/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
index 4392f1f4..c745921c 100644
--- a/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
+++ b/src/main/java/org/apache/commons/configuration2/BaseHierarchicalConfiguration.java
@@ -518,8 +518,7 @@ public class BaseHierarchicalConfiguration extends AbstractHierarchicalConfigura
      * @return the {@code NodeModel} for the new configuration
      */
     private static NodeModel<ImmutableNode> createNodeModel(final HierarchicalConfiguration<ImmutableNode> c) {
-        final ImmutableNode root = c != null ? obtainRootNode(c) : null;
-        return new InMemoryNodeModel(root);
+        return new InMemoryNodeModel(obtainRootNode(c));
     }
 
     /**
@@ -530,7 +529,7 @@ public class BaseHierarchicalConfiguration extends AbstractHierarchicalConfigura
      * @return the root node of this configuration
      */
     private static ImmutableNode obtainRootNode(final HierarchicalConfiguration<ImmutableNode> c) {
-        return c.getNodeModel().getNodeHandler().getRootNode();
+        return c != null ? c.getNodeModel().getNodeHandler().getRootNode() : null;
     }
 
     /**