public CompiledDependency load(String dependencyName, IDependencyManager dependencyManager) throws OpenLCompilationException{ Module dependencyModule = findDependencyModule(dependencyName); if(dependencyModule != null) { try { ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); // create classloader for the dependency. With the parent for current module. // ProjectDescriptor project = dependencyModule.getProject(); SimpleBundleClassLoader moduleClassLoader = new SimpleBundleClassLoader(project.getClassPathUrls(), oldClassLoader); SingleModuleInstantiationStrategy strategy = RulesInstantiationStrategyFactory.getStrategy(dependencyModule, dependencyManager.isExecutionMode(), dependencyManager, moduleClassLoader); strategy.setExternalParameters(dependencyManager.getExternalParameters()); CompiledOpenClass compiledOpenClass = strategy.compile(); return new CompiledDependency(dependencyName, compiledOpenClass); } catch (Exception e) { throw new OpenlNotCheckedException(String.format("Failed to load dependency '%s'!", dependencyName) , e); } } return null; }
dependencyNames = dependencyManager.getAllDependencies(); if (dependencyNames == null) { result.addAll(Arrays.asList(dependencies));
@Override protected ClassLoader initClassLoader() throws RulesInstantiationException { SimpleBundleClassLoader classLoader = new SimpleBundleClassLoader(Thread.currentThread() .getContextClassLoader()); for (Module module : modules) { try { CompiledDependency compiledDependency = getDependencyManager().loadDependency( new Dependency(DependencyType.MODULE, new IdentifierNode(null, null, module.getName(), null))); CompiledOpenClass compiledOpenClass = compiledDependency.getCompiledOpenClass(); classLoader.addClassLoader(compiledOpenClass.getClassLoader()); } catch (OpenLCompilationException e) { throw new RulesInstantiationException(e.getMessage(), e); } } return classLoader; }
protected Map<String, Object> configureParameters(IDependencyManager dependencyManager) { Map<String, Object> params = dependencyManager.getExternalParameters(); if (!singleModuleMode) { params = ProjectExternalDependenciesHelper.getExternalParamsWithProjectDependencies(params, getModules()); return params; } return params; }
public void reset(ReloadType reloadType) throws Exception { switch (reloadType) { case FORCED: OpenL.reset(); OpenLConfiguration.reset(); ClassLoaderFactory.reset(); case RELOAD: modulesCache.reset(); case SINGLE: // Clear the cache of dependency manager, as the project has been modified. studio.getDependencyManager() .reset(new Dependency( DependencyType.MODULE, new IdentifierNode(null, null, moduleInfo.getName(), null))); break; } setModuleInfo(moduleInfo, reloadType); savedSearches = null; projectRoot = null; }
@Override protected ClassLoader initClassLoader() throws RulesInstantiationException { SimpleBundleClassLoader classLoader = new SimpleBundleClassLoader(Thread.currentThread() .getContextClassLoader()); for (Module module : modules) { try { CompiledDependency compiledDependency = getDependencyManager().loadDependency( new Dependency(DependencyType.MODULE, new IdentifierNode(null, null, module.getName(), null))); CompiledOpenClass compiledOpenClass = compiledDependency.getCompiledOpenClass(); classLoader.addClassLoader(compiledOpenClass.getClassLoader()); } catch (OpenLCompilationException e) { throw new RulesInstantiationException(e.getMessage(), e); } } return classLoader; }
protected Map<String, Object> configureParameters(IDependencyManager dependencyManager) { Map<String, Object> params = dependencyManager.getExternalParameters(); if (!singleModuleMode) { params = ProjectExternalDependenciesHelper.getExternalParamsWithProjectDependencies(params, getModules()); return params; } return params; }
for (IDependency dependency : dependencies) { try { CompiledDependency loadedDependency = dependencyManager.loadDependency(dependency); OpenLBundleClassLoader currentClassLoader = (OpenLBundleClassLoader) Thread.currentThread() .getContextClassLoader();
public CompiledDependency load(String dependencyName, IDependencyManager dependencyManager) throws OpenLCompilationException{ Module dependencyModule = findDependencyModule(dependencyName); if(dependencyModule != null) { try { ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); // create classloader for the dependency. With the parent for current module. // ProjectDescriptor project = dependencyModule.getProject(); SimpleBundleClassLoader moduleClassLoader = new SimpleBundleClassLoader(project.getClassPathUrls(), oldClassLoader); SingleModuleInstantiationStrategy strategy = RulesInstantiationStrategyFactory.getStrategy(dependencyModule, dependencyManager.isExecutionMode(), dependencyManager, moduleClassLoader); strategy.setExternalParameters(dependencyManager.getExternalParameters()); CompiledOpenClass compiledOpenClass = strategy.compile(); return new CompiledDependency(dependencyName, compiledOpenClass); } catch (Exception e) { throw new OpenlNotCheckedException(String.format("Failed to load dependency '%s'!", dependencyName) , e); } } return null; }
rulesInstantiationStrategy.setServiceClass(EmptyInterface.class);// Prevent Map<String, Object> parameters = ProjectExternalDependenciesHelper .getExternalParamsWithProjectDependencies(dependencyManager.getExternalParameters(), new ArrayList<Module>() { private static final long serialVersionUID = 1L;
dependencyNames = dependencyManager.getAllDependencies(); if (dependencyNames == null) { result.addAll(Arrays.asList(dependencies));
for (IDependency dependency : dependencies) { try { CompiledDependency loadedDependency = dependencyManager.loadDependency(dependency); OpenLBundleClassLoader currentClassLoader = (OpenLBundleClassLoader) Thread.currentThread() .getContextClassLoader();
rulesInstantiationStrategy.setServiceClass(EmptyInterface.class);// Prevent Map<String, Object> parameters = ProjectExternalDependenciesHelper .getExternalParamsWithProjectDependencies(dependencyManager.getExternalParameters(), new ArrayList<Module>() { private static final long serialVersionUID = 1L;
private XlsModuleSyntaxNode findXlsModuleSyntaxNode(IDependencyManager dependencyManager) { if (isSingleModuleMode()) { XlsMetaInfo xmi = (XlsMetaInfo) compiledOpenClass.getOpenClassWithErrors().getMetaInfo(); return xmi.getXlsModuleNode(); } else { try { Dependency dependency = new Dependency(DependencyType.MODULE, new IdentifierNode(null, null, moduleInfo.getName(), null)); XlsMetaInfo xmi = (XlsMetaInfo) dependencyManager.loadDependency(dependency) .getCompiledOpenClass().getOpenClassWithErrors().getMetaInfo(); return xmi == null ? null : xmi.getXlsModuleNode(); } catch (OpenLCompilationException e) { throw new OpenlNotCheckedException(e); } } }
private XlsModuleSyntaxNode findXlsModuleSyntaxNode(IDependencyManager dependencyManager) { if (isSingleModuleMode()) { XlsMetaInfo xmi = (XlsMetaInfo) compiledOpenClass.getOpenClassWithErrors().getMetaInfo(); return xmi.getXlsModuleNode(); } else { try { Dependency dependency = new Dependency(DependencyType.MODULE, new IdentifierNode(null, null, moduleInfo.getName(), null)); XlsMetaInfo xmi = (XlsMetaInfo) dependencyManager.loadDependency(dependency) .getCompiledOpenClass().getOpenClassWithErrors().getMetaInfo(); return xmi == null ? null : xmi.getXlsModuleNode(); } catch (OpenLCompilationException e) { throw new OpenlNotCheckedException(e); } } }