You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by ge...@apache.org on 2021/05/02 07:40:08 UTC

[netbeans] branch delivery updated: [NETBEANS-5475] fix potential NPE after GradleJavaSourceSet.relativePath() calls

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

geertjan 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 0e28d34  [NETBEANS-5475] fix potential NPE after GradleJavaSourceSet.relativePath() calls
     new 4cf8454  Merge pull request #2931 from lkishalmi/NETBEANS-5475
0e28d34 is described below

commit 0e28d3467fc0c92b39119a4312facbf13c34ec01
Author: Laszlo Kishalmi <la...@gmail.com>
AuthorDate: Sat May 1 23:02:08 2021 -0700

    [NETBEANS-5475] fix potential NPE after GradleJavaSourceSet.relativePath() calls
---
 .../modules/gradle/java/GradleJavaTokenProvider.java   | 12 +++++++-----
 .../gradle/java/queries/FileBuiltQueryImpl.java        | 18 ++++++++++--------
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java
index 21ef6ac..63a64a0 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java
@@ -134,11 +134,13 @@ public class GradleJavaTokenProvider implements ReplaceTokenProvider {
             GradleJavaSourceSet sourceSet = gjp.containingSourceSet(f);
             if (sourceSet != null) {
                 String relPath = sourceSet.relativePath(f);
-                ret = (relPath.lastIndexOf('.') > 0 ?
-                        relPath.substring(0, relPath.lastIndexOf('.')) :
-                        relPath).replace('/', '.');
-                if (fo.isFolder()) {
-                    ret = ret + '*';
+                if (relPath != null) {
+                    ret = (relPath.lastIndexOf('.') > 0 ?
+                            relPath.substring(0, relPath.lastIndexOf('.')) :
+                            relPath).replace('/', '.');
+                    if (fo.isFolder()) {
+                        ret = ret + '*';
+                    }
                 }
             }
         }
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/FileBuiltQueryImpl.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/FileBuiltQueryImpl.java
index ae76f10..61319a7 100644
--- a/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/FileBuiltQueryImpl.java
+++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/queries/FileBuiltQueryImpl.java
@@ -113,15 +113,17 @@ public class FileBuiltQueryImpl extends ProjectOpenedHook implements FileBuiltQu
             GradleJavaSourceSet sourceSet = gjp.containingSourceSet(f);
             if (sourceSet != null) {
                 String relFile = sourceSet.relativePath(f);
-                String relClass = relFile.substring(0, relFile.lastIndexOf('.')) + ".class"; //NOI18N
-                String moduleRoot = null;
-                File moduleInfo = sourceSet.findResource("module-info.java", false, JAVA); //NOI18N
-                if (moduleInfo != null && sourceSet.getCompilerArgs(JAVA).contains("--module-source-path")) {
-                    moduleRoot = SourceUtils.parseModuleName(FileUtil.toFileObject(moduleInfo));
+                if (relFile != null) {
+                    String relClass = relFile.substring(0, relFile.lastIndexOf('.')) + ".class"; //NOI18N
+                    String moduleRoot = null;
+                    File moduleInfo = sourceSet.findResource("module-info.java", false, JAVA); //NOI18N
+                    if (moduleInfo != null && sourceSet.getCompilerArgs(JAVA).contains("--module-source-path")) {
+                        moduleRoot = SourceUtils.parseModuleName(FileUtil.toFileObject(moduleInfo));
+                    }
+                    try {
+                        ret = new StatusImpl(file, sourceSet.getOutputClassDirs(), relClass, moduleRoot);
+                    } catch (DataObjectNotFoundException ex) {}
                 }
-                try {
-                    ret = new StatusImpl(file, sourceSet.getOutputClassDirs(), relClass, moduleRoot);
-                } catch (DataObjectNotFoundException ex) {}
             }
 
         }

---------------------------------------------------------------------
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