⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstracttestclassloader.java

📁 模块化您的应用系统
💻 JAVA
字号:
package com.opensymphony.tonic.loaders.classloading;

import com.opensymphony.tonic.util.ClassLoaderUtils;
import com.opensymphony.tonic.util.FileUtils;
import com.opensymphony.tonic.loaders.TestClassPathPluginLoader;
import junit.framework.TestCase;

import java.io.File;
import java.io.IOException;
import java.net.URL;

public abstract class AbstractTestClassLoader extends TestCase
{
    public static final String PADDINGTON_JAR = "paddington-test-plugin.jar";
    public static final String POOH_JAR = "pooh-test-plugin.jar";

    protected File pluginsDirectory;
    protected File tempDir;
    protected File pluginsTestDir;

    protected File getPluginsDirectory()
    {
        URL url = ClassLoaderUtils.getResource("plugins", TestClassPathPluginLoader.class);
        String path = url.toExternalForm().substring(5);
    	path = path.replace('/', File.separatorChar);
        File pluginsDirectory = new File(path);
        return pluginsDirectory;
    }

    /**
     * Generate a random string of characters - including numbers
     */
    public static String randomString(int length)
    {
        StringBuffer b = new StringBuffer(length);

        for (int i = 0; i < length; i++)
        {
            b.append(randomAlpha());
        }

        return b.toString();
    }

    /**
     * Generate a random character from the alphabet - either a-z or A-Z
     */
    public static char randomAlpha()
    {
        int i = (int) (Math.random() * 52);

        if (i > 25)
            return (char) (97 + i - 26);
        else
            return (char) (65 + i);
    }

    protected void createFillAndCleanTempPluginDirectory() throws IOException
    {
        pluginsDirectory = getPluginsDirectory(); // hacky way of getting to the directoryPluginLoaderFiles classloading
        tempDir = new File(System.getProperty("java.io.tmpdir"));

        File pluginsDir = new File(tempDir, "plugins");
        pluginsTestDir = new File(pluginsDir, randomString(6));

        if (pluginsDir.exists() && pluginsDir.isDirectory())
            assertTrue(FileUtils.deleteDir(pluginsDir));

        pluginsTestDir.mkdirs();

        FileUtils.copyDirectory(pluginsDirectory, pluginsTestDir);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -