From 8819ee6aef78011c770277d7a5932eb97b9fd598 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Thu, 9 Mar 2023 22:58:45 +0100 Subject: [PATCH] fixes a NPE in TestOutputListenerProvider (maven output handler). Cannot invoke "org.netbeans.modules.maven.api.output.OutputVisitor $Context.getCurrentProject()" because the return value of "org.netbeans.modules.maven.api.output.OutputVisitor.getContext()" is null. --- .../output/TestOutputListenerProvider.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/java/maven/src/org/netbeans/modules/maven/output/TestOutputListenerProvider.java b/java/maven/src/org/netbeans/modules/maven/output/TestOutputListenerProvider.java index 0a7d6bfe084b..ec06d407e923 100644 --- a/java/maven/src/org/netbeans/modules/maven/output/TestOutputListenerProvider.java +++ b/java/maven/src/org/netbeans/modules/maven/output/TestOutputListenerProvider.java @@ -124,12 +124,18 @@ public void processLine(String line, OutputVisitor visitor) { match = runningPattern2.matcher(line); if (match.matches()) { try { - Object defaultValue = PluginPropertyUtils.createEvaluator(visitor.getContext().getCurrentProject()) - .evaluate("${project.build.directory}/surefire-reports"); - if (defaultValue instanceof String) { - outputDir = (String) defaultValue; - // don't want to create link on the surefire line -// visitor.setOutputListener(new TestOutputListener(runningTestClass, outputDir), true); + OutputVisitor.Context context = visitor.getContext(); + if (context != null) { + Project currentProject = context.getCurrentProject(); + if (currentProject != null) { + Object defaultValue = PluginPropertyUtils.createEvaluator(currentProject) + .evaluate("${project.build.directory}/surefire-reports"); + if (defaultValue instanceof String) { + outputDir = (String) defaultValue; + // don't want to create link on the surefire line + // visitor.setOutputListener(new TestOutputListener(runningTestClass, outputDir), true); + } + } } return; } catch (ExpressionEvaluationException ex) {