Make store wrapper more resilient

This commit is contained in:
crschnick 2024-07-01 15:08:01 +00:00
parent 0620fe1d2a
commit e26240ac1f

View file

@ -151,7 +151,7 @@ public class StoreEntryWrapper {
summary.setValue(null); summary.setValue(null);
} else { } else {
try { try {
summary.setValue(entry.getProvider().summaryString(this)); summary.setValue(entry.getProvider() != null ? entry.getProvider().summaryString(this) : null);
} catch (Exception ex) { } catch (Exception ex) {
// Summary creation might fail or have a bug // Summary creation might fail or have a bug
ErrorEvent.fromThrowable(ex).handle(); ErrorEvent.fromThrowable(ex).handle();
@ -162,18 +162,18 @@ public class StoreEntryWrapper {
actionProviders.clear(); actionProviders.clear();
defaultActionProvider.setValue(null); defaultActionProvider.setValue(null);
} else { } else {
var defaultProvider = ActionProvider.ALL.stream()
.filter(e -> entry.getStore() != null
&& e.getDefaultDataStoreCallSite() != null
&& e.getDefaultDataStoreCallSite()
.getApplicableClass()
.isAssignableFrom(entry.getStore().getClass())
&& e.getDefaultDataStoreCallSite().isApplicable(entry.ref()))
.findFirst()
.orElse(null);
this.defaultActionProvider.setValue(defaultProvider);
try { try {
var defaultProvider = ActionProvider.ALL.stream()
.filter(e -> entry.getStore() != null
&& e.getDefaultDataStoreCallSite() != null
&& e.getDefaultDataStoreCallSite()
.getApplicableClass()
.isAssignableFrom(entry.getStore().getClass())
&& e.getDefaultDataStoreCallSite().isApplicable(entry.ref()))
.findFirst()
.orElse(null);
this.defaultActionProvider.setValue(defaultProvider);
var newProviders = ActionProvider.ALL.stream() var newProviders = ActionProvider.ALL.stream()
.filter(dataStoreActionProvider -> { .filter(dataStoreActionProvider -> {
return showActionProvider(dataStoreActionProvider); return showActionProvider(dataStoreActionProvider);