+ private void updateStatus() {
+ if (dataProvider != null) {
+ final DataModificationTransaction t = dataProvider.beginTransaction();
+ t.removeOperationalData(toasterIID);
+ t.putOperationalData(toasterIID, getToaster());
+
+ try {
+ t.commit().get();
+ } catch (InterruptedException | ExecutionException e) {
+ log.warn("Failed to update toaster status, operational otherwise", e);
+ }
+ } else {
+ log.trace("No data provider configured, not updating status");
+ }
+ }
+
+ @Override
+ public void close() throws ExecutionException, InterruptedException {
+ if (dataProvider != null) {
+ final DataModificationTransaction t = dataProvider.beginTransaction();
+ t.removeOperationalData(toasterIID);
+ t.commit().get();
+ }
+ }
+