Skip to content

Commit 528e2c4

Browse files
committed
Update methods
1 parent 4db27b7 commit 528e2c4

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

user-interface/src/main/java/life/qbic/datamanager/views/projects/project/samples/SampleDetailsComponent.java

+13-9
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
import life.qbic.datamanager.views.Context;
1818
import life.qbic.datamanager.views.general.PageArea;
1919
import life.qbic.datamanager.views.general.Tag;
20+
import life.qbic.datamanager.views.notifications.MessageSourceNotificationFactory;
2021
import life.qbic.projectmanagement.application.api.AsyncProjectService;
2122
import life.qbic.projectmanagement.application.api.AsyncProjectService.RequestFailedException;
22-
import life.qbic.projectmanagement.application.sample.SampleInformationService;
2323
import life.qbic.projectmanagement.application.sample.SamplePreview;
2424
import life.qbic.projectmanagement.domain.model.batch.Batch;
2525
import life.qbic.projectmanagement.domain.model.experiment.Experiment;
@@ -49,10 +49,13 @@ public class SampleDetailsComponent extends PageArea implements Serializable {
4949
private final Span countSpan;
5050
private final Grid<SamplePreview> sampleGrid;
5151
private final transient AsyncProjectService asyncProjectService;
52+
private final MessageSourceNotificationFactory messageFactory;
5253
private Context context;
5354

5455
@Autowired
55-
public SampleDetailsComponent(AsyncProjectService asyncProjectService) {
56+
public SampleDetailsComponent(AsyncProjectService asyncProjectService,
57+
MessageSourceNotificationFactory messageFactory) {
58+
this.messageFactory = Objects.requireNonNull(messageFactory);
5659
this.asyncProjectService = Objects.requireNonNull(asyncProjectService);
5760
addClassName("sample-details-component");
5861
sampleGrid = createSampleGrid();
@@ -160,7 +163,8 @@ private static Grid<SamplePreview> createSampleGrid() {
160163
}
161164

162165
public void onSearchFieldValueChanged(String searchValue) {
163-
updateSampleGridDataProvider(context.projectId().orElseThrow(), context.experimentId().orElseThrow(), searchValue);
166+
updateSampleGridDataProvider(context.projectId().orElseThrow(),
167+
context.experimentId().orElseThrow(), searchValue);
164168
}
165169

166170
private void updateSampleGridDataProvider(ProjectId projectId, ExperimentId experimentId,
@@ -171,19 +175,19 @@ private void updateSampleGridDataProvider(ProjectId projectId, ExperimentId expe
171175
.collect(Collectors.toList());
172176
// if no order is provided by the grid order by last modified (least priority)
173177
sortOrders.add(SortOrder.of("sampleCode").ascending());
174-
return Objects.requireNonNull(
175-
asyncProjectService.getSamplePreviews(projectId.value(), experimentId.value(),
176-
query.getOffset(), query.getLimit(), List.copyOf(sortOrders), filter).collectList()
177-
.doOnError(RequestFailedException.class, this::handleRequestFailed)
178-
.block()).stream();
178+
return asyncProjectService.getSamplePreviews(projectId.value(), experimentId.value(),
179+
query.getOffset(), query.getLimit(), List.copyOf(sortOrders), filter)
180+
.doOnError(RequestFailedException.class, this::handleRequestFailed).toStream();
181+
179182
});
180183
sampleGrid.getLazyDataView().addItemCountChangeListener(
181184
countChangeEvent -> setSampleCount((int) sampleGrid.getLazyDataView().getItems().count()));
182185
sampleGrid.recalculateColumnWidths();
183186
}
184187

185188
private void handleRequestFailed(RequestFailedException e) {
186-
189+
getUI().ifPresent(ui -> ui.access(
190+
() -> messageFactory.toast("sample.query.failed", new Object[]{}, getLocale())));
187191
}
188192

189193
/**

user-interface/src/main/java/life/qbic/datamanager/views/projects/project/samples/SampleInformationMain.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -481,8 +481,8 @@ private void setBatchAndSampleInformation() {
481481
private boolean noSamplesRegisteredInExperiment(Experiment experiment) {
482482
var result = asyncProjectService
483483
.getSamples(context.projectId().orElseThrow().value(), experiment.experimentId().value())
484-
.collectList().block();
485-
return result == null || result.isEmpty();
484+
.toStream().toList();
485+
return result.isEmpty();
486486
}
487487

488488
private void showRegisterGroupsDisclaimer() {

0 commit comments

Comments
 (0)