@Before public void setUp() { mongoEditionPanel = GuiActionRunner.execute(new GuiQuery<MongoEditionPanel>() { protected MongoEditionPanel executeInEDT() { return new MongoEditionPanel(mockMongoOperations, mockActionCallback) { @Override void buildPopupMenu() { } }; } }); }
/** * Executes the given task in the event dispatch thread (EDT). This method waits until the task has finished its * execution. * * @param task the task to execute. * @throws org.assertj.swing.exception.UnexpectedException wrapping any <b>checked</b> exception thrown when executing * the given query in the * event dispatch thread (EDT). Unchecked exceptions are re-thrown without any wrapping. * @see #executeInEDT() * @see #execute(GuiActionRunnable) */ public static void execute(@Nonnull GuiTask task) { if (!executeInEDT) { executeInCurrentThread(task); return; } run(task); rethrowCaughtExceptionIn(task); }
/** * Executes the given query in the event dispatch thread (EDT). This method waits until the query has finished its * execution. * * @param query the query to execute. * @param <T> the return type of the action to execute. * @return the result of the query executed in the main thread. * @throws org.assertj.swing.exception.UnexpectedException wrapping any <b>checked</b> exception thrown when executing * the given query in the * event dispatch thread (EDT). Unchecked exceptions are re-thrown without any wrapping. * @see #executeInEDT() * @see #execute(Callable) */ @Nullable public static <T> T execute(@Nonnull GuiQuery<T> query) { if (!executeInEDT) { return executeInCurrentThread(query); } run(query); return resultOf(query); }
@Nullable private static <T> T resultOf(@Nonnull GuiQuery<T> query) { T result = query.result(); query.clearResult(); rethrowCaughtExceptionIn(query); return result; }
@Before public void setUp() { MockitoAnnotations.initMocks(MongoResultPanelTest.class); mongoResultPanel = GuiActionRunner.execute(new GuiQuery<MongoResultPanel>() { protected MongoResultPanel executeInEDT() { return new MongoResultPanel(DummyProject.getInstance(), mongoDocumentOperations, notifierMock); } }); frameFixture = Containers.showInFrame(mongoResultPanel); }
@Before public void setUp() { mongoManager = Mockito.spy(new MongoManager()); configurationPanel = GuiActionRunner.execute(new GuiQuery<ServerConfigurationPanel>() { protected ServerConfigurationPanel executeInEDT() { return new ServerConfigurationPanel(DummyProject.getInstance(), mongoManager); } }); frameFixture = Containers.showInFrame(configurationPanel); }
/** * Returns the parent of the given AWT or Swing {@code Component}. This query is executed in the event dispatch thread * (EDT). * * @param component the given {@code Component}. * @return the parent of the given {@code Component}. * @see Component#getParent() */ @RunsInEDT @Nullable public static Container parentOf(final @Nonnull Component component) { return execute(() -> component.getParent()); }
@RunsInEDT private static Pair<Container, Point> validateAndFindNormalizeLocation(final @Nonnull JInternalFrame internalFrame) { return execute(new GuiQuery<Pair<Container, Point>>() { @Override protected Pair<Container, Point> executeInEDT() { checkShowingOrIconified(internalFrame); return findMaximizeLocation(internalFrame); } }); }
@Nonnull private static <T> JList<T> newJList() { JList<T> result = execute(new GuiQuery<JList<T>>() { @Override protected JList<T> executeInEDT() { return new JList<T>(); }; }); ; return checkNotNull(result); }
@RunsInEDT static @Nullable Object singleSelectionValue(final @Nonnull JList<?> list, final @Nonnull JListCellReader cellReader) { return execute(() -> { int selectedIndex = list.getSelectedIndex(); return (selectedIndex >= 0) ? cellReader.valueAt(list, selectedIndex) : NO_SELECTION_VALUE; }); }
@RunsInEDT static void checkHasSelection(final @Nonnull JTree tree, final @Nonnull String[] selection, final @Nonnull JTreePathFinder pathFinder, final @Nonnull Description errMsg) { execute(() -> checkSelection(tree, selection, pathFinder, errMsg)); }
@RunsInEDT private static void appendComponents(final @Nonnull StringBuilder message, final @Nonnull Collection<Component> found) { execute(() -> { for (Component c : found) { message.append(String.format("%n%s", format(c))); } }); }
@RunsInEDT private static void appendComponents(final @Nonnull StringBuilder message, final @Nonnull Collection<Component> found) { execute(() -> { for (Component c : found) { message.append(String.format("%n%s", format(c))); } }); }
@RunsInEDT @Nonnull private static Pair<Point, Integer> findScrollUnitInfo(final @Nonnull JScrollBar scrollBar, final @Nonnull JScrollBarLocation location, final int times) { Pair<Point, Integer> result = execute(new GuiQuery<Pair<Point, Integer>>() { @Override protected Pair<Point, Integer> executeInEDT() { checkEnabledAndShowing(scrollBar); return scrollUnitInfo(scrollBar, location, times); } }); return checkNotNull(result); }
@RunsInEDT @Nonnull private static int[] selectedRowsOf(final @Nonnull JTable table) { int[] result = execute(() -> table.getSelectedRows()); return checkNotNull(result); }
@RunsInEDT static void setValue(final @Nonnull JSpinner spinner, final @Nonnull Object value) { execute(() -> { checkEnabledAndShowing(spinner); spinner.setValue(value); }); }
/** * Scrolls a rectangular region of a {@code JComponent} into view. * * @param robot simulates user input. * @param c the {@code JComponent}. * @param rectangle the rectangular region. */ private static void scrollToVisible(@Nonnull Robot robot, final @Nonnull JComponent c, final @Nonnull Rectangle rectangle) { execute(() -> c.scrollRectToVisible(rectangle)); robot.waitForIdle(); }
@RunsInEDT static void checkHasSelection(final @Nonnull JTree tree, final @Nonnull int[] selection, final @Nonnull Description errMsg) { execute(() -> checkSelection(tree, selection, errMsg)); }
@RunsInEDT @Nonnull private static JScrollBar verticalScrollBar(final @Nonnull JScrollPane scrollPane) { JScrollBar result = execute(() -> scrollPane.getVerticalScrollBar()); return checkNotNull(result); } }
@RunsInEDT static @Nonnull String textOf(final @Nonnull AbstractButton button) { String result = execute(() -> button.getText()); return result == null ? "" : result; }