Search in sources :

Example 1 with CustomTokenClassLoader

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");
    }
}
Also used : CustomURLLoader(CustomClassloaders.CustomURLLoader) CustomTokenClassLoader(CustomClassloaders.CustomTokenClassLoader) URLClassPathCreator(Utilities.URLClassPathCreator) CustomURLClassLoader(CustomClassloaders.CustomURLClassLoader) URL(java.net.URL)

Aggregations

CustomTokenClassLoader (CustomClassloaders.CustomTokenClassLoader)1 CustomURLClassLoader (CustomClassloaders.CustomURLClassLoader)1 CustomURLLoader (CustomClassloaders.CustomURLLoader)1 URLClassPathCreator (Utilities.URLClassPathCreator)1 URL (java.net.URL)1