mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
dispose more message buses in lite environments (IDEA-CR-6909)
This commit is contained in:
@@ -69,7 +69,6 @@ import com.intellij.psi.stubs.StubTreeLoader;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.messages.MessageBusFactory;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.picocontainer.MutablePicoContainer;
|
||||
|
||||
@@ -112,7 +111,7 @@ public class CoreApplicationEnvironment {
|
||||
}, null));
|
||||
|
||||
VirtualFileSystem[] fs = {myLocalFileSystem, myJarFileSystem};
|
||||
VirtualFileManagerImpl virtualFileManager = new VirtualFileManagerImpl(fs, MessageBusFactory.newMessageBus(myApplication));
|
||||
VirtualFileManagerImpl virtualFileManager = new VirtualFileManagerImpl(fs, myApplication.getMessageBus());
|
||||
registerComponentInstance(appContainer, VirtualFileManager.class, virtualFileManager);
|
||||
|
||||
registerApplicationService(EncodingManager.class, new CoreEncodingRegistry());
|
||||
|
||||
@@ -41,7 +41,6 @@ import com.intellij.psi.util.CachedValuesManager;
|
||||
import com.intellij.psi.util.PsiModificationTracker;
|
||||
import com.intellij.util.CachedValuesManagerImpl;
|
||||
import com.intellij.util.messages.MessageBus;
|
||||
import com.intellij.util.messages.MessageBusFactory;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.picocontainer.PicoContainer;
|
||||
|
||||
@@ -62,7 +61,7 @@ public class CoreProjectEnvironment {
|
||||
preregisterServices();
|
||||
|
||||
myFileIndexFacade = createFileIndexFacade();
|
||||
myMessageBus = MessageBusFactory.newMessageBus("CoreProjectEnvironment");
|
||||
myMessageBus = myProject.getMessageBus();
|
||||
|
||||
PsiModificationTrackerImpl modificationTracker = new PsiModificationTrackerImpl(myProject);
|
||||
myProject.registerService(PsiModificationTracker.class, modificationTracker);
|
||||
|
||||
@@ -31,15 +31,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
* Time: 1:29 PM
|
||||
*/
|
||||
public class MessageBusUtil {
|
||||
public static <T> void runOnSyncPublisher(final Project project, final Topic<T> topic, final Consumer<T> listener) {
|
||||
final Application application = ApplicationManager.getApplication();
|
||||
final Runnable runnable = createPublisherRunnable(project, topic, listener);
|
||||
if (application.isDispatchThread()) {
|
||||
runnable.run();
|
||||
} else {
|
||||
application.runReadAction(runnable);
|
||||
}
|
||||
}
|
||||
|
||||
private static <T> Runnable createPublisherRunnable(final Project project, final Topic<T> topic, final Consumer<T> listener) {
|
||||
return new Runnable() {
|
||||
|
||||
@@ -89,6 +89,16 @@ public class MessageBusTest extends TestCase {
|
||||
myLog = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
try {
|
||||
myBus.dispose();
|
||||
}
|
||||
finally {
|
||||
super.tearDown();
|
||||
}
|
||||
}
|
||||
|
||||
public void testNoListenersSubscribed() {
|
||||
myBus.syncPublisher(TOPIC1).t11();
|
||||
assertEvents();
|
||||
|
||||
@@ -54,7 +54,6 @@ import com.intellij.psi.util.CachedValuesManager;
|
||||
import com.intellij.util.CachedValuesManagerImpl;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.messages.MessageBus;
|
||||
import com.intellij.util.messages.MessageBusFactory;
|
||||
import junit.framework.TestCase;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -111,7 +110,7 @@ public abstract class ParsingTestCase extends PlatformLiteFixture {
|
||||
myPsiManager = new MockPsiManager(myProject);
|
||||
myFileFactory = new PsiFileFactoryImpl(myPsiManager);
|
||||
MutablePicoContainer appContainer = getApplication().getPicoContainer();
|
||||
registerComponentInstance(appContainer, MessageBus.class, MessageBusFactory.newMessageBus(getApplication()));
|
||||
registerComponentInstance(appContainer, MessageBus.class, getApplication().getMessageBus());
|
||||
registerComponentInstance(appContainer, SchemesManagerFactory.class, new MockSchemesManagerFactory());
|
||||
final MockEditorFactory editorFactory = new MockEditorFactory();
|
||||
registerComponentInstance(appContainer, EditorFactory.class, editorFactory);
|
||||
|
||||
Reference in New Issue
Block a user