Examples of DynamicClassLoader


Examples of com.twosigma.beaker.jvm.classloader.DynamicClassLoader

    /*
     * This thread performs all the evaluation
     */
   
    public void run() {
      DynamicClassLoader loader = null;;
      jobDescriptor j = null;
      JavaSourceCompiler javaSourceCompiler;
 
      javaSourceCompiler = new JavaSourceCompilerImpl();
     
      while(!exit) {
        try {
          // wait for work
          syncObject.acquire();
         
          // check if we must create or update class loader
          if(loader==null || updateLoader) {
            loader=new DynamicClassLoader(outDir);
            for(String pt : classPath) {
              loader.add(pt);
            }
          }
         
          // get next job descriptor
          j = jobQueue.poll();
          if(j==null)
            continue;
 
          j.outputObject.started();
         
          Pattern p;
          Matcher m;
          String pname = packageId;
         
          JavaSourceCompiler.CompilationUnit compilationUnit = javaSourceCompiler.createCompilationUnit(new File(outDir));
       
          // build the compiler class path
          String classpath = System.getProperty("java.class.path");
          String[] classpathEntries = classpath.split(File.pathSeparator);
          if(classpathEntries!=null && classpathEntries.length>0)
            compilationUnit.addClassPathEntries(Arrays.asList(classpathEntries));
          if(!classPath.isEmpty())
            compilationUnit.addClassPathEntries(classPath);
          compilationUnit.addClassPathEntry(outDir);
       
          // normalize and analyze code
          String code = normalizeCode(j.codeToBeExecuted);
       
          String [] codev = code.split("\n");
          int ci = 0;
       
          StringBuilder javaSourceCode =  new StringBuilder();
          p = Pattern.compile("\\s*package\\s+((?:[a-zA-Z]\\w*)(?:\\.[a-zA-Z]\\w*)*);.*");
          m = p.matcher(codev[ci]);
       
          if(m.matches()) {
            pname = m.group(1);
            ci++;
          }
          javaSourceCode.append("package ");
          javaSourceCode.append(pname);
          javaSourceCode.append(";\n");
       
          for(String i : imports) {
            javaSourceCode.append("import ");
            javaSourceCode.append(i);
            javaSourceCode.append(";\n");
          }
       
          p = Pattern.compile("\\s*import\\s+((?:[a-zA-Z]\\w*)(?:\\.[a-zA-Z]\\w*)*(?:\\.\\*)?);.*");
          m = p.matcher(codev[ci]);
          while(m.matches()) {
            String impstr = m.group(1);
            ci++;
            m = p.matcher(codev[ci]);
       
            javaSourceCode.append("import ");
            javaSourceCode.append(impstr);
            javaSourceCode.append(";\n");
          }
       
          p = Pattern.compile("(?:^|.*\\s+)class\\s+([a-zA-Z]\\w*).*");
          m = p.matcher(codev[ci]);
          if(m.matches()) {
            // this is a class definition
       
            String cname = m.group(1);
       
            for(; ci<codev.length; ci++)
              javaSourceCode.append(codev[ci]);   
       
            compilationUnit.addJavaSource(pname+"."+cname, javaSourceCode.toString());
            try {
              javaSourceCompiler.compile(compilationUnit);
              javaSourceCompiler.persistCompiledClasses(compilationUnit);
              j.outputObject.finished(null);
            } catch(Exception e) { j.outputObject.error("ERROR:\n"+e.toString()); }   
          } else {
            String ret = "void";
            if(codev[codev.length-1].matches("(^|.*\\s+)return\\s+.*"))
              ret = "Object";
            // this is an expression evaluation
            javaSourceCode.append("public class Foo {\n");
            javaSourceCode.append("public static ");
            javaSourceCode.append(ret);
            javaSourceCode.append(" beakerRun() throws InterruptedException {\n");
            for(; ci<codev.length; ci++)
              javaSourceCode.append(codev[ci]);
            javaSourceCode.append("}\n");
            javaSourceCode.append("}\n");
       
            compilationUnit.addJavaSource(pname+".Foo", javaSourceCode.toString());
 
            loader.clearCache();
            javaSourceCompiler.compile(compilationUnit);
            javaSourceCompiler.persistCompiledClasses(compilationUnit);
            Class<?> fooClass = loader.loadClass(pname+".Foo");
            Method mth = fooClass.getDeclaredMethod("beakerRun", (Class[]) null);
            Object o = mth.invoke(null, (Object[])null);
            if(ret.equals("Object")) {
              j.outputObject.finished(o);
            } else {
View Full Code Here

Examples of com.twosigma.beaker.jvm.classloader.DynamicClassLoader

        }
      }
      loader = null;
      ClassLoader cl;
      if(outDir!=null && !outDir.isEmpty()) {
        loader = new DynamicClassLoader(outDir);
        loader.addAll(Arrays.asList(urls));
        cl = loader.getLoader();
      } else
        cl = new URLClassLoader(urls);
      return cl;
View Full Code Here

Examples of de.mhus.lib.lang.DynamicClassLoader

  private static Log log = Log.getLog(ClassLoadingBase.class);
 
  private DynamicClassLoader classloader;

  public ClassLoadingBase(ClassLoader parent) {
    classloader = new DynamicClassLoader("base",parent);
    this.objActivator = new MActivator(classloader);
  }
View Full Code Here

Examples of de.mhus.lib.lang.DynamicClassLoader

    classloader = new DynamicClassLoader("base",parent);
    this.objActivator = new MActivator(classloader);
  }
 
  public ClassLoadingBase() {
    classloader = new DynamicClassLoader("base");
    this.objActivator = new MActivator(classloader);
  }
View Full Code Here

Examples of de.mhus.lib.lang.DynamicClassLoader

  public BaseInfo initialize(IModConfig config) {
   
    Info info = new Info();
    IConfig cclasspath = config.getConfiguration().getConfig("classpath");
    info.classloader = new DynamicClassLoader(config.getConfiguration().getString("id", "?"));
    info.classloader.doSetupFromConfig(cclasspath);
    classloader.add(info.classloader);
   
    return info;
  }
View Full Code Here

Examples of de.mhus.lib.lang.DynamicClassLoader

    if (cactivator == null) return;
   
    log().t("Initialize Activator");
    try {
      IConfig cloader = cactivator.getConfig("loader");
      DynamicClassLoader loader = null;
      if (cloader != null) {
        loader = new DynamicClassLoader("main");
        loader.doSetupFromConfig(cloader);
      }
      MActivator acti = new MActivator(cactivator,loader);
      activator = acti;
    } catch (Throwable t) {
      log().w(t);
View Full Code Here

Examples of de.mhus.lib.lang.DynamicClassLoader

      // MActivator acti = getActivator();
      MActivator acti = new MActivator(getClass().getClassLoader());
      IConfig cClassPath = config.getConfig("classpath");
      if (cClassPath != null) {
        DynamicClassLoader classLoader = new DynamicClassLoader(getName(),getClass().getClassLoader());
        classLoader.doSetupFromConfig(cClassPath);
        acti = new MActivator(classLoader);
      }
     
     
      form.setActivator(acti);
View Full Code Here

Examples of it.eng.spagobi.utilities.DynamicClassLoader

              ZipEntry entry = (ZipEntry)totalZipEntries.nextElement();
              if (entry.getName().endsWith(".jar")) {
                // set classloader with jar
                jarFile = new File(destDir+entry.getName());
                ClassLoader previous = Thread.currentThread().getContextClassLoader();
                DynamicClassLoader dcl = new DynamicClassLoader(jarFile, previous);
                //ClassLoader current = URLClassLoader.newInstance(new URL[]{jarFile.toURL()}, previous);
                Thread.currentThread().setContextClassLoader(dcl);            
              }
              if (entry.getName().endsWith(".jrxml")) {
                // set InputStream with jrxml            
View Full Code Here

Examples of lib.DynamicClassLoader

* Will then call the appropriate Testbase to run the tests.
*/
public class Runner {   
   
    public static void main(String[] args) {
        DynamicClassLoader dcl = new DynamicClassLoader();

        // get a class for test parameters
        TestParameters param = new TestParameters();
       
        ClParser cli = new ClParser();       
       
        //parse the commandline arguments if an ini-parameter is given       
        String iniFile = cli.getIniPath(args);
       
        //initialize cfgParser with ini-path
        CfgParser ini = new CfgParser(iniFile);
               
        //parse ConfigFile
        ini.getIniParameters(param);               
       
        //parse the commandline arguments
        cli.getCommandLineParameter(param,args);
       
        System.out.println("TestJob: "+param.get("TestJob"));
       
        TestBase toExecute = (TestBase) dcl.getInstance("base."+
                                            (String)param.get("TestBase"));

        boolean worked = toExecute.executeTest(param);
       
        if (!worked) {
View Full Code Here

Examples of org.eclipse.persistence.dynamic.DynamicClassLoader

     * at deploy time after all metadata processing has completed.
     */
    public void createDynamicClasses(ClassLoader loader) {
        if (! m_virtualClasses.isEmpty()) {
            if (DynamicClassLoader.class.isAssignableFrom(loader.getClass())) {
                DynamicClassLoader dcl = (DynamicClassLoader) loader;
           
                // Create the dynamic classes.
                Map<String, MetadataDescriptor> dynamicClasses = new HashMap<String, MetadataDescriptor>();
                for (ClassAccessor accessor : m_virtualClasses.values()) {
                    createDynamicClass(accessor.getDescriptor(), dynamicClasses, dcl);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.