List of usage examples for org.eclipse.jdt.core IPackageFragment getHandleIdentifier
String getHandleIdentifier();
From source file:org.eclipse.che.jdt.search.JavaElementToDtoConverter.java
License:Open Source License
private List<PackageFragment> getPackageFragments(IPackageFragmentRoot parent, String projectPath) throws JavaModelException { List<PackageFragment> result = new ArrayList<>(); Set<Object> objects = childrens.get(parent); if (objects == null) { return result; }// ww w.j a v a 2 s. c om for (Object object : objects) { if (object instanceof IPackageFragment) { IPackageFragment packageFragment = (IPackageFragment) object; PackageFragment fragment = DtoFactory.newDto(PackageFragment.class); fragment.setProjectPath(projectPath); fragment.setPath(packageFragment.getPath().toOSString()); fragment.setHandleIdentifier(packageFragment.getHandleIdentifier()); fragment.setElementName(packageFragment.getElementName()); fragment.setKind(packageFragment.getKind()); fragment.setDefaultPackage(packageFragment.isDefaultPackage()); List<CompilationUnit> compilationUnits = new ArrayList<>(); List<ClassFile> classFiles = new ArrayList<>(); addCompilationUnitsAndClassFiles(object, compilationUnits, classFiles); fragment.setCompilationUnits(compilationUnits); fragment.setClassFiles(classFiles); result.add(fragment); } } return result; }
From source file:org.eclipse.che.jdt.testplugin.JavaProjectHelper.java
License:Open Source License
/** * Removes a package fragment. Retries if deletion failed (e.g. because the indexer * still locks a file).//from ww w .j a v a 2 s . c o m * * @param pack the package to delete * @throws CoreException if operation failed */ public static void deletePackage(IPackageFragment pack) throws CoreException { for (int i = 0; i < MAX_RETRY; i++) { try { pack.delete(true, null); i = MAX_RETRY; } catch (CoreException e) { if (i == MAX_RETRY - 1) { JavaPlugin.log(e); throw e; } try { JavaPlugin.log(new IllegalStateException( "sleep before retrying JavaProjectHelper.delete() for package " + pack.getHandleIdentifier())); Thread.sleep(RETRY_DELAY); // give other threads time to close the file } catch (InterruptedException e1) { } } } }