package org.kevoree.kcl.leveldb; import org.junit.Test; import org.kevoree.kcl.api.FlexyClassLoader; import org.kevoree.kcl.api.FlexyClassLoaderFactory; import org.kevoree.kcl.api.ResolutionPriority; import org.kevoree.kcl.impl.FlexyClassLoaderImpl; import org.kevoree.kcl.indexdb.leveldb.LevelDBStore; import org.kevoree.log.Log; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.nio.file.Files; import java.nio.file.Path; /** * Created with IntelliJ IDEA. * User: duke * Date: 19/08/13 * Time: 11:47 */ public class SimpleTest { @Test public void simpleTest() throws IOException, ClassNotFoundException, InvocationTargetException, IllegalAccessException, NoSuchMethodException { Log.setPrintCaller(true); System.out.println("Perform simple KCL Test"); Path temp = Files.createTempDirectory("KCLTEST"); File tempDB = temp.toFile(); System.out.println(temp); final LevelDBStore db = new LevelDBStore(tempDB); FlexyClassLoader jar = new FlexyClassLoaderImpl(db); jar.resolutionPriority = ResolutionPriority.CHILDS; jar.load(this.getClass().getClassLoader().getResourceAsStream("org.kevoree.platform.standalone-3.2.4-SNAPSHOT.jar")); Class clazz = jar.loadClass("org.kevoree.platform.standalone.App"); Method meth = clazz.getMethod("main", String[].class); String[] params = null; meth.invoke(null, (Object) params); try { Thread.sleep(20000); } catch (InterruptedException e) { e.printStackTrace(); } db.close(); } }