@Override @OnClose public void onClose() { lockManager.releaseLock(); super.onClose(); }
protected void setupDefaultPessimisticLockManager() { if (lockManager == null) { lockManager = lockManagerProvider.get(); final Runnable reloadRunnable = new Runnable() { @Override public void run() { onStartup(path, getPlace()); } }; final TitleProvider titleProvider = new TitleProvider() { @Override public String getTitle() { AbstractWorkbenchEditorActivity activity = AbstractWorkbenchEditorActivity.this; return (activity.open) ? activity.getTitle() : ""; } }; lockManager.init(new LockTarget(path, getWidget(), getPlace(), titleProvider, reloadRunnable)); } }
@Override protected void onDecisionTableSelected(final @Observes DecisionTableSelectedEvent event) { final Optional<GuidedDecisionTableView.Presenter> dtPresenter = event.getPresenter(); if (!dtPresenter.isPresent()) { initialiseEditorTabsWhenNoDocuments(); } super.onDecisionTableSelected(event); if (event.isLockRequired()) { if (!isReadOnly()) { lockManager.acquireLock(); } } }
@Override public void onOpen() { super.onOpen(); if (assertFrameworkLockingStrategy()) { lockManager.acquireLockOnDemand(); } }
@Override public void onFocus() { super.onFocus(); if (path != null) { if (assertFrameworkLockingStrategy()) { lockManager.onFocus(); } } }
@Test public void frameworkProvidedLockingAcquiresLocks() { EditorTestActivity activity = new EditorTestActivity(lockManagerProvider, placeManager, FRAMEWORK_PESSIMISTIC); activity.onStartup(place); activity.onOpen(); verify(lockManagerProvider, times(1)).get(); verify(lockManager, times(1)).acquireLockOnDemand(); }
@Override @OnClose public void onClose() { lockManager.releaseLock(); super.onClose(); }
void initialiseLockManager() { lockManager.init(new LockTarget(editorPath, view.asWidget(), editorPlaceRequest, () -> editorPath.getFileName() + " - " + resourceType.getDescription(), () -> {/*nothing*/})); }
@Test public void editorProvidedLockingDoesNotAcquireLocks() { EditorTestActivity activity = new EditorTestActivity(lockManagerProvider, placeManager, EDITOR_PROVIDED); activity.onStartup(place); activity.onOpen(); verify(lockManagerProvider, never()).get(); verify(lockManager, never()).acquireLockOnDemand(); }
@Override protected void onDecisionTableSelected(final @Observes DecisionTableSelectedEvent event) { final Optional<GuidedDecisionTableView.Presenter> dtPresenter = event.getPresenter(); if (!dtPresenter.isPresent()) { initialiseEditorTabsWhenNoDocuments(); } super.onDecisionTableSelected(event); if (event.isLockRequired()) { if (!isReadOnly()) { lockManager.acquireLock(); } } }
@Override public void onClose() { if (assertFrameworkLockingStrategy()) { lockManager.releaseLock(); lockManagerProvider.destroy(lockManager); } super.onClose(); }
void initialiseLockManager() { lockManager.init(new LockTarget(editorPath, view.asWidget(), editorPlaceRequest, () -> editorPath.getFileName() + " - " + resourceType.getDescription(), () -> {/*nothing*/})); }
@Test public void editorProvidedLockingDoesNotAcquireLocks() { EditorTestActivity activity = new EditorTestActivity(lockManagerProvider, placeManager, EDITOR_PROVIDED); activity.onStartup(place); activity.onOpen(); verify(lockManagerProvider, never()).get(); verify(lockManager, never()).acquireLockOnDemand(); }
@Test public void checkOnDecisionTableSelectedReadOnly() { checkOnDecisionTableSelected((dtGraphPlaceRequest) -> when(dtGraphPlaceRequest.getParameter(eq("readOnly"), any())).thenReturn(Boolean.toString(true)), () -> verify(lockManager, never()).acquireLock()); }
@Test public void checkOnClose() { presenter.onClose(); verify(modeller, times(1)).onClose(); verify(lockManager, times(1)).releaseLock(); }
times(1)).init(lockTargetCaptor.capture());
@Test public void frameworkProvidedLockingAcquiresLocks() { EditorTestActivity activity = new EditorTestActivity(lockManagerProvider, placeManager, FRAMEWORK_PESSIMISTIC); activity.onStartup(place); activity.onOpen(); verify(lockManagerProvider, times(1)).get(); verify(lockManager, times(1)).acquireLockOnDemand(); }
@Test public void checkOnDecisionTableSelectedNotReadOnly() { checkOnDecisionTableSelected((dtGraphPlaceRequest) -> {/*Nothing*/}, () -> verify(lockManager, times(1)).acquireLock()); }
@Test public void editorProvidedLockingDoesNotReleasesLocks() { EditorTestActivity activity = new EditorTestActivity(lockManagerProvider, placeManager, EDITOR_PROVIDED); activity.onStartup(place); activity.onOpen(); activity.onClose(); verify(lockManagerProvider, never()).destroy(eq(lockManager)); verify(lockManager, never()).releaseLock(); }
never()).acquireLock();