From 4075a0bd136c083a67d6ddf7c2e73bddf345af5a Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Wed, 23 Mar 2022 08:14:58 +0700 Subject: [PATCH] Use static imports for file and path separator constants It makes concatenated paths a little more readable. Signed-off-by: Alexander Kriegisch --- .../test/java/org/aspectj/tools/ajc/Ajc.java | 19 ++++++---- .../org/aspectj/tools/ajc/AjcTestCase.java | 37 ++++++++++--------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/Ajc.java b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/Ajc.java index ee49dc10a..e34ce3a38 100644 --- a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/Ajc.java +++ b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/Ajc.java @@ -36,6 +36,9 @@ import org.aspectj.bridge.context.CompilationAndWeavingContext; import org.aspectj.testing.util.TestUtil; import org.aspectj.util.FileUtil; +import static java.io.File.pathSeparator; +import static java.io.File.separator; + /** * The Ajc class is intended for use as part of a unit-test suite, it drives the AspectJ compiler and lets you check the compilation * results. Compilations run in a sandbox that is created in C:\temp\ajcSandbox or /tmp/ajcSandbox depending on your platform. @@ -51,13 +54,13 @@ public class Ajc { private static final String BUILD_OUTPUT_FOLDER = "target"; public static final String outputFolder(String module) { - return File.pathSeparator + ".." +File.separator + module + File.separator + BUILD_OUTPUT_FOLDER + File.separator + "classes"; + return pathSeparator + ".." + separator + module + separator + BUILD_OUTPUT_FOLDER + separator + "classes"; } public static final String outputFolders(String... modules) { StringBuilder s = new StringBuilder(); for (String module: modules) { - s.append(File.pathSeparator + ".." +File.separator + module + File.separator + BUILD_OUTPUT_FOLDER + File.separator + "classes"); + s.append(pathSeparator + ".." + separator + module + separator + BUILD_OUTPUT_FOLDER + separator + "classes"); } return s.toString(); } @@ -67,7 +70,7 @@ public class Ajc { outputFolder("testing-client") + outputFolder("runtime") + outputFolder("bcel-builder") - + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "junit" + File.separator + "junit.jar" + + File.pathSeparator + ".." + separator + "lib" + separator + "junit" + separator + "junit.jar" + outputFolder("bridge") + outputFolder("loadtime") + outputFolder("weaver") @@ -321,17 +324,17 @@ public class Ajc { hasOutdir = true; } boolean isOutjar = args[i].equals("-outjar"); - StringTokenizer strTok = new StringTokenizer(args[++i], File.pathSeparator); + StringTokenizer strTok = new StringTokenizer(args[++i], pathSeparator); while (strTok.hasMoreTokens()) { File f = new File(strTok.nextToken()); buff.append(adjustFileOrDir(f, copyThisTime, isOutjar).getAbsolutePath()); if (strTok.hasMoreTokens()) - buff.append(File.pathSeparator); + buff.append(pathSeparator); } newArgs[i] = buff.toString(); if (args[i - 1].equals("-classpath")) { hasClasspath = true; - newArgs[i] = newArgs[i] + File.pathSeparator + TESTER_PATH + File.pathSeparator + newArgs[i] = newArgs[i] + pathSeparator + TESTER_PATH + pathSeparator + getSandboxDirectory().getAbsolutePath(); } } else { @@ -348,7 +351,7 @@ public class Ajc { newArgs = new String[oldArgs.length + 2]; System.arraycopy(oldArgs, 0, newArgs, 0, oldArgs.length); newArgs[oldArgs.length] = "-classpath"; - newArgs[oldArgs.length + 1] = TESTER_PATH + File.pathSeparator + getSandboxDirectory().getAbsolutePath(); + newArgs[oldArgs.length + 1] = TESTER_PATH + pathSeparator + getSandboxDirectory().getAbsolutePath(); } if (!hasOutdir) { String[] oldArgs = newArgs; @@ -366,7 +369,7 @@ public class Ajc { if (!from.isAbsolute()) { ret = new File(sandbox, from.getPath()); File fromParent = from.getParentFile(); - String relativeToPath = (fromParent != null) ? (fromParent.getPath() + File.separator) : ""; + String relativeToPath = (fromParent != null) ? (fromParent.getPath() + separator) : ""; if (baseDir != null) { from = new File(baseDir, from.getPath()); // if (ensureDirsExist) { diff --git a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjcTestCase.java b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjcTestCase.java index 0bf08886c..b6ae38ba1 100644 --- a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjcTestCase.java +++ b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjcTestCase.java @@ -37,6 +37,9 @@ import org.aspectj.util.LangUtil; import junit.framework.TestCase; +import static java.io.File.pathSeparator; +import static java.io.File.separator; + /** * A TestCase class that acts as the superclass for all test cases wishing to drive the ajc compiler. *

@@ -65,7 +68,7 @@ public abstract class AjcTestCase extends TestCase { public static final String CLASSPATH_ASM = Arrays.stream(System.getProperty("java.class.path") - .split(File.pathSeparator)) + .split(pathSeparator)) .filter(path -> path.replace('\\', '/').contains("org/ow2/asm/")) .findFirst() .orElseThrow(() -> new RuntimeException("ASM library not found on classpath")); @@ -73,13 +76,13 @@ public abstract class AjcTestCase extends TestCase { // see Ajc and AntSpec public static final String DEFAULT_CLASSPATH_ENTRIES = Ajc.outputFolders("bridge","util","loadtime","weaver","asm","testing-client","runtime","org.aspectj.matcher") - + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "junit" + File.separator + "junit.jar" - + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "bcel" + File.separator + "bcel.jar" - + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "bcel" + File.separator + "bcel-verifier.jar" - + File.pathSeparator + CLASSPATH_ASM - + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "test" + File.separator + "testing-client.jar" + + pathSeparator + ".." + separator + "lib" + separator + "junit" + separator + "junit.jar" + + pathSeparator + ".." + separator + "lib" + separator + "bcel" + separator + "bcel.jar" + + pathSeparator + ".." + separator + "lib" + separator + "bcel" + separator + "bcel-verifier.jar" + + pathSeparator + CLASSPATH_ASM + + pathSeparator + ".." + separator + "lib" + separator + "test" + separator + "testing-client.jar" // hmmm, this next one should perhaps point to an aj-build jar... - + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "test" + File.separator + "aspectjrt.jar" + + pathSeparator + ".." + separator + "lib" + separator + "test" + separator + "aspectjrt.jar" ; /* @@ -149,7 +152,7 @@ public abstract class AjcTestCase extends TestCase { char[] chars = srcFile.toCharArray(); for (char c : chars) { if ((c == '\\') || (c == '/')) { - srcFileName.append(File.separator); + srcFileName.append(separator); } else { srcFileName.append(c); } @@ -580,7 +583,7 @@ public abstract class AjcTestCase extends TestCase { if (classpath != null) { // allow replacing this special variable, rather than copying all files to allow tests of jars that don't end in .jar cp.append(substituteSandbox(classpath)); - cp.append(File.pathSeparator); + cp.append(pathSeparator); } if (moduleName == null) { // When running modules, we want more control so don't try to be helpful by adding all jars @@ -590,7 +593,7 @@ public abstract class AjcTestCase extends TestCase { StringBuilder mp = new StringBuilder(); if (modulepath != null) { mp.append(substituteSandbox(modulepath)); - mp.append(File.pathSeparator); + mp.append(pathSeparator); } URLClassLoader sandboxLoader; @@ -620,7 +623,7 @@ public abstract class AjcTestCase extends TestCase { File directory = new File ("."); String absPath = directory.getAbsolutePath(); - String javaagent= absPath+File.separator+".."+File.separator+"aj-build"+File.separator+"dist"+File.separator+"tools"+File.separator+"lib"+File.separator+"aspectjweaver.jar"; + String javaagent= absPath+separator+".."+separator+"aj-build"+separator+"dist"+separator+"tools"+separator+"lib"+separator+"aspectjweaver.jar"; try { String command ="java " +vmargs+ " -classpath " + cp +" -javaagent:"+javaagent + " " + className ; @@ -650,7 +653,7 @@ public abstract class AjcTestCase extends TestCase { mp = mp.replace(mp.indexOf("$runtime"),"$runtime".length(),TestUtil.aspectjrtPath().toString()); } if (cp.indexOf("aspectjrt")==-1) { - cp.append(TestUtil.aspectjrtPath().getPath()).append(File.pathSeparator); + cp.append(TestUtil.aspectjrtPath().getPath()).append(pathSeparator); } String command = LangUtil.getJavaExecutable().getAbsolutePath() + " " +vmargs+ (cp.length()==0?"":" -classpath " + cp) + " -p "+mp+" --module "+moduleName ; if (Ajc.verbose) { @@ -676,7 +679,7 @@ public abstract class AjcTestCase extends TestCase { // mp = mp.replace(mp.indexOf("$runtime"),"$runtime".length(),TestUtil.aspectjrtPath().toString()); // } if (cp.indexOf("aspectjrt")==-1) { - cp.append(File.pathSeparator).append(TestUtil.aspectjrtPath().getPath()); + cp.append(pathSeparator).append(TestUtil.aspectjrtPath().getPath()); } String command = LangUtil.getJavaExecutable().getAbsolutePath() + " " +vmargs+ (cp.length()==0?"":" -classpath " + cp) + " " + className ; if (Ajc.verbose) { @@ -867,7 +870,7 @@ public abstract class AjcTestCase extends TestCase { } private URL[] getURLs(String classpath) { - StringTokenizer strTok = new StringTokenizer(classpath, File.pathSeparator); + StringTokenizer strTok = new StringTokenizer(classpath, pathSeparator); URL[] urls = new URL[strTok.countTokens()]; try { for (int i = 0; i < urls.length; i++) { @@ -926,7 +929,7 @@ public abstract class AjcTestCase extends TestCase { cpIndex++; String[] newargs = new String[args.length]; System.arraycopy(args, 0, newargs, 0, args.length); - newargs[cpIndex] = args[cpIndex] + File.pathSeparator + TestUtil.aspectjrtPath().getPath(); + newargs[cpIndex] = args[cpIndex] + pathSeparator + TestUtil.aspectjrtPath().getPath(); args = newargs; } } @@ -934,7 +937,7 @@ public abstract class AjcTestCase extends TestCase { if (needsJRTFS) { if (!args[cpIndex].contains(LangUtil.JRT_FS)) { String jrtfsPath = LangUtil.getJrtFsFilePath(); - args[cpIndex] = jrtfsPath + File.pathSeparator + args[cpIndex]; + args[cpIndex] = jrtfsPath + pathSeparator + args[cpIndex]; } } return args; @@ -1014,7 +1017,7 @@ public abstract class AjcTestCase extends TestCase { File[] files = dir.listFiles(); for (File file : files) { if (file.getName().endsWith(".jar")) { - buff.append(File.pathSeparator); + buff.append(pathSeparator); buff.append(file.getAbsolutePath()); } else if (file.isDirectory()) { getAnyJars(file, buff); -- 2.39.5