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 <laszlo.kisha...@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-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists