use of org.uberfire.client.mvp.SaveInProgressEvent in project drools-wb by kiegroup.
the class GuidedDecisionTableGraphEditorPresenter method saveDocumentGraphEntries.
void saveDocumentGraphEntries() {
final Set<GuidedDecisionTableView.Presenter> allDecisionTables = new HashSet<>(modeller.getAvailableDecisionTables());
savePopUpPresenter.show(editorPath, (commitMessage) -> {
editorView.showSaving();
saveGraphLatch = new SaveGraphLatch(allDecisionTables.size(), commitMessage);
if (allDecisionTables.isEmpty()) {
saveGraphLatch.saveDocumentGraph();
} else {
allDecisionTables.stream().forEach((dtPresenter) -> {
saveGraphLatch.saveDocumentGraphEntry(dtPresenter);
saveInProgressEvent.fire(new SaveInProgressEvent(dtPresenter.getLatestPath()));
});
}
});
}
use of org.uberfire.client.mvp.SaveInProgressEvent in project drools-wb by kiegroup.
the class GuidedDecisionTableGraphEditorPresenterTest method checkSaveDocumentGraphEntries.
@Test
public void checkSaveDocumentGraphEntries() {
final ObservablePath dtGraphPath = mock(ObservablePath.class);
final PathPlaceRequest dtGraphPlaceRequest = mock(PathPlaceRequest.class);
final GuidedDecisionTableEditorGraphContent dtGraphContent = makeDecisionTableGraphContent();
final ObservablePath dtPath1 = mock(ObservablePath.class);
final PlaceRequest dtPlaceRequest1 = mock(PlaceRequest.class);
final GuidedDecisionTableEditorContent dtContent1 = makeDecisionTableContent();
final GuidedDecisionTableView.Presenter dtPresenter1 = makeDecisionTable(dtPath1, dtPath1, dtPlaceRequest1, dtContent1);
final ObservablePath dtPath2 = mock(ObservablePath.class);
final PlaceRequest dtPlaceRequest2 = mock(PlaceRequest.class);
final GuidedDecisionTableEditorContent dtContent2 = makeDecisionTableContent();
final GuidedDecisionTableView.Presenter dtPresenter2 = makeDecisionTable(dtPath2, dtPath2, dtPlaceRequest2, dtContent2);
when(dtPath1.toURI()).thenReturn("dtPath1");
when(dtPath2.toURI()).thenReturn("dtPath2");
when(dtGraphPath.toURI()).thenReturn("dtGraphPath");
when(dtGraphPath.getFileName()).thenReturn("filename");
when(dtService.loadContent(eq(dtPath1))).thenReturn(dtContent1);
when(dtService.loadContent(eq(dtPath2))).thenReturn(dtContent2);
when(dtGraphService.loadContent(eq(dtGraphPath))).thenReturn(dtGraphContent);
when(versionRecordManager.getCurrentPath()).thenReturn(dtGraphPath);
when(modeller.addDecisionTable(any(ObservablePath.class), any(PlaceRequest.class), eq(dtContent1), any(Boolean.class), any(Double.class), any(Double.class))).thenReturn(dtPresenter1);
when(modeller.addDecisionTable(any(ObservablePath.class), any(PlaceRequest.class), eq(dtContent2), any(Boolean.class), any(Double.class), any(Double.class))).thenReturn(dtPresenter2);
when(modeller.getAvailableDecisionTables()).thenReturn(new HashSet<GuidedDecisionTableView.Presenter>() {
{
add(dtPresenter1);
add(dtPresenter2);
}
});
presenter.onStartup(dtGraphPath, dtGraphPlaceRequest);
presenter.saveDocumentGraphEntries();
verify(savePopUpPresenter, times(1)).show(any(Path.class), commitMessageCommandCaptor.capture());
final ParameterizedCommand<String> commitMessageCommand = commitMessageCommandCaptor.getValue();
assertNotNull(commitMessageCommand);
commitMessageCommand.execute("message");
verify(view, times(1)).showSaving();
verify(saveInProgressEvent, times(2)).fire(any(SaveInProgressEvent.class));
verify(dtGraphService, times(1)).save(eq(dtGraphPath), any(GuidedDecisionTableEditorGraphModel.class), any(Metadata.class), eq("message"));
verify(dtService, times(1)).save(eq(dtPath2), any(GuidedDecisionTable52.class), any(Metadata.class), eq("message"));
verify(dtService, times(1)).save(eq(dtPath2), any(GuidedDecisionTable52.class), any(Metadata.class), eq("message"));
verify(notificationEvent, times(1)).fire(any(NotificationEvent.class));
verify(dtPresenter1, times(1)).setConcurrentUpdateSessionInfo(eq(null));
verify(dtPresenter2, times(1)).setConcurrentUpdateSessionInfo(eq(null));
assertNull(presenter.concurrentUpdateSessionInfo);
}
use of org.uberfire.client.mvp.SaveInProgressEvent in project drools-wb by kiegroup.
the class GuidedDecisionTableGraphEditorPresenterTest method checkSaveDocumentGraphEntriesEmptyGraph.
@Test
public void checkSaveDocumentGraphEntriesEmptyGraph() {
final ObservablePath dtGraphPath = mock(ObservablePath.class);
final PathPlaceRequest dtGraphPlaceRequest = mock(PathPlaceRequest.class);
final GuidedDecisionTableEditorGraphContent dtGraphContent = makeDecisionTableGraphContent();
when(dtGraphPath.toURI()).thenReturn("dtGraphPath");
when(dtGraphPath.getFileName()).thenReturn("filename");
when(dtGraphService.loadContent(eq(dtGraphPath))).thenReturn(dtGraphContent);
when(versionRecordManager.getCurrentPath()).thenReturn(dtGraphPath);
when(modeller.getAvailableDecisionTables()).thenReturn(new HashSet<>());
presenter.onStartup(dtGraphPath, dtGraphPlaceRequest);
presenter.saveDocumentGraphEntries();
verify(savePopUpPresenter, times(1)).show(any(Path.class), commitMessageCommandCaptor.capture());
final ParameterizedCommand<String> commitMessageCommand = commitMessageCommandCaptor.getValue();
assertNotNull(commitMessageCommand);
commitMessageCommand.execute("message");
verify(view, times(1)).showSaving();
verify(saveInProgressEvent, never()).fire(any(SaveInProgressEvent.class));
verify(dtGraphService, times(1)).save(eq(dtGraphPath), any(GuidedDecisionTableEditorGraphModel.class), any(Metadata.class), eq("message"));
final ArgumentCaptor<NotificationEvent> notification = ArgumentCaptor.forClass(NotificationEvent.class);
verify(notificationEvent, times(1)).fire(notification.capture());
assertEquals(CommonConstants.INSTANCE.ItemSavedSuccessfully(), notification.getValue().getNotification());
assertNull(presenter.concurrentUpdateSessionInfo);
}
Aggregations