Example usage for org.eclipse.jdt.core IPackageFragment getHandleIdentifier

List of usage examples for org.eclipse.jdt.core IPackageFragment getHandleIdentifier

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragment getHandleIdentifier.

Prototype

String getHandleIdentifier();

Source Link

Document

Returns a string representation of this element handle.

Usage

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) {
            }
        }
    }
}