This is an automated email from the ASF dual-hosted git repository. lkishalmi pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/netbeans.git
commit 6bf689fa98c6da795fbfd6fda20ef92a971c6822 Author: Laszlo Kishalmi <[email protected]> AuthorDate: Mon Aug 15 20:59:30 2022 -0700 Prevent GradleReport instance creation from the API consumers --- .../gradle/src/org/netbeans/modules/gradle/GradleProject.java | 10 +++++++++- .../src/org/netbeans/modules/gradle/NbGradleProjectImpl.java | 3 +++ .../src/org/netbeans/modules/gradle/api/GradleReport.java | 10 +--------- .../src/org/netbeans/modules/gradle/api/NbGradleProject.java | 5 +++++ .../netbeans/modules/gradle/loaders/AbstractProjectLoader.java | 2 +- .../netbeans/modules/gradle/loaders/FallbackProjectLoader.java | 2 +- .../netbeans/modules/gradle/loaders/LegacyProjectLoader.java | 8 ++++---- 7 files changed, 24 insertions(+), 16 deletions(-) diff --git a/extide/gradle/src/org/netbeans/modules/gradle/GradleProject.java b/extide/gradle/src/org/netbeans/modules/gradle/GradleProject.java index 2759fd68b2..33caf0f207 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/GradleProject.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/GradleProject.java @@ -26,6 +26,7 @@ import java.util.Collection; import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; +import java.util.Objects; import java.util.Set; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.modules.gradle.api.GradleBaseProject; @@ -125,9 +126,16 @@ public final class GradleProject implements Serializable, Lookup.Provider { Path scriptPath = gf.getBuildScript() != null ? gf.getBuildScript().toPath() : null; List<GradleReport> reports = new ArrayList<>(); for (String s : reason) { - reports.add(GradleReport.simple(scriptPath, s)); + reports.add(createGradleReport(scriptPath, s)); } return invalidate(reports.toArray(new GradleReport[reports.size()])); } + public static GradleReport createGradleReport(String errorClass, String location, int line, String message, GradleReport causedBy) { + return NbGradleProjectImpl.ACCESSOR.createReport(errorClass, location, line, message, causedBy); + } + + public static GradleReport createGradleReport(Path script, String message) { + return createGradleReport(null, Objects.toString(script), -1, message, null); + } } diff --git a/extide/gradle/src/org/netbeans/modules/gradle/NbGradleProjectImpl.java b/extide/gradle/src/org/netbeans/modules/gradle/NbGradleProjectImpl.java index 5d56af3f59..1d58007254 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/NbGradleProjectImpl.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/NbGradleProjectImpl.java @@ -64,6 +64,7 @@ import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.SuppressWarnings; import org.netbeans.api.project.ui.ProjectProblems; import org.netbeans.modules.gradle.api.GradleBaseProject; +import org.netbeans.modules.gradle.api.GradleReport; import org.netbeans.modules.gradle.options.GradleExperimentalSettings; import org.netbeans.spi.project.CacheDirectoryProvider; import org.netbeans.spi.project.support.LookupProviderSupport; @@ -132,6 +133,8 @@ public final class NbGradleProjectImpl implements Project { public abstract void activate(NbGradleProject watcher); public abstract void passivate(NbGradleProject watcher); + + public abstract GradleReport createReport(String errorClass, String location, int line, String message, GradleReport causedBy); } @java.lang.SuppressWarnings("LeakingThisInConstructor") diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleReport.java b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleReport.java index be37f9f442..ff193824d7 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/api/GradleReport.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/api/GradleReport.java @@ -42,7 +42,7 @@ public final class GradleReport { private final String message; private final GradleReport causedBy; - public GradleReport(String errorClass, String location, int line, String message, GradleReport causedBy) { + GradleReport(String errorClass, String location, int line, String message, GradleReport causedBy) { this.errorClass = errorClass; this.location = location; this.line = line; @@ -50,14 +50,6 @@ public final class GradleReport { this.causedBy = causedBy; } - public static GradleReport simple(Path script, String message) { - return new GradleReport(null, Objects.toString(script), -1, message, null); - } - - public GradleReport(Path scriptLocation, String message, GradleReport causedBy) { - this(null, scriptLocation.toString(), -1, message, causedBy); - } - public @CheckForNull String getLocation() { return location; } diff --git a/extide/gradle/src/org/netbeans/modules/gradle/api/NbGradleProject.java b/extide/gradle/src/org/netbeans/modules/gradle/api/NbGradleProject.java index ba3ace1b43..76a3bbbfaf 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/api/NbGradleProject.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/api/NbGradleProject.java @@ -176,6 +176,11 @@ public final class NbGradleProject { public void passivate(NbGradleProject watcher) { watcher.detachResourceWatchers(); } + + @Override + public GradleReport createReport(String errorClass, String location, int line, String message, GradleReport causedBy) { + return new GradleReport(errorClass, location, line, message, causedBy); + } } private NbGradleProject(NbGradleProjectImpl project) { diff --git a/extide/gradle/src/org/netbeans/modules/gradle/loaders/AbstractProjectLoader.java b/extide/gradle/src/org/netbeans/modules/gradle/loaders/AbstractProjectLoader.java index dc51690c63..61176f0f8c 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/loaders/AbstractProjectLoader.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/loaders/AbstractProjectLoader.java @@ -118,7 +118,7 @@ public abstract class AbstractProjectLoader { } } for (String s : problems) { - reps.add(GradleReport.simple(gf.getBuildScript().toPath(), s)); + reps.add(GradleProject.createGradleReport(gf.getBuildScript().toPath(), s)); } return new GradleProject(info.getQuality(), reps, results.values()); diff --git a/extide/gradle/src/org/netbeans/modules/gradle/loaders/FallbackProjectLoader.java b/extide/gradle/src/org/netbeans/modules/gradle/loaders/FallbackProjectLoader.java index 2b9b7f4f59..21f1d0a053 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/loaders/FallbackProjectLoader.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/loaders/FallbackProjectLoader.java @@ -58,7 +58,7 @@ public class FallbackProjectLoader extends AbstractProjectLoader { for (ProjectInfoExtractor extractor : extractors) { ProjectInfoExtractor.Result result = extractor.fallback(files); for (String s : result.getProblems()) { - problems.add(GradleReport.simple(files.getBuildScript().toPath(), s)); + problems.add(GradleProject.createGradleReport(files.getBuildScript().toPath(), s)); } for (Object extract : result.getExtract()) { infos.put(extract.getClass(), extract); diff --git a/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java b/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java index 165b2bb8c8..670939b0b8 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/loaders/LegacyProjectLoader.java @@ -233,7 +233,7 @@ public class LegacyProjectLoader extends AbstractProjectLoader { LOG.log(FINE, "Thrown exception:", info.getGradleException()); //NOI18N File f = ctx.project.getGradleFiles().getBuildScript(); for (String s : info.getProblems()) { - reps.add(GradleReport.simple(f == null ? null : f.toPath(), s)); + reps.add(GradleProject.createGradleReport(f == null ? null : f.toPath(), s)); } return ctx.previous.invalidate(info.getProblems().toArray(new GradleReport[0])); } @@ -275,7 +275,7 @@ public class LegacyProjectLoader extends AbstractProjectLoader { } } - return new GradleReport(orig.getErrorClass(), loc, orig.getLineNumber(), orig.getMessage(), + return GradleProject.createGradleReport(orig.getErrorClass(), loc, orig.getLineNumber(), orig.getMessage(), orig.getCause() == null ? null : copyReport(orig.getCause())); } @@ -283,7 +283,7 @@ public class LegacyProjectLoader extends AbstractProjectLoader { List<GradleReport> problems = new ArrayList<>(); Throwable th = ex; while (th != null) { - problems.add(GradleReport.simple(null, th.getMessage())); + problems.add(GradleProject.createGradleReport(null, th.getMessage())); } return problems; } @@ -385,7 +385,7 @@ public class LegacyProjectLoader extends AbstractProjectLoader { if (reported.getCause() != null && reported.getCause() != reported) { nested = createReport(reported.getCause()); } - return new GradleReport(reported.getClass().getName(), loc, line, reported.getMessage(), nested); + return GradleProject.createGradleReport(reported.getClass().getName(), loc, line, reported.getMessage(), nested); } private static BuildActionExecuter<NbProjectInfo> createInfoAction(ProjectConnection pconn, GradleCommandLine cmd, CancellationToken token, ProgressListener pl) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
