mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
make MessageBus interface extend Disposable
This commit is contained in:
@@ -140,7 +140,7 @@ public class MockComponentManager extends UserDataHolderBase implements Componen
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
myMessageBus.dispose();
|
||||
Disposer.dispose(myMessageBus);
|
||||
myDisposed = true;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -276,7 +276,7 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements
|
||||
myDisposeCompleted = true;
|
||||
|
||||
if (myMessageBus != null) {
|
||||
myMessageBus.dispose();
|
||||
Disposer.dispose(myMessageBus);
|
||||
myMessageBus = null;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,14 +15,11 @@
|
||||
*/
|
||||
package com.intellij.util;
|
||||
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.Application;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.util.messages.MessageBus;
|
||||
import com.intellij.util.messages.Topic;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class MessageBusUtil {
|
||||
private static <T> Runnable createPublisherRunnable(final Project project, final Topic<T> topic, final Consumer<T> listener) {
|
||||
@@ -42,13 +39,4 @@ public class MessageBusUtil {
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Disposable newMessageBusDisposer(@NotNull final MessageBus messageBus) {
|
||||
return new Disposable() {
|
||||
@Override
|
||||
public void dispose() {
|
||||
messageBus.dispose();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
package com.intellij.util.messages;
|
||||
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.testFramework.PlatformTestUtil;
|
||||
import com.intellij.util.ConcurrencyUtil;
|
||||
@@ -95,7 +96,7 @@ public class MessageBusTest extends TestCase {
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
try {
|
||||
myBus.dispose();
|
||||
Disposer.dispose(myBus);
|
||||
}
|
||||
finally {
|
||||
myBus = null;
|
||||
@@ -343,7 +344,7 @@ public class MessageBusTest extends TestCase {
|
||||
public void t11() {
|
||||
myLog.add("root 11");
|
||||
myBus.syncPublisher(TOPIC1).t12();
|
||||
child.dispose();
|
||||
Disposer.dispose(child);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -35,7 +35,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
* <p/>
|
||||
* Please see <a href="Wiki">http://confluence.jetbrains.net/display/IDEADEV/IntelliJ+IDEA+Messaging+infrastructure</a>.
|
||||
*/
|
||||
public interface MessageBus {
|
||||
public interface MessageBus extends Disposable {
|
||||
|
||||
/**
|
||||
* Messages buses can be organised into hierarchies. That allows facilities {@link Topic#getBroadcastDirection() broadcasting}.
|
||||
@@ -141,6 +141,11 @@ public interface MessageBus {
|
||||
*/
|
||||
void dispose();
|
||||
|
||||
/**
|
||||
* Returns true if this bus is disposed.
|
||||
*/
|
||||
boolean isDisposed();
|
||||
|
||||
/**
|
||||
* @return true when events in the given topic are being dispatched in the current thread,
|
||||
* and not all listeners have received the events yet.
|
||||
|
||||
@@ -262,9 +262,10 @@ public class MessageBusImpl implements MessageBus {
|
||||
@Override
|
||||
public void dispose() {
|
||||
checkNotDisposed();
|
||||
myDisposed = true;
|
||||
|
||||
for (MessageBusImpl childBus : myChildBuses) {
|
||||
childBus.dispose();
|
||||
Disposer.dispose(childBus);
|
||||
}
|
||||
|
||||
Disposer.dispose(myConnectionDisposable);
|
||||
@@ -280,7 +281,11 @@ public class MessageBusImpl implements MessageBus {
|
||||
else {
|
||||
asRoot().myWaitingBuses.remove();
|
||||
}
|
||||
myDisposed = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDisposed() {
|
||||
return myDisposed;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user