Example usage for org.eclipse.jdt.internal.core JavaProject getPackageFragmentRoots

List of usage examples for org.eclipse.jdt.internal.core JavaProject getPackageFragmentRoots

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core JavaProject getPackageFragmentRoots.

Prototype

@Override
public IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaModelException 

Source Link

Usage

From source file:org.eclipse.che.jdt.search.FindReferencesTest.java

License:Open Source License

@Test
public void testSearchManagerFindUsage() throws Exception {
    IJavaProject aProject = JUnitSourceSetup.getProject();
    IPackageFragmentRoot root = ((JavaProject) aProject)
            .getPackageFragmentRoot(new Path(JUnitSourceSetup.SRC_CONTAINER));
    IPackageFragment packageFragment = root.createPackageFragment("che", true, null);
    StringBuilder a = new StringBuilder();
    a.append("package che;\n");
    a.append("public class A{}\n");
    ICompilationUnit compilationUnitA = packageFragment.createCompilationUnit("A.java", a.toString(), true,
            null);//from www . jav  a  2 s  .  c om
    StringBuilder b = new StringBuilder();
    b.append("package che;\n");
    b.append("import java.util.Comparator;\n");
    b.append("import che.A;\n");
    b.append("public class B extends A implements Comparator<A>{\n");
    b.append("   private A a = null;\n");
    b.append("   static{\n");
    b.append("       A ddd = null;\n");
    b.append("   }\n");
    b.append("   @Override\n");
    b.append("   public int compare(A o1, A o2) {\n");
    b.append("       A bb = null;\n");
    b.append("       return 0;\n");
    b.append("   }\n");
    b.append("   class SubB{\n");
    b.append("     public A ccc = null;\n");
    b.append("   }\n");
    b.append("}\n");
    b.append("class SubB2{\n");
    b.append("    private final A foo = null;\n");
    b.append("}\n");
    packageFragment.createCompilationUnit("B.java", b.toString(), true, null);

    SearchManager manager = new SearchManager();
    FindUsagesResponse response = manager.findUsage(aProject, "che.A", 26);

    assertThat(response.getSearchElementLabel()).isEqualTo("A");
    List<org.eclipse.che.ide.ext.java.shared.dto.model.JavaProject> projects = response.getProjects();
    assertThat(projects).isNotNull().isNotEmpty().hasSize(1);

    String expectedProjectPath = JUnitSourceSetup.getProject().getPath().toOSString();

    org.eclipse.che.ide.ext.java.shared.dto.model.JavaProject project = projects.get(0);
    assertThat(project.getName()).isEqualTo(JUnitSourceSetup.PROJECT_NAME);
    assertThat(project.getPath()).isEqualTo(expectedProjectPath);
    assertThat(project.getPackageFragmentRoots()).isNotNull().isNotEmpty().hasSize(1);

    PackageFragmentRoot fragmentRoot = project.getPackageFragmentRoots().get(0);
    assertThat(fragmentRoot.getElementName()).isEqualTo(JUnitSourceSetup.SRC_CONTAINER);
    assertThat(fragmentRoot.getProjectPath()).isEqualTo(expectedProjectPath);
    assertThat(fragmentRoot.getPackageFragments()).isNotNull().isNotEmpty().hasSize(1);

    PackageFragment fragment = fragmentRoot.getPackageFragments().get(0);

    assertThat(fragment.getElementName()).isEqualTo("che");
    assertThat(fragment.getProjectPath()).isEqualTo(expectedProjectPath);
    assertThat(fragment.getPath())
            .isEqualTo(expectedProjectPath + "/" + JUnitSourceSetup.SRC_CONTAINER + "/che");
    assertThat(fragment.getClassFiles()).isNotNull().isEmpty();
    assertThat(fragment.getCompilationUnits()).isNotNull().isNotEmpty().hasSize(1);

    CompilationUnit compilationUnit = fragment.getCompilationUnits().get(0);
    assertThat(compilationUnit.getElementName()).isEqualTo("B.java");
    assertThat(compilationUnit.getPath())
            .isEqualTo(expectedProjectPath + "/" + JUnitSourceSetup.SRC_CONTAINER + "/che/B.java");
    assertThat(compilationUnit.getImports()).hasSize(1);
    assertThat(compilationUnit.getTypes()).hasSize(2);

}

From source file:org.eclipse.che.plugin.java.server.jdt.search.FindReferencesTest.java

License:Open Source License

@Test
public void testSearchManagerFindUsage() throws Exception {
    IJavaProject aProject = JUnitSourceSetup.getProject();
    IPackageFragmentRoot root = ((JavaProject) aProject)
            .getPackageFragmentRoot(new Path(JUnitSourceSetup.SRC_CONTAINER));
    IPackageFragment packageFragment = root.createPackageFragment("che", true, null);
    StringBuilder a = new StringBuilder();
    a.append("package che;\n");
    a.append("public class A{}\n");
    ICompilationUnit compilationUnitA = packageFragment.createCompilationUnit("A.java", a.toString(), true,
            null);//from  www  . ja v a  2  s  . c om
    StringBuilder b = new StringBuilder();
    b.append("package che;\n");
    b.append("import java.util.Comparator;\n");
    b.append("import che.A;\n");
    b.append("public class B extends A implements Comparator<A>{\n");
    b.append("   private A a = null;\n");
    b.append("   static{\n");
    b.append("       A ddd = null;\n");
    b.append("   }\n");
    b.append("   @Override\n");
    b.append("   public int compare(A o1, A o2) {\n");
    b.append("       A bb = null;\n");
    b.append("       return 0;\n");
    b.append("   }\n");
    b.append("   class SubB{\n");
    b.append("     public A ccc = null;\n");
    b.append("   }\n");
    b.append("}\n");
    b.append("class SubB2{\n");
    b.append("    private final A foo = null;\n");
    b.append("}\n");
    packageFragment.createCompilationUnit("B.java", b.toString(), true, null);

    SearchManager manager = new SearchManager();
    FindUsagesResponse response = manager.findUsage(aProject, "che.A", 26);

    Assertions.assertThat(response.getSearchElementLabel()).isEqualTo("A");
    List<org.eclipse.che.ide.ext.java.shared.dto.model.JavaProject> projects = response.getProjects();
    Assertions.assertThat(projects).isNotNull().isNotEmpty().hasSize(1);

    String expectedProjectPath = JUnitSourceSetup.getProject().getPath().toOSString();

    org.eclipse.che.ide.ext.java.shared.dto.model.JavaProject project = projects.get(0);
    Assertions.assertThat(project.getName()).isEqualTo(JUnitSourceSetup.PROJECT_NAME);
    Assertions.assertThat(project.getPath()).isEqualTo(expectedProjectPath);
    Assertions.assertThat(project.getPackageFragmentRoots()).isNotNull().isNotEmpty().hasSize(1);

    PackageFragmentRoot fragmentRoot = project.getPackageFragmentRoots().get(0);
    Assertions.assertThat(fragmentRoot.getElementName()).isEqualTo(JUnitSourceSetup.SRC_CONTAINER);
    Assertions.assertThat(fragmentRoot.getProjectPath()).isEqualTo(expectedProjectPath);
    Assertions.assertThat(fragmentRoot.getPackageFragments()).isNotNull().isNotEmpty().hasSize(1);

    PackageFragment fragment = fragmentRoot.getPackageFragments().get(0);

    Assertions.assertThat(fragment.getElementName()).isEqualTo("che");
    Assertions.assertThat(fragment.getProjectPath()).isEqualTo(expectedProjectPath);
    Assertions.assertThat(fragment.getPath())
            .isEqualTo(expectedProjectPath + "/" + JUnitSourceSetup.SRC_CONTAINER + "/che");
    Assertions.assertThat(fragment.getClassFiles()).isNotNull().isEmpty();
    Assertions.assertThat(fragment.getCompilationUnits()).isNotNull().isNotEmpty().hasSize(1);

    CompilationUnit compilationUnit = fragment.getCompilationUnits().get(0);
    Assertions.assertThat(compilationUnit.getElementName()).isEqualTo("B.java");
    Assertions.assertThat(compilationUnit.getPath())
            .isEqualTo(expectedProjectPath + "/" + JUnitSourceSetup.SRC_CONTAINER + "/che/B.java");
    Assertions.assertThat(compilationUnit.getImports()).hasSize(1);
    Assertions.assertThat(compilationUnit.getTypes()).hasSize(2);

}

From source file:org.eclipse.jdt.internal.core.search.matching.MatchLocator.java

License:Open Source License

/**
 * Locate the matches amongst the possible matches.
 *///from w  w  w  .  j av a2 s.c o  m
protected void locateMatches(JavaProject javaProject, PossibleMatchSet matchSet, int expected)
        throws CoreException {
    PossibleMatch[] possibleMatches = matchSet.getPossibleMatches(javaProject.getPackageFragmentRoots());
    int length = possibleMatches.length;
    // increase progress from duplicate matches not stored in matchSet while adding...
    if (this.progressMonitor != null && expected > length) {
        this.progressWorked += expected - length;
        this.progressMonitor.worked(expected - length);
    }
    // locate matches (processed matches are limited to avoid problem while using VM default memory heap size)
    for (int index = 0; index < length;) {
        int max = Math.min(MAX_AT_ONCE, length - index);
        locateMatches(javaProject, possibleMatches, index, max);
        index += max;
    }
    this.patternLocator.clear();
}

From source file:org.hibernate.eclipse.jdt.ui.wizards.NewHibernateMappingFileWizard.java

License:Open Source License

public void init(IWorkbench workbench, IStructuredSelection selection) {
    Set<IJavaElement> filteredElements = new HashSet<IJavaElement>();
    Object[] elements = selection.toArray();
    for (int i = 0; i < elements.length; i++) {
        if (elements[i] instanceof JavaProject) {
            JavaProject project = (JavaProject) elements[i];
            try {
                IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
                for (int j = 0; j < roots.length; j++) {
                    if (!roots[j].isArchive()) {
                        IJavaElement[] rootChildren = roots[j].getChildren();
                        for (int k = 0; k < rootChildren.length; k++) {
                            if (rootChildren[k] instanceof IPackageFragment) {
                                IPackageFragment pkg = (IPackageFragment) rootChildren[k];
                                try {
                                    if (pkg.containsJavaResources())
                                        filteredElements.add(rootChildren[k]);
                                } catch (JavaModelException e1) {
                                    e1.printStackTrace();
                                }//  w ww  .  j a v a 2  s  . c o m
                            }
                        }
                    }
                }
            } catch (JavaModelException e) {
                e.printStackTrace();
            }
        } else if (elements[i] instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot root = (IPackageFragmentRoot) elements[i];
            if (!root.isArchive()) {
                try {
                    IJavaElement[] rootChildren = root.getChildren();
                    for (int k = 0; k < rootChildren.length; k++) {
                        if (rootChildren[k] instanceof IPackageFragment) {
                            IPackageFragment pkg = (IPackageFragment) rootChildren[k];
                            try {
                                if (pkg.containsJavaResources())
                                    filteredElements.add(rootChildren[k]);
                            } catch (JavaModelException e1) {
                                e1.printStackTrace();
                            }
                        }
                    }
                } catch (JavaModelException e) {
                    e.printStackTrace();
                }
            }
        } else if (elements[i] instanceof ICompilationUnit) {
            ICompilationUnit cu = (ICompilationUnit) elements[i];
            IType[] types;
            try {
                types = cu.getTypes();
                //remove java extension.
                //String typeName = cu.getElementName().substring(0, cu.getElementName().length() - 5);
                for (int j = 0; j < types.length; j++) {
                    //if (types[j].getElementName().equals(typeName)){
                    filteredElements.add(types[j]);
                    //   break;
                    //}
                }
            } catch (JavaModelException e) {
                e.printStackTrace();
            }

        } else if (elements[i] instanceof IJavaElement) {
            filteredElements.add((IJavaElement) elements[i]);
        }
    }
    this.selection = new StructuredSelection(filteredElements.toArray());
}

From source file:org.jboss.tools.windup.model.domain.ConfigurationResourceUtil.java

License:Open Source License

public static IPackageFragment[] computePackages(ConfigurationElement configuration) {
    List<IPackageFragment> packages = Lists.newArrayList();
    List<IPackageFragment> currentFragments = Lists.newArrayList(getCurrentPackages(configuration));
    for (IProject project : getCurrentProjects(configuration)) {
        JavaProject javaProject = (JavaProject) JavaCore.create(project);
        try {//  w w  w. j  a  v a 2  s .  com
            for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) {
                if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                    for (Object obj : root.getChildren()) {
                        if (obj instanceof IPackageFragment) {
                            IPackageFragment fragment = (IPackageFragment) obj;
                            if (fragment.hasChildren() && !currentFragments.contains(fragment)) {
                                packages.add(fragment);
                            }
                        }
                    }
                }
            }
        } catch (JavaModelException e) {
            Activator.log(e);
        }
    }
    return packages.stream().toArray(IPackageFragment[]::new);
}