Example usage for com.intellij.openapi.util NamedRunnable NamedRunnable

List of usage examples for com.intellij.openapi.util NamedRunnable NamedRunnable

Introduction

In this page you can find the example usage for com.intellij.openapi.util NamedRunnable NamedRunnable.

Prototype

protected NamedRunnable(@NotNull String name) 

Source Link

Usage

From source file:com.intellij.ide.util.treeView.TreeUiTest.java

License:Apache License

public void testReadyCallbackWhenReleased() throws Exception {
    buildStructure(myRoot);/*  www .j  a  v a  2s .c o  m*/

    final Ref<Boolean> done = new Ref<Boolean>(false);
    final Ref<Boolean> rejected = new Ref<Boolean>(false);
    final Ref<Boolean> processed = new Ref<Boolean>(false);
    final Ref<Boolean> wasUiNull = new Ref<Boolean>(true);

    final Ref<Runnable> addReadyCallbacks = new Ref<Runnable>(new Runnable() {
        public void run() {
            getBuilder().getReady(this).doWhenDone(new NamedRunnable("on done") {
                @Override
                public void run() {
                    wasUiNull.set(getBuilder().getUi() == null);
                    done.set(true);
                }
            }).doWhenRejected(new NamedRunnable("on rejected") {
                @Override
                public void run() {
                    wasUiNull.set(getBuilder().getUi() == null);
                    rejected.set(true);
                }
            }).doWhenProcessed(new NamedRunnable("on processed") {
                @Override
                public void run() {
                    processed.set(true);
                }
            });
        }
    });

    final Ref<Boolean> disposeRequested = new Ref<Boolean>(false);
    myElementUpdateHook = new ElementUpdateHook() {
        @Override
        public void onElementAction(String action, Object element) {
            if (addReadyCallbacks.get() != null) {
                addReadyCallbacks.get().run();
                addReadyCallbacks.set(null);
            }

            if (element.equals(new NodeElement("ide"))) {
                disposeRequested.set(true);
                //noinspection SSBasedInspection
                getBuilder().dispose();
            }
        }
    };

    invokeLaterIfNeeded(new Runnable() {
        @Override
        public void run() {
            getBuilder().expand(new NodeElement("fabrique"), null);
        }
    });

    waitBuilderToCome(new Condition<Object>() {
        @Override
        public boolean value(Object o) {
            return disposeRequested.get();
        }
    });
    assertTrue(wasUiNull.get());
    assertFalse(done.get());
    assertTrue(rejected.get());
    assertTrue(processed.get());
}

From source file:org.jetbrains.idea.svn.SvnAuthenticationNotifier.java

License:Apache License

private static void showAuthenticationFailedWithHotFixes(final Project project,
        final SvnConfiguration configuration, final SVNException e) {
    ApplicationManager.getApplication().invokeLater(new Runnable() {
        @Override/*from  ww w. jav a 2s.  c o  m*/
        public void run() {
            VcsBalloonProblemNotifier.showOverChangesView(project, "Authentication failed: " + e.getMessage(),
                    MessageType.ERROR,
                    new NamedRunnable(SvnBundle.message("confirmation.title.clear.authentication.cache")) {
                        @Override
                        public void run() {
                            clearAuthenticationCache(project, null, configuration.getConfigurationDirectory());
                        }
                    }, new NamedRunnable(SvnBundle.message("action.title.select.configuration.directory")) {
                        @Override
                        public void run() {
                            SvnConfigurable.selectConfigirationDirectory(
                                    configuration.getConfigurationDirectory(), new Consumer<String>() {
                                        @Override
                                        public void consume(String s) {
                                            configuration.setConfigurationDirParameters(false, s);
                                        }
                                    }, project, null);
                        }
                    });
        }
    }, ModalityState.NON_MODAL, project.getDisposed());
}