]> git.basschouten.com Git - openhab-addons.git/commitdiff
[inmemory] Default persistence strategy Forecast (#16496)
authorMark Herwege <mherwege@users.noreply.github.com>
Thu, 27 Jun 2024 06:58:11 +0000 (08:58 +0200)
committerGitHub <noreply@github.com>
Thu, 27 Jun 2024 06:58:11 +0000 (08:58 +0200)
* default forecast persistence strategy

Signed-off-by: Mark Herwege <mark.herwege@telenet.be>
bundles/org.openhab.persistence.inmemory/README.md
bundles/org.openhab.persistence.inmemory/src/main/java/org/openhab/persistence/inmemory/internal/InMemoryPersistenceService.java

index f24ab44c85371427252a77a8a3556a0c4d4705ff..ec4f0a4adf8bcb56429770d6a4dd43dede585cb2 100644 (file)
@@ -5,7 +5,7 @@ Because of that the `restoreOnStartup` strategy is not supported for this servic
 
 The main use-case is to store data that is needed during runtime, e.g. temporary storage of forecast data that is retrieved from a binding.
 
-Since all data is stored in memory only, there is no default strategy for this service.
+The default strategy for this service is `forecast`.
 Unlike other persistence services, you MUST add a configuration, otherwise no data will be persisted.
 To avoid excessive memory usage, it is recommended to persist only a limited number of items and use a strategy that stores only data that is actually needed.
 
index 0caf9721fb520ec2a56a4dd0b5e23c5f03f367fe..3b0d69ad5a944f7c1187301762263b92cc2d6d91 100644 (file)
@@ -188,8 +188,8 @@ public class InMemoryPersistenceService implements ModifiablePersistenceService
 
     @Override
     public List<PersistenceStrategy> getDefaultStrategies() {
-        // persist nothing by default
-        return List.of();
+        // persist only forecasts by default
+        return List.of(PersistenceStrategy.Globals.FORECAST);
     }
 
     private PersistenceItemInfo toItemInfo(Map.Entry<String, PersistItem> itemEntry) {
@@ -268,7 +268,7 @@ public class InMemoryPersistenceService implements ModifiablePersistenceService
         }
     }
 
-    @SuppressWarnings({ "rawType", "unchecked" })
+    @SuppressWarnings("unchecked")
     private boolean applies(PersistEntry entry, FilterCriteria filter) {
         ZonedDateTime beginDate = filter.getBeginDate();
         if (beginDate != null && beginDate.isAfter(entry.timestamp())) {