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 }
