Skip to content

Commit 3991900

Browse files
committed
Apply StringTokenizer to build/test/pdoc parameters
1 parent 4c76adc commit 3991900

File tree

5 files changed

+23
-8
lines changed

5 files changed

+23
-8
lines changed

src/main/java/org/netbeans/modules/python/PythonUtility.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import org.apache.commons.io.FileUtils;
2626
import org.apache.commons.io.IOUtils;
2727
import org.apache.commons.lang3.ArrayUtils;
28+
import org.apache.commons.text.StringTokenizer;
29+
import org.apache.commons.text.matcher.StringMatcherFactory;
2830
import org.json.JSONObject;
2931
import org.netbeans.api.annotations.common.NonNull;
3032
import org.netbeans.api.extexecution.ExecutionDescriptor;
@@ -56,6 +58,13 @@ public class PythonUtility {
5658

5759
public static final Logger LOG = Logger.getLogger(PythonUtility.class.getName());
5860

61+
public static final StringTokenizer STRING_TOKENIZER = new StringTokenizer();
62+
63+
static {
64+
STRING_TOKENIZER.setDelimiterMatcher(StringMatcherFactory.INSTANCE.spaceMatcher());
65+
STRING_TOKENIZER.setQuoteMatcher(StringMatcherFactory.INSTANCE.quoteMatcher());
66+
}
67+
5968
public static final RequestProcessor RP = new RequestProcessor("Retry RP", 2);
6069
public static final String PYTHON_MIME_TYPE = "text/x-python";
6170
public static final File PYLSP_VENV_DIR = Paths.get(System.getProperty("netbeans.user")).resolve(".pythonlsp").toFile();
@@ -74,6 +83,10 @@ public class PythonUtility {
7483
return toFileObject != null ? toFileObject : null;
7584
};
7685

86+
public static StringTokenizer getParamsTokenizer() {
87+
return STRING_TOKENIZER;
88+
}
89+
7790
public static LineConvertor FILE_CONVERTOR = LineConvertors.filePattern(FILE_LOCATOR,
7891
PYTHON_STACKTRACE_PATTERN,
7992
null, 1, 2);

src/main/java/org/netbeans/modules/python/actions/PythonBuild.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ public static void runAction(Project owner, FileObject context) {
4545
if (owner != null) {
4646
Properties prop = PythonUtility.getProperties(owner, false);
4747
if (!prop.getProperty("nbproject.build.params", "").isEmpty()) {
48-
params = prop.getProperty("nbproject.build.params", "")
49-
.split(" ");
48+
params = PythonUtility.getParamsTokenizer().reset(
49+
prop.getProperty("nbproject.build.params", "")
50+
).getTokenArray();
5051
}
5152
}
5253
List<String> asList1 = null;

src/main/java/org/netbeans/modules/python/actions/PythonDocGenerator.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ public void actionPerformed(ActionEvent ev) {
5252
String[] params = {};
5353
List<String> argList = new ArrayList<>();
5454
Properties prop = PythonUtility.getProperties(context, false);
55-
params = prop.getProperty("nbproject.pdoc.params", "-o docs")
56-
.split(" ");
55+
params = PythonUtility.getParamsTokenizer().reset(
56+
prop.getProperty("nbproject.pdoc.params", "-o docs")
57+
).getTokenArray();
5758
List<String> asList1 = null;
5859

5960
asList1 = Arrays.asList(/*osShell[1],*/PythonUtility.getLspPythonExe(),

src/main/java/org/netbeans/modules/python/actions/PythonRun.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import java.util.List;
88
import java.util.Properties;
99
import java.util.logging.Logger;
10-
import org.apache.commons.text.StringTokenizer;
11-
import org.apache.commons.text.matcher.StringMatcherFactory;
1210
import org.netbeans.api.extexecution.ExecutionService;
1311
import org.netbeans.api.project.Project;
1412
import org.netbeans.modules.python.PythonOutputLine;
@@ -59,7 +57,8 @@ public static List<String> getRunArgs(Project owner, DataObject context, boolean
5957
if (owner != null) {
6058
Properties prop = PythonUtility.getProperties(owner, false);
6159
if (!prop.getProperty("nbproject.run.params", "").isEmpty()) {
62-
params = new StringTokenizer(prop.getProperty("nbproject.run.params", ""), StringMatcherFactory.INSTANCE.spaceMatcher(), StringMatcherFactory.INSTANCE.quoteMatcher()).getTokenArray();
60+
params = PythonUtility.getParamsTokenizer()
61+
.reset(prop.getProperty("nbproject.run.params", "")).getTokenArray();
6362
}
6463
}
6564
if (owner != null && PythonUtility.isPoetry((PythonProject) owner) && !isDebug) {

src/main/java/org/netbeans/modules/python/testrunner/PythonTestManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public static Object[] getTestRunParams(PythonProject project) {
3131
try {
3232
Properties prop = PythonUtility.getProperties(project, false);
3333
return new Object[]{prop.getProperty("nbproject.test.runner", "unittest"),
34-
prop.getProperty("nbproject.test.params", "*Test.py").split(" ")};
34+
PythonUtility.getParamsTokenizer().reset(
35+
prop.getProperty("nbproject.test.params", "*Test.py")).getTokenArray()};
3536
} catch (IOException ex) {
3637
Exceptions.printStackTrace(ex);
3738
}

0 commit comments

Comments
 (0)