]> git.basschouten.com Git - openhab-addons.git/commitdiff
Skip loading/migrating items with invalid name (#14054)
authorJacob Laursen <jacob-github@vindvejr.dk>
Tue, 27 Dec 2022 10:41:59 +0000 (11:41 +0100)
committerGitHub <noreply@github.com>
Tue, 27 Dec 2022 10:41:59 +0000 (11:41 +0100)
Fixes #14053

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/internal/JdbcMapper.java

index 7a510527fa3949412208a4de49e11cbffa567858..2b31c759ca434ef52f5086b984ac1fc08583f458 100644 (file)
@@ -27,6 +27,7 @@ import org.eclipse.jdt.annotation.Nullable;
 import org.knowm.yank.Yank;
 import org.openhab.core.i18n.TimeZoneProvider;
 import org.openhab.core.items.Item;
+import org.openhab.core.items.ItemUtil;
 import org.openhab.core.persistence.FilterCriteria;
 import org.openhab.core.persistence.HistoricItem;
 import org.openhab.core.persistence.PersistenceItemInfo;
@@ -340,6 +341,11 @@ public class JdbcMapper {
             }
         } else {
             for (ItemsVO vo : getItemIDTableNames()) {
+                String itemName = vo.getItemName();
+                if (!ItemUtil.isValidItemName(itemName)) {
+                    logger.warn("Skipping invalid item name {}", itemName);
+                    continue;
+                }
                 itemNameToTableNameMap.put(vo.getItemName(),
                         namingStrategy.getTableName(vo.getItemId(), vo.getItemName()));
             }
@@ -429,6 +435,10 @@ public class JdbcMapper {
             }
             oldNewTableNames = new ArrayList<>();
             for (String itemName : itemTables) {
+                if (!ItemUtil.isValidItemName(itemName)) {
+                    logger.warn("JDBC::formatTableNames: Skipping invalid item name {}", itemName);
+                    continue;
+                }
                 ItemsVO isvo = new ItemsVO();
                 isvo.setItemName(itemName);
                 isvo.setItemsManageTable(conf.getItemsManageTable());