private void addDQDependencies(IFolder parentFolder, List<Item> items) throws IOException { if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQItemService.class)) { ITDQItemService tdqItemService = (ITDQItemService) GlobalServiceRegister.getDefault().getService(ITDQItemService.class); for (Item item : items) { if (tdqItemService != null && tdqItemService.hasProcessItemDependencies(Arrays.asList(new Item[] {item}))) { // add .Talend.definition file String defIdxFolderName = "TDQ_Libraries"; // $NON-NLS-1$ String defIdxFileName = ".Talend.definition"; // $NON-NLS-1$ Project pro = getProject(processItem); IFolder itemsProjectFolder = parentFolder.getFolder(pro.getTechnicalLabel().toLowerCase()); File itemsFolderDir = new File(parentFolder.getLocation().toFile().getAbsolutePath()); IProject project = ReponsitoryContextBridge.getRootProject(); String defIdxRelativePath = defIdxFolderName + PATH_SEPARATOR + defIdxFileName; IFile defIdxFile = project.getFile(defIdxRelativePath); if (defIdxFile.exists()) { File defIdxFileSource = new File( project .getLocation() .makeAbsolute() .append(defIdxFolderName) .append(defIdxFileName) .toFile() .toURI()); File defIdxFileTarget = new File( itemsProjectFolder .getFile(defIdxRelativePath) .getLocation() .toFile() .getAbsolutePath()); FilesUtils.copyFile(defIdxFileSource, defIdxFileTarget); } // add report header image & template files String reportingBundlePath = PluginChecker.getBundlePath("org.talend.dataquality.reporting"); // $NON-NLS-1$ File imageFolder = new File(reportingBundlePath + PATH_SEPARATOR + "images"); // $NON-NLS-1$ if (imageFolder.exists()) { FilesUtils.copyDirectory(imageFolder, itemsFolderDir); } File templateFolder = new File(reportingBundlePath + PATH_SEPARATOR + "reports"); // $NON-NLS-1$ if (templateFolder.exists() && templateFolder.isDirectory()) { FilesUtils.copyDirectory(templateFolder, itemsFolderDir); } } } } }