/** * Build a {@link GroovyClassLoader} for the given {@code ClassLoader}. * @param classLoader the ClassLoader to build a GroovyClassLoader for * @since 4.3.3 */ protected GroovyClassLoader buildGroovyClassLoader(@Nullable ClassLoader classLoader) { return (this.compilerConfiguration != null ? new GroovyClassLoader(classLoader, this.compilerConfiguration) : new GroovyClassLoader(classLoader)); }
/** * @return a new GroovyClassLoader */ GroovyClassLoader getGroovyClassLoader() { return new GroovyClassLoader(); }
/** * Build a {@link GroovyClassLoader} for the given {@code ClassLoader}. * @param classLoader the ClassLoader to build a GroovyClassLoader for * @since 4.3.3 */ protected GroovyClassLoader buildGroovyClassLoader(@Nullable ClassLoader classLoader) { return (this.compilerConfiguration != null ? new GroovyClassLoader(classLoader, this.compilerConfiguration) : new GroovyClassLoader(classLoader)); }
@Override public GroovyClassLoader run() { return new GroovyClassLoader(); } }));
public GroovyClassLoader run() { return new GroovyClassLoader(parentLoader); } });
public Object run() { return new GroovyClassLoader(parentLoader); } }));
/** * @return a new GroovyClassLoader */ GroovyClassLoader getGroovyClassLoader() { return new GroovyClassLoader(); }
/** * compiles the Groovy source code * * @param sFilterCode * @return * @throws org.codehaus.groovy.control.CompilationFailedException * */ public Class compileGroovy(String sFilterCode) throws org.codehaus.groovy.control.CompilationFailedException { GroovyClassLoader loader = new GroovyClassLoader(); return loader.parseClass(sFilterCode); }
public GroovyClassLoader run() { ClassLoader parent = Thread.currentThread().getContextClassLoader(); if (parent == null) parent = ProcessingUnit.class.getClassLoader(); return loader == null ? new GroovyClassLoader(parent, configuration) : loader; } });
public Object run() { return new GroovyClassLoader(parentLoader); } });
public Object run() { return new GroovyClassLoader(SecurityTestSupport.class.getClassLoader()); } });
/** * compiles the Groovy source code * * @param sFilterCode * @return * @throws org.codehaus.groovy.control.CompilationFailedException * */ public Class compileGroovy(String sFilterCode) throws org.codehaus.groovy.control.CompilationFailedException { GroovyClassLoader loader = new GroovyClassLoader(); return loader.parseClass(sFilterCode); }
GroovyClassLoader gLoader = new GroovyClassLoader(classLoader); try { Class scriptClass = gLoader.parseClass(scriptText);
public Object run() { CompilerConfiguration configuration = new CompilerConfiguration(); configuration.setClasspath(mgr.getClassPath()); return new GroovyClassLoader(finalParent, configuration); } });
public long execute() throws Exception { ClassLoader cl = new URLClassLoader(classpath, ClassLoader.getSystemClassLoader().getParent()); GroovyClassLoader gcl = new GroovyClassLoader(cl); CompilationUnit cu = new CompilationUnit(new CompilerConfiguration(), null, gcl, new GroovyClassLoader(this.getClass().getClassLoader())); for (File source : sources) { cu.addSource(source); } long sd = System.nanoTime(); cu.compile(CompilePhase.CLASS_GENERATION.getPhaseNumber()); long dur = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - sd); return dur; } }
public void testInitOrder () throws NoSuchFieldException, IllegalAccessException, ClassNotFoundException { System.out.println("GET FIELD"); final Field f = new GroovyClassLoader().loadClass("org.codehaus.groovy.runtime.X", false, false, false).getField("field"); System.out.println(failed); assertTrue(!failed); f.getInt(null); System.out.println(failed); assertTrue(failed); } }
@Test @SuppressWarnings("resource") public void classLoading() throws Exception { StaticApplicationContext context = new StaticApplicationContext(); GroovyClassLoader gcl = new GroovyClassLoader(); Class<?> class1 = gcl.parseClass("class TestBean { def myMethod() { \"foo\" } }"); Class<?> class2 = gcl.parseClass("class TestBean { def myMethod() { \"bar\" } }"); context.registerBeanDefinition("testBean", new RootBeanDefinition(class1)); Object testBean1 = context.getBean("testBean"); Method method1 = class1.getDeclaredMethod("myMethod", new Class<?>[0]); Object result1 = ReflectionUtils.invokeMethod(method1, testBean1); assertEquals("foo", result1); context.removeBeanDefinition("testBean"); context.registerBeanDefinition("testBean", new RootBeanDefinition(class2)); Object testBean2 = context.getBean("testBean"); Method method2 = class2.getDeclaredMethod("myMethod", new Class<?>[0]); Object result2 = ReflectionUtils.invokeMethod(method2, testBean2); assertEquals("bar", result2); }
public void testJdkDynamicProxyDifferentLoaders() throws Exception { // Instantiate all beans. JdkDynamicProxyServiceBean sb1 = (JdkDynamicProxyServiceBean) JdkDynamicProxyInvocationHandler.getProxiedObject(new GroovyClassLoader().loadClass("org.codehaus.groovy.runtime.JdkDynamicProxyServiceBeanImpl1").newInstance()); JdkDynamicProxyServiceBean sb2 = (JdkDynamicProxyServiceBean) JdkDynamicProxyInvocationHandler.getProxiedObject(new GroovyClassLoader().loadClass("org.codehaus.groovy.runtime.JdkDynamicProxyServiceBeanImpl2").newInstance()); // Manually wire beans together. sb1.setJdkDynamicProxyServiceBean(sb2); assertEquals("SERVICE", sb1.doService()); }
public void testJdkDynamicProxySameLoader() throws Exception { // Instantiate all beans. final GroovyClassLoader loader = new GroovyClassLoader(); JdkDynamicProxyServiceBean sb1 = (JdkDynamicProxyServiceBean) JdkDynamicProxyInvocationHandler.getProxiedObject(loader.loadClass("org.codehaus.groovy.runtime.JdkDynamicProxyServiceBeanImpl1").newInstance()); JdkDynamicProxyServiceBean sb2 = (JdkDynamicProxyServiceBean) JdkDynamicProxyInvocationHandler.getProxiedObject(loader.loadClass("org.codehaus.groovy.runtime.JdkDynamicProxyServiceBeanImpl2").newInstance()); // Manually wire beans together. sb1.setJdkDynamicProxyServiceBean(sb2); assertEquals("SERVICE", sb1.doService()); }
public void testCreateScriptWithScriptClass() { GroovyClassLoader classLoader = new GroovyClassLoader(); String controlProperty = "text"; String controlValue = "I am a script"; String code = controlProperty + " = '" + controlValue + "'"; GroovyCodeSource codeSource = new GroovyCodeSource(code, "testscript", "/groovy/shell"); Class scriptClass = classLoader.parseClass(codeSource, false); Script script = InvokerHelper.createScript(scriptClass, new Binding(bindingVariables)); assertEquals(bindingVariables, script.getBinding().getVariables()); script.run(); assertEquals(controlValue, script.getProperty(controlProperty)); } }