void onUpdatedLockStatusEvent(final UpdatedLockStatusEvent event) { final Optional<GuidedDecisionTableView.Presenter> activeDecisionTable = modeller.getActiveDecisionTable(); if (!activeDecisionTable.isPresent()) { enableColumnsTab(false); return; } final boolean isEditable = isGuidedDecisionTableEditable(activeDecisionTable.get()); final boolean isLocked = event.isLocked() && !event.isLockedByCurrentUser(); final boolean enableColumnsPage = !isLocked && isEditable; enableColumnsTab(enableColumnsPage); }
void onUpdatedLockStatusEvent(final UpdatedLockStatusEvent event) { final Optional<GuidedDecisionTableView.Presenter> activeDecisionTable = modeller.getActiveDecisionTable(); if (!activeDecisionTable.isPresent()) { enableColumnsTab(false); return; } final boolean isEditable = isGuidedDecisionTableEditable(activeDecisionTable.get()); final boolean isLocked = event.isLocked() && !event.isLockedByCurrentUser(); final boolean enableColumnsPage = !isLocked && isEditable; enableColumnsTab(enableColumnsPage); }
void onUpdatedLockStatusEvent(final @Observes UpdatedLockStatusEvent event) { super.onUpdatedLockStatusEvent(event); if (editorPath == null) { return; } if (editorPath.equals(event.getFile())) { if (event.isLocked()) { access.setLock(event.isLockedByCurrentUser() ? CURRENT_USER : OTHER_USER); } else { access.setLock(NOBODY); } } }
void onEditorLockInfo(@Observes UpdatedLockStatusEvent lockInfo) { final Operation op = lockSyncMenuStateHelper.enable(lockInfo.getFile(), lockInfo.isLocked(), lockInfo.isLockedByCurrentUser()); switch (op) { case ENABLE: case DISABLE: for (MenuItem menuItem : menuItemsSyncedWithLockState) { menuItem.setEnabled(op == Operation.ENABLE); } break; case VETO: //Do nothing } } }
void onUpdatedLockStatusEvent(final @Observes UpdatedLockStatusEvent event) { super.onUpdatedLockStatusEvent(event); if (editorPath == null) { return; } if (editorPath.equals(event.getFile())) { if (event.isLocked()) { access.setLock(event.isLockedByCurrentUser() ? CURRENT_USER : OTHER_USER); } else { access.setLock(NOBODY); } } }
void onEditorLockInfo(@Observes UpdatedLockStatusEvent lockInfo) { final Operation op = lockSyncMenuStateHelper.enable(lockInfo.getFile(), lockInfo.isLocked(), lockInfo.isLockedByCurrentUser()); switch (op) { case ENABLE: case DISABLE: for (MenuItem menuItem : menuItemsSyncedWithLockState) { menuItem.setEnabled(op == Operation.ENABLE); } break; case VETO: //Do nothing } } }
void onUpdatedLockStatusEvent(final @Observes UpdatedLockStatusEvent event) { if (currentPath == null) { return; } if (currentPath.equals(event.getFile())) { if (event.isLocked()) { access.setLock(event.isLockedByCurrentUser() ? CURRENT_USER : OTHER_USER); } else { access.setLock(NOBODY); } refreshColumnsPage(); refreshMenus(); } }
void onUpdatedLockStatusEvent(final @Observes UpdatedLockStatusEvent event) { if (currentPath == null) { return; } if (currentPath.equals(event.getFile())) { if (event.isLocked()) { access.setLock(event.isLockedByCurrentUser() ? CURRENT_USER : OTHER_USER); } else { access.setLock(NOBODY); } refreshColumnsPage(); refreshMenus(); } }
@Test public void testOnUpdatedLockStatusEventWhenIsLockedByAnotherUser() { final UpdatedLockStatusEvent event = mock(UpdatedLockStatusEvent.class); final GuidedDecisionTableView.Presenter activeDecisionTable = mock(GuidedDecisionTableView.Presenter.class); doReturn(true).when(event).isLocked(); doReturn(false).when(event).isLockedByCurrentUser(); doReturn(true).when(presenter).isGuidedDecisionTableEditable(activeDecisionTable); doReturn(Optional.of(activeDecisionTable)).when(modeller).getActiveDecisionTable(); doNothing().when(presenter).enableColumnsTab(anyBoolean()); presenter.onUpdatedLockStatusEvent(event); verify(presenter).enableColumnsTab(eq(false)); }
@Test public void testOnUpdatedLockStatusEventWhenTableIsNotLockedAndIsNotEditable() { final UpdatedLockStatusEvent event = mock(UpdatedLockStatusEvent.class); final GuidedDecisionTableView.Presenter activeDecisionTable = mock(GuidedDecisionTableView.Presenter.class); doReturn(false).when(event).isLocked(); doReturn(false).when(event).isLockedByCurrentUser(); doReturn(false).when(presenter).isGuidedDecisionTableEditable(activeDecisionTable); doReturn(Optional.of(activeDecisionTable)).when(modeller).getActiveDecisionTable(); doNothing().when(presenter).enableColumnsTab(anyBoolean()); presenter.onUpdatedLockStatusEvent(event); verify(presenter).enableColumnsTab(eq(false)); }
@Test public void testOnUpdatedLockStatusEventWhenTableIsNotLockedAndIsEditable() { final UpdatedLockStatusEvent event = mock(UpdatedLockStatusEvent.class); final GuidedDecisionTableView.Presenter activeDecisionTable = mock(GuidedDecisionTableView.Presenter.class); doReturn(false).when(event).isLocked(); doReturn(false).when(event).isLockedByCurrentUser(); doReturn(true).when(presenter).isGuidedDecisionTableEditable(activeDecisionTable); doReturn(Optional.of(activeDecisionTable)).when(modeller).getActiveDecisionTable(); doNothing().when(presenter).enableColumnsTab(anyBoolean()); presenter.onUpdatedLockStatusEvent(event); verify(presenter).enableColumnsTab(eq(true)); }
@Test public void testOnUpdatedLockStatusEventWhenIsLockedByTheCurrentUser() { final UpdatedLockStatusEvent event = mock(UpdatedLockStatusEvent.class); final GuidedDecisionTableView.Presenter activeDecisionTable = mock(GuidedDecisionTableView.Presenter.class); doReturn(true).when(event).isLocked(); doReturn(true).when(event).isLockedByCurrentUser(); doReturn(true).when(presenter).isGuidedDecisionTableEditable(activeDecisionTable); doReturn(Optional.of(activeDecisionTable)).when(modeller).getActiveDecisionTable(); doNothing().when(presenter).enableColumnsTab(anyBoolean()); presenter.onUpdatedLockStatusEvent(event); verify(presenter).enableColumnsTab(eq(true)); }
@Test public void testOnUpdatedLockStatusEvent_LockedByCurrentUser() { final UpdatedLockStatusEvent event = mock(UpdatedLockStatusEvent.class); when(event.getFile()).thenReturn(dtPath); when(event.isLockedByCurrentUser()).thenReturn(true); when(event.isLocked()).thenReturn(true); dtPresenter.onUpdatedLockStatusEvent(event); verify(dtPresenter).refreshColumnsPage(); verify(dtPresenter).refreshMenus(); assertEquals(CURRENT_USER, dtPresenter.getAccess().getLock()); }
@Test public void testOnUpdatedLockStatusEvent_LockedByOtherUser() { final UpdatedLockStatusEvent event = mock(UpdatedLockStatusEvent.class); when(event.getFile()).thenReturn(dtPath); when(event.isLockedByCurrentUser()).thenReturn(false); when(event.isLocked()).thenReturn(true); dtPresenter.onUpdatedLockStatusEvent(event); verify(dtPresenter).refreshColumnsPage(); verify(dtPresenter).refreshMenus(); assertEquals(OTHER_USER, dtPresenter.getAccess().getLock()); }