mirror of
https://github.com/2006-Scape/Parabot.git
synced 2026-07-06 16:50:39 +00:00
Test changelist
This commit is contained in:
@@ -0,0 +1,68 @@
|
|||||||
|
package org.parabot.core.parsers.randoms;
|
||||||
|
|
||||||
|
import org.parabot.core.Configuration;
|
||||||
|
import org.parabot.core.Context;
|
||||||
|
import org.parabot.core.Core;
|
||||||
|
import org.parabot.core.Directories;
|
||||||
|
import org.parabot.core.io.ProgressListener;
|
||||||
|
import org.parabot.environment.api.utils.WebUtil;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.URLClassLoader;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author JKetelaar
|
||||||
|
*/
|
||||||
|
public class PublicRandoms extends RandomParser {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void parse() {
|
||||||
|
File myJar = new File(Directories.getCachePath() + "/randoms.jar");
|
||||||
|
if (!myJar.exists() || !myJar.canRead()) {
|
||||||
|
download();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
URL url = myJar.toURI().toURL();
|
||||||
|
URL[] urls = new URL[]{url};
|
||||||
|
String server = Context.getInstance().getServerProviderInfo().getServerName();
|
||||||
|
|
||||||
|
URLClassLoader child = new URLClassLoader(urls, this.getClass().getClassLoader());
|
||||||
|
Class<?> classToLoad = Class.forName("org.parabot.randoms.Core", true, child);
|
||||||
|
Method method = classToLoad.getDeclaredMethod("init", String.class);
|
||||||
|
Object instance = classToLoad.newInstance();
|
||||||
|
method.invoke(instance, server);
|
||||||
|
Core.verbose("Successfully parsed public random!");
|
||||||
|
} catch (NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException | ClassNotFoundException | MalformedURLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
Core.verbose("Failed to parse random...");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void download() {
|
||||||
|
try {
|
||||||
|
File random = new File(Directories.getCachePath() + "/randoms.jar");
|
||||||
|
if (random.exists()) {
|
||||||
|
Core.verbose("Public random dependency already exists, no need to download it...");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String downloadLink = Configuration.GET_RANDOMS;
|
||||||
|
WebUtil.downloadFile(new URL(downloadLink), random, new ProgressListener() {
|
||||||
|
@Override
|
||||||
|
public void onProgressUpdate(double v) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDownloadSpeed(double v) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user