You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by ne...@apache.org on 2022/02/15 12:39:42 UTC

[netbeans] branch delivery updated: [#3590] Prevent suspicious NPE forn Gradle SubProjectsNode

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

neilcsmith pushed a commit to branch delivery
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/delivery by this push:
     new c1ebdea  [#3590] Prevent suspicious NPE forn Gradle SubProjectsNode
     new 5a1e8be  Merge pull request #3591 from lkishalmi/GH-3590
c1ebdea is described below

commit c1ebdea491f1687a9ba675151712fa13ab906fac
Author: Laszlo Kishalmi <la...@gmail.com>
AuthorDate: Fri Feb 11 14:16:45 2022 -0800

    [#3590] Prevent suspicious NPE forn Gradle SubProjectsNode
---
 .../modules/gradle/nodes/SubProjectsNode.java        | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/extide/gradle/src/org/netbeans/modules/gradle/nodes/SubProjectsNode.java b/extide/gradle/src/org/netbeans/modules/gradle/nodes/SubProjectsNode.java
index 662284b..54b0fe0 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/nodes/SubProjectsNode.java
+++ b/extide/gradle/src/org/netbeans/modules/gradle/nodes/SubProjectsNode.java
@@ -26,8 +26,8 @@ import java.awt.Image;
 import java.awt.event.ActionEvent;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
-import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import javax.swing.AbstractAction;
 import javax.swing.Action;
@@ -48,6 +48,8 @@ import org.openide.util.RequestProcessor;
 
 import static org.netbeans.modules.gradle.nodes.Bundle.*;
 import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import org.netbeans.api.project.ProjectUtils;
 import org.netbeans.modules.gradle.api.GradleBaseProject;
 import org.netbeans.modules.gradle.spi.Utils;
@@ -59,6 +61,8 @@ import org.openide.nodes.Children;
  */
 public class SubProjectsNode extends AbstractNode {
 
+    private static final Logger LOG = Logger.getLogger(SubProjectsNode.class.getName());
+    
     @StaticResource
     private static final String SP_BADGE
             = "org/netbeans/modules/gradle/resources/gradle-large-badge.png";
@@ -122,13 +126,21 @@ public class SubProjectsNode extends AbstractNode {
         protected boolean createKeys(final List<Project> projects) {
 
             Set<Project> containedProjects = ProjectUtils.getContainedProjects(project, false);
-            projects.addAll(containedProjects);
+            if (containedProjects != null) {
+                projects.addAll(containedProjects);
+            } else {
+                LOG.log(Level.FINE, "No ProjectContainerProvider in the lookup of: {0}", project);
+            }
             return true;
         }
 
         @Override
         protected Node createNodeForKey(Project key) {
             Set<Project> containedProjects = ProjectUtils.getContainedProjects(key, false);
+            if (containedProjects == null) {
+                containedProjects = Collections.emptySet();
+                LOG.log(Level.FINE, "No ProjectContainerProvider in the lookup of: {0}", project);                
+            }
             GradleBaseProject gbp = GradleBaseProject.get(project);
             String prefix = (gbp != null && !gbp.isRoot() ? gbp.getPath() : "") + ':';
             Children ch = containedProjects.isEmpty() ? Children.LEAF : Children.create(new SubProjectsChildFactory(key), true);
@@ -182,9 +194,7 @@ public class SubProjectsNode extends AbstractNode {
 
         @Override
         public Action[] getActions(boolean b) {
-            ArrayList<Action> lst = new ArrayList<Action>();
-            lst.add(OpenProjectAction.SINGLETON);
-            return lst.toArray(new Action[lst.size()]);
+            return new Action[]{OpenProjectAction.SINGLETON};
         }
 
         @Override

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists