Example usage for org.eclipse.jdt.internal.core JavaModelManager getIndexManager

List of usage examples for org.eclipse.jdt.internal.core JavaModelManager getIndexManager

Introduction

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

Prototype

public static IndexManager getIndexManager() 

Source Link

Usage

From source file:org.codehaus.groovy.eclipse.codeassist.tests.CompletionTestCase.java

License:Open Source License

public void performDummySearch(IJavaElement element) throws Exception {
    JavaModelManager.getIndexManager().indexAll(element.getJavaProject().getProject());
    new SearchEngine().searchAllTypeNames(null, SearchPattern.R_EXACT_MATCH, "XXXXXXXXX".toCharArray(), // make sure we search a concrete name. This is faster according to Kent
            SearchPattern.R_EXACT_MATCH, IJavaSearchConstants.CLASS,
            SearchEngine.createJavaSearchScope(new IJavaElement[] { element }), new Requestor(),
            IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null);
}

From source file:org.eclipse.ajdt.ui.tests.hierarchy.ITDAwareHierarchyTests.java

License:Open Source License

protected void setUp() throws Exception {
    super.setUp();
    primaryOwner = DefaultWorkingCopyOwner.PRIMARY.primaryBufferProvider;
    DefaultWorkingCopyOwner.PRIMARY.primaryBufferProvider = null;

    IProject proj = createPredefinedProject("ITDAwareHierarchy");
    IFile shipFile = proj.getFile("src/ships/Ship.aj");
    ship = (AJCompilationUnit) AspectJCore.create(shipFile);
    ship.becomeWorkingCopy(null);//  ww  w . j  av a 2 s  . c o  m
    IFile yachtFile = proj.getFile("src/ships/Yacht.aj");
    yacht = (ICompilationUnit) AspectJCore.create(yachtFile);
    yacht.becomeWorkingCopy(null);
    shipProj = JavaCore.create(proj);

    // ensure the project is indexed so that hierarchy building can occur
    IndexManager manager = JavaModelManager.getIndexManager();
    manager.indexAll(proj);
}

From source file:org.eclipse.ajdt.ui.tests.hierarchy.ITDAwareHierarchyTests2.java

License:Open Source License

protected void setUp() throws Exception {
    super.setUp();
    primaryOwner = DefaultWorkingCopyOwner.PRIMARY.primaryBufferProvider;
    DefaultWorkingCopyOwner.PRIMARY.primaryBufferProvider = null;

    proj = JavaCore.create(createPredefinedProject("DefaultEmptyProject"));

    // ensure the project is indexed so that hierarchy building can occur
    IndexManager manager = JavaModelManager.getIndexManager();
    manager.indexAll(proj.getProject());
}

From source file:org.eclipse.che.jdt.core.ImportOrganizeTest.java

License:Open Source License

@After
public void tearDown() throws Exception {
    super.tearDown();
    setOrganizeImportSettings(null, 99, 99, fJProject1);
    JavaProjectHelper.clear(fJProject1, ProjectTestSetup.getDefaultClasspath());

    JavaModelManager.getIndexManager().indexAll(fJProject1.getProject());
}

From source file:org.eclipse.che.jdt.refactoring.RefactoringManager.java

License:Open Source License

/**
 * Make reindex for the project./*from   w w  w . j a  v a 2s  .  c  om*/
 *
 * @param javaProject
 *         java project
 * @throws JavaModelException
 *         when something is wrong
 */
public void reindexProject(IJavaProject javaProject) throws JavaModelException {
    if (javaProject != null) {
        JavaModelManager.getIndexManager().indexAll(javaProject.getProject());
    }
}

From source file:org.eclipse.che.plugin.java.server.jdt.quickfix.AssistQuickFixTest.java

License:Open Source License

@Test
public void testConvertAnonymousToNested2() throws Exception {
    JavaModelManager.getIndexManager().indexAll(fJProject1.getProject());
    //      Preferences corePrefs= JavaPlugin.getJavaCorePluginPreferences();
    fJProject1.setOption(JavaCore.CODEASSIST_FIELD_PREFIXES, "f");
    fJProject1.setOption(JavaCore.CODEASSIST_LOCAL_PREFIXES, "l");
    fJProject1.setOption(JavaCore.CODEASSIST_ARGUMENT_PREFIXES, "p");

    IPackageFragment pack1 = fSourceFolder.createPackageFragment("pack", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package pack;\n");
    buf.append("import java.util.ArrayList;\n");
    buf.append("public class E {\n");
    buf.append("    public Object foo(final String pName) {\n");
    buf.append("        int lVar= 8;\n");
    buf.append("        return new ArrayList(lVar) {\n");
    buf.append("            String fExisting= pName;\n");
    buf.append("            public void run() {\n");
    buf.append("                foo(fExisting);\n");
    buf.append("            }\n");
    buf.append("        };\n");
    buf.append("    }\n");
    buf.append("}\n");
    buf.append("class ArrayListExtension {\n");
    buf.append("}\n");
    ICompilationUnit cu = pack1.createCompilationUnit("E.java", buf.toString(), false, null);

    int offset = buf.toString().indexOf("ArrayList(lVar)");
    AssistContext context = getCorrectionContext(cu, offset, 1);
    List proposals = collectAssists(context, false);

    assertNumberOfProposals(proposals, 1);
    assertCorrectLabels(proposals);/*ww w .  ja v a 2  s.  c o m*/

    buf = new StringBuffer();
    buf.append("package pack;\n");
    buf.append("import java.util.ArrayList;\n");
    buf.append("public class E {\n");
    buf.append("    private final class ArrayListExtension2 extends ArrayList {\n");
    buf.append("        private final String fName;\n");
    buf.append("        String fExisting;\n");
    buf.append("        private ArrayListExtension2(int pArg0, String pName) {\n");
    buf.append("            super(pArg0);\n");
    buf.append("            fName = pName;\n");
    buf.append("            fExisting = fName;\n");
    buf.append("        }\n");
    buf.append("        public void run() {\n");
    buf.append("            foo(fExisting);\n");
    buf.append("        }\n");
    buf.append("    }\n");
    buf.append("\n");
    buf.append("    public Object foo(final String pName) {\n");
    buf.append("        int lVar= 8;\n");
    buf.append("        return new ArrayListExtension2(lVar, pName);\n");
    buf.append("    }\n");
    buf.append("}\n");
    buf.append("class ArrayListExtension {\n");
    buf.append("}\n");
    assertExpectedExistInProposals(proposals, new String[] { buf.toString() });
}

From source file:org.eclipse.contribution.weaving.jdt.tests.sourceprovider.SourceTransformerTests.java

License:Open Source License

public void testSourceIndexerRequestor() throws Exception {
    IProject proj = createPredefinedProject("MockCUProject");
    proj.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
    MockSourceTransformer.ensureSourceIndexerRequestorCreated = 0;

    IndexManager manager = JavaModelManager.getIndexManager();
    manager.indexAll(proj);/*from w  w w . j  av  a 2 s  . c  o m*/
    waitForJobsToComplete();
    assertEquals("Should have created one custom indexer.", 1,
            MockSourceTransformer.ensureSourceIndexerRequestorCreated);
}

From source file:org.eclipse.xtext.common.types.access.jdt.JdtTypeProvider.java

License:Open Source License

/**
 * Searches a secondary type with the given name and package.
 * /*from  www.ja  va2  s  . c  o  m*/
 * Secondary types are toplevel types with a name that does not match the name of the compilation unit.
 * @since 2.9
 */
protected IType findSecondaryType(String packageName, final String typeName) throws JavaModelException {
    IPackageFragmentRoot[] sourceFolders = getSourceFolders();
    IndexManager indexManager = JavaModelManager.getIndexManager();
    if (indexManager.awaitingJobsCount() > 0) { // still indexing - don't enter a busy wait loop but ask the source folders directly
        return findSecondaryTypeInSourceFolders(packageName, typeName, sourceFolders);
    }

    // code below is adapted from BasicSearchEnginge.searchAllSecondaryTypes

    // index is ready, query it for a secondary type 
    final TypeDeclarationPattern pattern = new TypeDeclarationPattern(
            packageName == null ? CharOperation.NO_CHAR : packageName.toCharArray(), CharOperation.NO_CHAR_CHAR, // top level type - no enclosing type names
            typeName.toCharArray(), IIndexConstants.SECONDARY_SUFFIX,
            SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE);

    // Get working copy path(s). Store in a single string in case of only one to optimize comparison in requestor
    final HashSet<String> workingCopyPaths = new HashSet<String>();
    String workingCopyPath = null;
    ICompilationUnit[] copies = getWorkingCopies();
    final int copiesLength = copies == null ? 0 : copies.length;
    if (copies != null) {
        if (copiesLength == 1) {
            ICompilationUnit singleWC = copies[0];
            if (singleWC.getPackageDeclaration(packageName).exists()) {
                IType result = singleWC.getType(typeName);
                if (result.exists()) {
                    return result;
                }
            }
            workingCopyPath = copies[0].getPath().toString();
        } else {
            for (int i = 0; i < copiesLength; i++) {
                ICompilationUnit workingCopy = copies[i];
                if (workingCopy.getPackageDeclaration(packageName).exists()) {
                    IType result = workingCopy.getType(typeName);
                    if (result.exists()) {
                        return result;
                    }
                }
                workingCopyPaths.add(workingCopy.getPath().toString());
            }
        }
    }
    final String singleWkcpPath = workingCopyPath;
    final Wrapper<IType> result = Wrapper.forType(IType.class);

    IndexQueryRequestor searchRequestor = new IndexQueryRequestor() {
        @Override
        public boolean acceptIndexMatch(String documentPath, SearchPattern indexRecord,
                SearchParticipant participant, AccessRuleSet access) {
            // Filter unexpected types
            switch (copiesLength) {
            case 0:
                break;
            case 1:
                if (singleWkcpPath == null) {
                    throw new IllegalStateException();
                }
                if (singleWkcpPath.equals(documentPath)) {
                    return true; // filter out *the* working copy
                }
                break;
            default:
                if (workingCopyPaths.contains(documentPath)) {
                    return true; // filter out working copies
                }
                break;
            }
            IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(documentPath));
            ICompilationUnit unit = JavaCore.createCompilationUnitFrom(file);
            IType type = unit.getType(typeName);
            result.set(type);
            return false;
        }
    };

    try {
        indexManager.performConcurrentJob(
                new PatternSearchJob(pattern, BasicSearchEngine.getDefaultSearchParticipant(), // Java search only
                        BasicSearchEngine.createJavaSearchScope(sourceFolders), searchRequestor),
                IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null);
    } catch (OperationCanceledException oce) {
        // do nothing
    }
    return result.get();
}

From source file:org.eclipse.xtext.junit4.internal.InternalBuilderTest.java

License:Open Source License

@Test
public void test() throws CoreException, FileNotFoundException {

    System.out.println("JDT Version:" + JavaCore.getPlugin().getBundle().getVersion());
    System.out.println("JDT UI Version:" + JavaPlugin.getDefault().getBundle().getVersion());
    reportMemoryState("Starting build.");

    try {//w w w.  j  a  v  a2 s . c o  m
        dumpMemoryIndex("Initial Memory Index state");
        dumpDiskIndex();

        clearJdtIndex();
        dumpMemoryIndex("Memory Index state after clear disk");
        dumpDiskIndex();

        JavaModelManager.getIndexManager().resetIndex(new Path("/org.eclipse.xtext"));
        dumpMemoryIndex("Memory Index state after reset project");
        dumpDiskIndex();

        System.out.println("Saving index.");
        JavaModelManager.getIndexManager().saveIndexes();
        dumpMemoryIndex("Memory Index state after save");
        dumpDiskIndex();

        setAutoBuild(true);
        waitForAutoBuild();
    } finally {
        setAutoBuild(false);
        System.out.println("Stopping background indexing.");
        JavaModelManager.getIndexManager().shutdown();
        clearJdtIndex();
        reportMemoryState("Finished build.");
    }
    final IMarker[] markers = ResourcesPlugin.getWorkspace().getRoot().findMarkers(IMarker.PROBLEM, true,
            IResource.DEPTH_INFINITE);
    List<String> errors = new ArrayList<String>();
    for (IMarker marker : markers) {
        String msg = MarkerUtilities.getMessage(marker);
        if (MarkerUtilities.getSeverity(marker) == IMarker.SEVERITY_ERROR) {
            errors.add(msg + " in " + marker.getResource().getFullPath() + " line: "
                    + MarkerUtilities.getLineNumber(marker));
        }
    }

    List<String> top10;
    if (errors.size() > 10) {
        top10 = toList(take(errors, 10));
    } else {
        top10 = errors;
    }

    assertTrue("Problems found (" + top10.size() + " of " + errors.size() + "): " + join(errors, ", "),
            errors.isEmpty());
}

From source file:org.eclipse.xtext.junit4.internal.InternalBuilderTest.java

License:Open Source License

private void dumpMemoryIndex(String message) {
    System.out.println(message + ":\n" + JavaModelManager.getIndexManager().toString());
}