Search in sources :

Example 1 with GlobalServiceRegister

use of org.talend.core.GlobalServiceRegister in project tbd-studio-se by Talend.

the class ExtractParquetFileSchemaService method initJarLibrary.

private void initJarLibrary() {
    List<File> libList = new ArrayList<File>();
    List<String> jars = new ArrayList<String>();
    List<File> jarFileList = new ArrayList<File>();
    List<ModuleNeeded> modulesNeeded = new ArrayList<ModuleNeeded>();
    if (classLoader instanceof DynamicClassLoader) {
        GlobalServiceRegister register = GlobalServiceRegister.getDefault();
        DynamicClassLoader loader = (DynamicClassLoader) classLoader;
        String libStorePath = loader.getLibStorePath();
        File libFolder = new File(libStorePath);
        File[] listFiles = libFolder.listFiles();
        libList = Arrays.asList(listFiles);
        if (register.isServiceRegistered(IComponentsService.class)) {
            IComponentsService componentsService = register.getService(IComponentsService.class);
            IComponent component = componentsService.getComponentsFactory().get("tFileInputParquet", ComponentCategory.CATEGORY_4_DI.getName());
            modulesNeeded = component.getModulesNeeded();
            modulesNeeded.forEach(module -> {
                jars.add(module.getMavenUri());
                jarFileList.add(new File(libStorePath + "/" + module.getModuleName()));
            });
        }
        if (register.isServiceRegistered(ILibraryManagerService.class)) {
            ILibraryManagerService service = GlobalServiceRegister.getDefault().getService(ILibraryManagerService.class);
            service.retrieve(jars, libStorePath, true, new NullProgressMonitor());
        }
        for (File jarFile : jarFileList) {
            loader.addLibrary(jarFile.getAbsolutePath());
        }
    }
}
Also used : DynamicClassLoader(org.talend.core.classloader.DynamicClassLoader) IComponentsService(org.talend.core.model.components.IComponentsService) NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) IComponent(org.talend.core.model.components.IComponent) ArrayList(java.util.ArrayList) GlobalServiceRegister(org.talend.core.GlobalServiceRegister) ILibraryManagerService(org.talend.core.ILibraryManagerService) File(java.io.File) HDFSFile(org.talend.designer.hdfsbrowse.model.HDFSFile) ModuleNeeded(org.talend.core.model.general.ModuleNeeded)

Example 2 with GlobalServiceRegister

use of org.talend.core.GlobalServiceRegister in project tesb-studio-se by Talend.

the class CamelNewBeanWizard method refreshLibrariesListForTheBean.

private void refreshLibrariesListForTheBean() {
    GlobalServiceRegister globalServiceRegister = GlobalServiceRegister.getDefault();
    if (globalServiceRegister.isServiceRegistered(IRunProcessService.class)) {
        IRunProcessService runProcessService = globalServiceRegister.getService(IRunProcessService.class);
        MavenPomSynchronizer.addChangeLibrariesListener();
        runProcessService.updateLibraries((RoutineItem) beanItem.getProperty().getItem());
    }
}
Also used : IRunProcessService(org.talend.designer.runprocess.IRunProcessService) GlobalServiceRegister(org.talend.core.GlobalServiceRegister)

Aggregations

GlobalServiceRegister (org.talend.core.GlobalServiceRegister)2 File (java.io.File)1 ArrayList (java.util.ArrayList)1 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)1 ILibraryManagerService (org.talend.core.ILibraryManagerService)1 DynamicClassLoader (org.talend.core.classloader.DynamicClassLoader)1 IComponent (org.talend.core.model.components.IComponent)1 IComponentsService (org.talend.core.model.components.IComponentsService)1 ModuleNeeded (org.talend.core.model.general.ModuleNeeded)1 HDFSFile (org.talend.designer.hdfsbrowse.model.HDFSFile)1 IRunProcessService (org.talend.designer.runprocess.IRunProcessService)1