Example usage for org.eclipse.jdt.core IJavaProject findElement

List of usage examples for org.eclipse.jdt.core IJavaProject findElement

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject findElement.

Prototype

IJavaElement findElement(IPath path) throws JavaModelException;

Source Link

Document

Returns the IJavaElement corresponding to the given classpath-relative path, or null if no such IJavaElement is found.

Usage

From source file:org.jboss.tools.seam.internal.core.scanner.java.JavaScanner.java

License:Open Source License

private ICompilationUnit getCompilationUnit(IFile f) throws CoreException {
    IProject project = f.getProject();//from   w  w  w. j av  a 2s. c o m
    IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
    IResource[] rs = EclipseResourceUtil.getJavaSourceRoots(project);
    for (int i = 0; i < rs.length; i++) {
        if (rs[i].getFullPath().isPrefixOf(f.getFullPath())) {
            IPath path = f.getFullPath().removeFirstSegments(rs[i].getFullPath().segmentCount());
            IJavaElement e = javaProject.findElement(path);
            if (e == null && path.lastSegment().equals("package-info.java")) {
                //strange but sometimes only this works
                IJavaElement ep = javaProject.findElement(path.removeLastSegments(1));
                if (ep instanceof IPackageFragment) {
                    e = ((IPackageFragment) ep).getCompilationUnit("package-info.java");
                }
            }
            if (e instanceof ICompilationUnit) {
                return (ICompilationUnit) e;
            }
        }
    }
    return null;
}

From source file:org.jboss.tools.seam.ui.refactoring.SeamRefactorContributionFactory.java

License:Open Source License

private ICompilationUnit getCompilationUnit(IFile file) throws CoreException {
    IProject project = file.getProject();
    IJavaProject javaProject = (IJavaProject) project.getNature(JavaCore.NATURE_ID);
    for (IResource resource : EclipseResourceUtil.getJavaSourceRoots(project)) {
        if (resource.getFullPath().isPrefixOf(file.getFullPath())) {
            IPath path = file.getFullPath().removeFirstSegments(resource.getFullPath().segmentCount());
            IJavaElement element = javaProject.findElement(path);
            if (element instanceof ICompilationUnit) {
                return (ICompilationUnit) element;
            }//from  ww  w.j  a v a 2s  . c  o m
        }
    }
    return null;
}

From source file:org.key_project.util.test.testcase.JDTUtilTest.java

License:Open Source License

/**
 * Tests {@link JDTUtil#getPackage(IJavaElement)}
 *//* w w w . j a v  a  2  s  .  c o  m*/
@Test
public void testGetPackage() throws CoreException, InterruptedException {
    // Create projects with test content
    IJavaProject jdt = TestUtilsUtil.createJavaProject("JDTUtilTest_testGetPackage");
    IFolder srcFolder = jdt.getProject().getFolder("src");
    BundleUtil.extractFromBundleToWorkspace(Activator.PLUGIN_ID, "data/getPackage", srcFolder);
    // Get java project
    IJavaElement projectTest = JDTUtil.getPackage(jdt);
    assertNull(projectTest);
    // Get java model
    IJavaElement modelTest = JDTUtil.getPackage(jdt.getJavaModel());
    assertNull(modelTest);
    // Get packageA
    IJavaElement packageA = jdt.findElement(new Path("packageA"));
    IJavaElement packageATest = JDTUtil.getPackage(packageA);
    assertEquals(packageA, packageATest);
    // Get packageA.ClassA
    IType classA = jdt.findType("packageA.ClassA");
    IJavaElement classATest = JDTUtil.getPackage(classA);
    assertEquals(packageA, classATest);
    // Get packageB
    IJavaElement packageB = jdt.findElement(new Path("packageB"));
    IJavaElement packageBTest = JDTUtil.getPackage(packageB);
    assertEquals(packageB, packageBTest);
    // Get packageB.C
    IJavaElement packageC = jdt.findElement(new Path("packageB/C"));
    IJavaElement packageCTest = JDTUtil.getPackage(packageC);
    assertEquals(packageC, packageCTest);
    // Get packageB.C.D
    IJavaElement packageD = jdt.findElement(new Path("packageB/C/D"));
    IJavaElement packageDTest = JDTUtil.getPackage(packageD);
    assertEquals(packageD, packageDTest);
    // Get packageB.C.D.ClassB
    IType classB = jdt.findType("packageB.C.D.ClassB");
    IJavaElement classBTest = JDTUtil.getPackage(classB);
    assertEquals(packageD, classBTest);
    // Get <default>
    IPackageFragment defaultPackage = jdt.findPackageFragment(srcFolder.getFullPath());
    IJavaElement defaultPackageTest = JDTUtil.getPackage(defaultPackage);
    assertEquals(defaultPackage, defaultPackageTest);
    // Get ClassRoot
    IType classRoot = jdt.findType("ClassRoot");
    IJavaElement classRootTest = JDTUtil.getPackage(classRoot);
    assertEquals(defaultPackage, classRootTest);
}

From source file:org.limy.eclipse.qalab.outline.JavaElementClickPoint.java

License:Open Source License

private static IJavaElement getPackageElement(IJavaProject project, String qualifiedName) {
    IJavaElement javaElement = null;// w w w .  ja  v  a2s. c  o m
    try {
        javaElement = project.findElement(new Path(qualifiedName.replace('.', '/')));
    } catch (JavaModelException e) {
        // ignore
    }
    return javaElement;
}

From source file:org.switchyard.tools.ui.editor.transform.wizards.BaseTransformComposite.java

License:Open Source License

protected IPackageFragment canFindPackage(String packagename) throws JavaModelException {
    IProject project = null;/*from w  w w .  j  ava  2  s  .c  om*/
    ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService()
            .getSelection();
    IStructuredSelection selectionToPass = StructuredSelection.EMPTY;
    if (selection instanceof IStructuredSelection) {
        selectionToPass = (IStructuredSelection) selection;
        if (selectionToPass.getFirstElement() instanceof IFile) {
            project = ((IFile) selectionToPass.getFirstElement()).getProject();
        } else {
            project = SwitchyardSCAEditor.getActiveEditor().getModelFile().getProject();
        }
    }
    if (selectionToPass == StructuredSelection.EMPTY) {
        project = SwitchyardSCAEditor.getActiveEditor().getModelFile().getProject();
    }
    if (project != null && packagename != null) { //$NON-NLS-1$
        IJavaProject javaProject = JavaCore.create(project);
        String packageNameForPath = packagename.replace('.', '/');
        IPath packagePath = new Path(packageNameForPath);
        IJavaElement javaEl = javaProject.findElement(packagePath);
        if (javaEl != null && javaEl instanceof IPackageFragment) {
            return (IPackageFragment) javaEl;
        }
    }
    return null;
}