mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
some dumb mode logging (IDEA-124604)
This commit is contained in:
@@ -22,7 +22,9 @@ package com.intellij.util.indexing;
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.ide.caches.FileContent;
|
||||
import com.intellij.ide.startup.StartupManagerEx;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.AbstractProjectComponent;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.fileTypes.FileTypeManager;
|
||||
import com.intellij.openapi.progress.ProgressIndicator;
|
||||
import com.intellij.openapi.project.*;
|
||||
@@ -42,6 +44,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import java.util.Collection;
|
||||
|
||||
public class FileBasedIndexProjectHandler extends AbstractProjectComponent implements IndexableFileSet {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.util.indexing.FileBasedIndexProjectHandler");
|
||||
private final FileBasedIndexImpl myIndex;
|
||||
private final ProjectRootManagerEx myRootManager;
|
||||
private final FileTypeManager myFileTypeManager;
|
||||
@@ -52,6 +55,18 @@ public class FileBasedIndexProjectHandler extends AbstractProjectComponent imple
|
||||
myRootManager = rootManager;
|
||||
myFileTypeManager = ftManager;
|
||||
|
||||
if (ApplicationManager.getApplication().isInternal()) {
|
||||
project.getMessageBus().connect().subscribe(DumbService.DUMB_MODE, new DumbService.DumbModeListener() {
|
||||
|
||||
public void enteredDumbMode() {
|
||||
}
|
||||
|
||||
public void exitDumbMode() {
|
||||
LOG.info("Has changed files: " + (createChangedFilesIndexingTask(project) != null) + "; project=" + project);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
final StartupManagerEx startupManager = (StartupManagerEx)StartupManager.getInstance(project);
|
||||
if (startupManager != null) {
|
||||
startupManager.registerPreStartupActivity(new Runnable() {
|
||||
|
||||
@@ -262,10 +262,17 @@ public class StartupManagerImpl extends StartupManagerEx {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "initial refresh";
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
dumbService.queueCacheUpdateInDumbMode(myCacheUpdaters);
|
||||
if (!myCacheUpdaters.isEmpty()) {
|
||||
dumbService.queueCacheUpdateInDumbMode(myCacheUpdaters);
|
||||
}
|
||||
}
|
||||
catch (ProcessCanceledException e) {
|
||||
throw e;
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.intellij.util.Consumer;
|
||||
import gnu.trove.THashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.Future;
|
||||
@@ -52,6 +53,11 @@ public class CacheUpdateRunner {
|
||||
myUpdaters = updaters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ArrayList<CacheUpdater>(myUpdaters).toString();
|
||||
}
|
||||
|
||||
public int queryNeededFiles(@NotNull ProgressIndicator indicator) {
|
||||
// can be queried twice in DumbService
|
||||
return getSession(indicator).getFilesToUpdate().size();
|
||||
|
||||
@@ -97,6 +97,11 @@ public class DumbServiceImpl extends DumbService {
|
||||
public void canceled() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return task.toString();
|
||||
}
|
||||
};
|
||||
queueCacheUpdateInDumbMode(Arrays.asList(wrapper));
|
||||
}
|
||||
@@ -258,6 +263,8 @@ public class DumbServiceImpl extends DumbService {
|
||||
myDumb = false;
|
||||
if (myProject.isDisposed()) return;
|
||||
|
||||
if (ApplicationManager.getApplication().isInternal()) LOG.info("updateFinished");
|
||||
|
||||
try {
|
||||
myPublisher.exitDumbMode();
|
||||
FileEditorManagerEx.getInstanceEx(myProject).refreshIcons();
|
||||
@@ -425,6 +432,7 @@ public class DumbServiceImpl extends DumbService {
|
||||
private void runAction(ProgressIndicator indicator, CacheUpdateRunner updateRunner) {
|
||||
while (updateRunner != null) {
|
||||
try {
|
||||
if (ApplicationManager.getApplication().isInternal()) LOG.info("Running dumb mode task: " + updateRunner);
|
||||
indicator.checkCanceled();
|
||||
indicator.setIndeterminate(true);
|
||||
indicator.setText(IdeBundle.message("progress.indexing.scanning"));
|
||||
|
||||
@@ -419,6 +419,11 @@ public class ProjectManagerImpl extends ProjectManagerEx implements NamedJDOMExt
|
||||
public void performInDumbMode(@NotNull ProgressIndicator indicator) {
|
||||
waitForFileWatcher(indicator);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "wait for file watcher";
|
||||
}
|
||||
});
|
||||
|
||||
final StartupManagerImpl startupManager = (StartupManagerImpl)StartupManager.getInstance(project);
|
||||
|
||||
Reference in New Issue
Block a user