From 0c390ab9c9296ac742c742764b4891a1765b68fc Mon Sep 17 00:00:00 2001 From: Christoph Weitkamp Date: Sat, 24 Apr 2021 12:39:05 +0200 Subject: [PATCH] [jdbc] Increased size of column type for Location Item (#10542) Signed-off-by: Christoph Weitkamp --- bundles/org.openhab.persistence.jdbc/README.md | 4 +++- .../java/org/openhab/persistence/jdbc/db/JdbcBaseDAO.java | 8 ++++---- .../org/openhab/persistence/jdbc/db/JdbcDerbyDAO.java | 6 +++--- .../java/org/openhab/persistence/jdbc/db/JdbcH2DAO.java | 2 +- .../org/openhab/persistence/jdbc/db/JdbcHsqldbDAO.java | 4 ++-- .../openhab/persistence/jdbc/db/JdbcPostgresqlDAO.java | 4 ++-- .../org/openhab/persistence/jdbc/db/JdbcSqliteDAO.java | 4 ++-- .../openhab/persistence/jdbc/{model => dto}/ItemVO.java | 7 ++----- .../openhab/persistence/jdbc/{model => dto}/ItemsVO.java | 7 ++----- .../persistence/jdbc/{model => dto}/JdbcHistoricItem.java | 2 +- .../jdbc/{model => dto}/JdbcPersistenceItemInfo.java | 2 +- .../org/openhab/persistence/jdbc/internal/JdbcMapper.java | 6 +++--- .../src/main/resources/OH-INF/config/config.xml | 4 ++-- 13 files changed, 28 insertions(+), 32 deletions(-) rename bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/{model => dto}/ItemVO.java (96%) rename bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/{model => dto}/ItemsVO.java (96%) rename bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/{model => dto}/JdbcHistoricItem.java (97%) rename bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/{model => dto}/JdbcPersistenceItemInfo.java (97%) diff --git a/bundles/org.openhab.persistence.jdbc/README.md b/bundles/org.openhab.persistence.jdbc/README.md index e6461c908bb..e13645d7e28 100644 --- a/bundles/org.openhab.persistence.jdbc/README.md +++ b/bundles/org.openhab.persistence.jdbc/README.md @@ -48,8 +48,10 @@ This service can be configured in the file `services/jdbc.cfg`. | sqltype.CONTACT | `VARCHAR(6)` | No | see above | | sqltype.DATETIME | `DATETIME` | No | see above | | sqltype.DIMMER | `TINYINT` | No | see above | -| sqltype.LOCATION | `VARCHAR(30)` | No | see above | +| sqltype.IMAGE | `VARCHAR(65500)` | No | see above | +| sqltype.LOCATION | `VARCHAR(50)` | No | see above | | sqltype.NUMBER | `DOUBLE` | No | see above | +| sqltype.PLAYER | `VARCHAR(20)` | No | see above | | sqltype.ROLLERSHUTTER | `TINYINT` | No | see above | | sqltype.STRING | `VARCHAR(65500)` | No | see above | | sqltype.SWITCH | `VARCHAR(6)` | No | see above | diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcBaseDAO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcBaseDAO.java index 65c37983ed9..72f8407b72d 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcBaseDAO.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcBaseDAO.java @@ -50,9 +50,9 @@ import org.openhab.core.persistence.FilterCriteria.Ordering; import org.openhab.core.persistence.HistoricItem; import org.openhab.core.types.State; import org.openhab.core.types.TypeParser; -import org.openhab.persistence.jdbc.model.ItemVO; -import org.openhab.persistence.jdbc.model.ItemsVO; -import org.openhab.persistence.jdbc.model.JdbcHistoricItem; +import org.openhab.persistence.jdbc.dto.ItemVO; +import org.openhab.persistence.jdbc.dto.ItemsVO; +import org.openhab.persistence.jdbc.dto.JdbcHistoricItem; import org.openhab.persistence.jdbc.utils.DbMetaData; import org.openhab.persistence.jdbc.utils.StringUtilsExt; import org.slf4j.Logger; @@ -155,7 +155,7 @@ public class JdbcBaseDAO { sqlTypes.put("DATETIMEITEM", "TIMESTAMP"); sqlTypes.put("DIMMERITEM", "TINYINT"); sqlTypes.put("IMAGEITEM", "VARCHAR(65500)");// jdbc max 21845 - sqlTypes.put("LOCATIONITEM", "VARCHAR(30)"); + sqlTypes.put("LOCATIONITEM", "VARCHAR(50)"); sqlTypes.put("NUMBERITEM", "DOUBLE"); sqlTypes.put("PLAYERITEM", "VARCHAR(20)"); sqlTypes.put("ROLLERSHUTTERITEM", "TINYINT"); diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcDerbyDAO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcDerbyDAO.java index 973cdc125ed..c2e07d2bec9 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcDerbyDAO.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcDerbyDAO.java @@ -25,9 +25,9 @@ import org.openhab.core.library.items.NumberItem; import org.openhab.core.persistence.FilterCriteria; import org.openhab.core.persistence.FilterCriteria.Ordering; import org.openhab.core.persistence.HistoricItem; -import org.openhab.persistence.jdbc.model.ItemVO; -import org.openhab.persistence.jdbc.model.ItemsVO; -import org.openhab.persistence.jdbc.model.JdbcHistoricItem; +import org.openhab.persistence.jdbc.dto.ItemVO; +import org.openhab.persistence.jdbc.dto.ItemsVO; +import org.openhab.persistence.jdbc.dto.JdbcHistoricItem; import org.openhab.persistence.jdbc.utils.StringUtilsExt; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcH2DAO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcH2DAO.java index 084b309d10c..f088c56a74a 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcH2DAO.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcH2DAO.java @@ -14,7 +14,7 @@ package org.openhab.persistence.jdbc.db; import org.knowm.yank.Yank; import org.openhab.core.items.Item; -import org.openhab.persistence.jdbc.model.ItemVO; +import org.openhab.persistence.jdbc.dto.ItemVO; import org.openhab.persistence.jdbc.utils.StringUtilsExt; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcHsqldbDAO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcHsqldbDAO.java index 326080e2663..5b5dd436d77 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcHsqldbDAO.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcHsqldbDAO.java @@ -14,8 +14,8 @@ package org.openhab.persistence.jdbc.db; import org.knowm.yank.Yank; import org.openhab.core.items.Item; -import org.openhab.persistence.jdbc.model.ItemVO; -import org.openhab.persistence.jdbc.model.ItemsVO; +import org.openhab.persistence.jdbc.dto.ItemVO; +import org.openhab.persistence.jdbc.dto.ItemsVO; import org.openhab.persistence.jdbc.utils.StringUtilsExt; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcPostgresqlDAO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcPostgresqlDAO.java index 8a7ef69cca7..45e50b84ace 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcPostgresqlDAO.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcPostgresqlDAO.java @@ -19,8 +19,8 @@ import org.knowm.yank.Yank; import org.openhab.core.items.Item; import org.openhab.core.persistence.FilterCriteria; import org.openhab.core.persistence.FilterCriteria.Ordering; -import org.openhab.persistence.jdbc.model.ItemVO; -import org.openhab.persistence.jdbc.model.ItemsVO; +import org.openhab.persistence.jdbc.dto.ItemVO; +import org.openhab.persistence.jdbc.dto.ItemsVO; import org.openhab.persistence.jdbc.utils.StringUtilsExt; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcSqliteDAO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcSqliteDAO.java index 564d73c01bb..1f99dec1c92 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcSqliteDAO.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/db/JdbcSqliteDAO.java @@ -14,8 +14,8 @@ package org.openhab.persistence.jdbc.db; import org.knowm.yank.Yank; import org.openhab.core.items.Item; -import org.openhab.persistence.jdbc.model.ItemVO; -import org.openhab.persistence.jdbc.model.ItemsVO; +import org.openhab.persistence.jdbc.dto.ItemVO; +import org.openhab.persistence.jdbc.dto.ItemsVO; import org.openhab.persistence.jdbc.utils.StringUtilsExt; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/ItemVO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemVO.java similarity index 96% rename from bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/ItemVO.java rename to bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemVO.java index 7b8d368ea64..a7cec8960c9 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/ItemVO.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemVO.java @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: EPL-2.0 */ -package org.openhab.persistence.jdbc.model; +package org.openhab.persistence.jdbc.dto; import java.io.Serializable; import java.util.Date; @@ -140,10 +140,7 @@ public class ItemVO implements Serializable { } else if (!value.equals(other.value)) { return false; } - if (time != other.time) { - return false; - } - return true; + return time == other.time; } @Override diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/ItemsVO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemsVO.java similarity index 96% rename from bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/ItemsVO.java rename to bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemsVO.java index 4c72ebe931d..2ed2c40dc81 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/ItemsVO.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemsVO.java @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: EPL-2.0 */ -package org.openhab.persistence.jdbc.model; +package org.openhab.persistence.jdbc.dto; import java.io.Serializable; @@ -127,10 +127,7 @@ public class ItemsVO implements Serializable { } else if (!itemname.equals(other.itemname)) { return false; } - if (itemid != other.itemid) { - return false; - } - return true; + return itemid == other.itemid; } @Override diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/JdbcHistoricItem.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcHistoricItem.java similarity index 97% rename from bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/JdbcHistoricItem.java rename to bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcHistoricItem.java index 0a9a72e1be8..87de1caa3f8 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/JdbcHistoricItem.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcHistoricItem.java @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: EPL-2.0 */ -package org.openhab.persistence.jdbc.model; +package org.openhab.persistence.jdbc.dto; import java.time.ZonedDateTime; diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/JdbcPersistenceItemInfo.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcPersistenceItemInfo.java similarity index 97% rename from bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/JdbcPersistenceItemInfo.java rename to bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcPersistenceItemInfo.java index c9568d05452..4690ef5d08a 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/JdbcPersistenceItemInfo.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcPersistenceItemInfo.java @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: EPL-2.0 */ -package org.openhab.persistence.jdbc.model; +package org.openhab.persistence.jdbc.dto; import java.util.Date; diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/internal/JdbcMapper.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/internal/JdbcMapper.java index c89389ce61c..956020681c9 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/internal/JdbcMapper.java +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/internal/JdbcMapper.java @@ -25,9 +25,9 @@ import org.openhab.core.items.Item; import org.openhab.core.persistence.FilterCriteria; import org.openhab.core.persistence.HistoricItem; import org.openhab.core.persistence.PersistenceItemInfo; -import org.openhab.persistence.jdbc.model.ItemVO; -import org.openhab.persistence.jdbc.model.ItemsVO; -import org.openhab.persistence.jdbc.model.JdbcPersistenceItemInfo; +import org.openhab.persistence.jdbc.dto.ItemVO; +import org.openhab.persistence.jdbc.dto.ItemsVO; +import org.openhab.persistence.jdbc.dto.JdbcPersistenceItemInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/bundles/org.openhab.persistence.jdbc/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.persistence.jdbc/src/main/resources/OH-INF/config/config.xml index fb0e06c7621..31d16a61bdc 100644 --- a/bundles/org.openhab.persistence.jdbc/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.persistence.jdbc/src/main/resources/OH-INF/config/config.xml @@ -71,7 +71,7 @@ #sqltype.CONTACT = VARCHAR(6) #sqltype.DATETIME = DATETIME #sqltype.DIMMER = TINYINT - #sqltype.LOCATION = VARCHAR(30) + #sqltype.LOCATION = VARCHAR(50) #sqltype.NUMBER = DOUBLE #sqltype.ROLLERSHUTTER = TINYINT #sqltype.STRING = VARCHAR(65500) @@ -109,7 +109,7 @@ - (optional, default: "VARCHAR(30)").]]> + (optional, default: "VARCHAR(50)").]]>