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