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

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git

commit db8c3d58ab8ca7bd0cb98b03c897b44dd21f1186
Author: Guillaume Nodet <[email protected]>
AuthorDate: Tue Jul 4 07:29:31 2023 +0200

    [MNG-7834] Fix NullPointerException in flatten-maven-plugin
---
 src/mdo/model-v3.vm | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/mdo/model-v3.vm b/src/mdo/model-v3.vm
index 5508c618f..9e1bd00be 100644
--- a/src/mdo/model-v3.vm
+++ b/src/mdo/model-v3.vm
@@ -201,18 +201,25 @@ public class ${class.name}
         if (!Objects.equals(map, getDelegate().get${cap}())) {
             update(getDelegate().with${cap}(map));
         }
-      #else
+      #elseif ( $field.to != "String" && $field.type == "java.util.List" && 
$field.multiplicity == "*" )
+        if (${field.name} == null) {
+            ${field.name} = Collections.emptyList();
+        }
         if (!Objects.equals(${field.name}, ${pfx}${cap}())) {
-        #if ( $field.to != "String" && $field.type == "java.util.List" && 
$field.multiplicity == "*" )
             update(getDelegate().with${cap}(
-                   ${field.name}.stream().map(c -> 
c.getDelegate()).collect(Collectors.toList())));
+                ${field.name}.stream().map(c -> 
c.getDelegate()).collect(Collectors.toList())));
             ${field.name}.forEach(e -> e.childrenTracking = this::replace);
-        #elseif ( $field.to && $field.to != "String" )
+        }
+      #elseif ( $field.to && $field.to != "String" )
+        if (!Objects.equals(${field.name}, ${pfx}${cap}())){
             update(getDelegate().with${cap}(${field.name}.getDelegate()));
-            ${field.name}.childrenTracking = this::replace;
-        #else
+            if (${field.name} != null) {
+                ${field.name}.childrenTracking = this::replace;
+            }
+        }
+      #else
+        if (!Objects.equals(${field.name}, ${pfx}${cap}())) {
             update(getDelegate().with${cap}(${field.name}));
-        #end
         }
       #end
     }

Reply via email to