use of CustomClassloaders.CustomTokenClassLoader in project openj9 by eclipse.
the class TokenIncompatabilityTest method run.
public void run() {
boolean passed = true;
URLClassPathCreator pathCreator = new URLClassPathCreator("./Pets;./Sports;");
CustomTokenClassLoader loader = new CustomTokenClassLoader(pathCreator.createURLClassPath());
String[] classesToLoad = new String[] { "Dog", "SpeedSkating" };
String tok = "FindStore";
loader.setToken(tok);
for (int index = 0; index < classesToLoad.length; index++) {
try {
loader.loadClass(classesToLoad[index]);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
for (int index = 0; index < classesToLoad.length; index++) {
if (true != loader.isClassInSharedCache(tok, classesToLoad[index])) {
System.out.println("\nClass: " + classesToLoad[index] + " not in cache");
passed = false;
}
}
pathCreator = new URLClassPathCreator("./Pets;");
CustomURLClassLoader urlCl = new CustomURLClassLoader(pathCreator.createURLClassPath());
if (true == urlCl.isClassInSharedCache("Dog")) {
passed = false;
System.out.println("\nURLClassLoader succesfully loaded class stored with token.");
}
pathCreator = new URLClassPathCreator("./Sports;");
CustomURLLoader urlL = new CustomURLLoader(pathCreator.createURLClassPath());
if (true == urlL.isClassInSharedCache(0, "Dog")) {
passed = false;
System.out.println("\nURLLoader succesfully loaded class stored with token.");
}
// Load with URLCP
try {
urlCl.loadClass("Cat");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// Load with URLL
urlL.loadClassFrom("Cricket", 0);
// Find with Token
if (true == loader.isClassInSharedCache(tok, "Cat")) {
passed = false;
System.out.println("\nTokenLoader found class loaded by URLClassLoader");
}
if (true == loader.isClassInSharedCache(tok, "Cricket")) {
passed = false;
System.out.println("\nTokenLoader found class loaded by URLLoader");
}
// Find with token == url
pathCreator = new URLClassPathCreator("./Pets;");
URL[] urlarray = pathCreator.createURLClassPath();
String urlToken = urlarray[0].toString();
if (true == loader.isClassInSharedCache(urlToken, "Cricket")) {
passed = false;
System.out.println("\nTokenLoader found class loaded by URLLoader using a token that looked like a url");
}
if (passed) {
System.out.println("\nTEST PASSED");
} else {
System.out.println("\nTEST FAILED");
}
}
Aggregations