📄 abstracttestclassloader.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 + -