From: Christoph Weitkamp Date: Sat, 24 Apr 2021 10:39:05 +0000 (+0200) Subject: [jdbc] Increased size of column type for Location Item (#10542) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=0c390ab9c9296ac742c742764b4891a1765b68fc;p=openhab-addons.git [jdbc] Increased size of column type for Location Item (#10542) Signed-off-by: Christoph Weitkamp --- diff --git a/bundles/org.openhab.persistence.jdbc/README.md b/bundles/org.openhab.persistence.jdbc/README.md index e6461c908b..e13645d7e2 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 65c37983ed..72f8407b72 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 973cdc125e..c2e07d2bec 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 084b309d10..f088c56a74 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 326080e266..5b5dd436d7 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 8a7ef69cca..45e50b84ac 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 564d73c01b..1f99dec1c9 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/dto/ItemVO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemVO.java new file mode 100644 index 0000000000..a7cec8960c --- /dev/null +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemVO.java @@ -0,0 +1,164 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.persistence.jdbc.dto; + +import java.io.Serializable; +import java.util.Date; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Represents the Item-data on the part of MyBatis/database. + * + * @author Helmut Lehmeyer - Initial contribution + */ +public class ItemVO implements Serializable { + private final Logger logger = LoggerFactory.getLogger(ItemVO.class); + + private static final long serialVersionUID = 1871441039821454890L; + + private String tableName; + private String newTableName; + private String dbType; + private String jdbcType; + private String itemType; + private Class javaType; + private Date time; + private Object value; + + public ItemVO(String tableName, String newTableName) { + logger.debug("JDBC:ItemVO tableName={}; newTableName={}; ", tableName, newTableName); + this.tableName = tableName; + this.newTableName = newTableName; + } + + public ItemVO() { + } + + public void setValueTypes(String dbType, Class javaType) { + logger.debug("JDBC:ItemVO setValueTypes dbType={}; javaType={};", dbType, javaType); + this.dbType = dbType; + this.javaType = javaType; + } + + public String getTableName() { + return tableName; + } + + public void setTableName(String tableName) { + this.tableName = tableName; + } + + public String getNewTableName() { + return newTableName; + } + + public void setNewTableName(String newTableName) { + this.newTableName = newTableName; + } + + public String getDbType() { + return dbType; + } + + public void setDbType(String dbType) { + this.dbType = dbType; + } + + public String getJdbcType() { + return jdbcType; + } + + public void setJdbcType(String jdbcType) { + this.jdbcType = jdbcType; + } + + public String getItemType() { + return itemType; + } + + public void setItemType(String itemType) { + this.itemType = itemType; + } + + public String getJavaType() { + return javaType.getName(); + } + + public void setJavaType(Class javaType) { + this.javaType = javaType; + } + + public Date getTime() { + return time; + } + + public void setTime(Date time) { + this.time = time; + } + + public Object getValue() { + return value; + } + + public void setValue(Object value) { + this.value = value; + } + + /** + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + ItemVO other = (ItemVO) obj; + if (value == null) { + if (other.value != null) { + return false; + } + } else if (!value.equals(other.value)) { + return false; + } + return time == other.time; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("ItemVO [tableName="); + builder.append(tableName); + builder.append(", newTableName="); + builder.append(newTableName); + builder.append(", dbType="); + builder.append(dbType); + builder.append(", javaType="); + builder.append(javaType); + builder.append(", time="); + builder.append(time); + builder.append(", value="); + builder.append(value); + builder.append("]"); + return builder.toString(); + } +} diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemsVO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemsVO.java new file mode 100644 index 0000000000..2ed2c40dc8 --- /dev/null +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/ItemsVO.java @@ -0,0 +1,151 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.persistence.jdbc.dto; + +import java.io.Serializable; + +/** + * Represents the table naming data. + * + * @author Helmut Lehmeyer - Initial contribution + */ +public class ItemsVO implements Serializable { + + private static final long serialVersionUID = 2871961811177601520L; + + private static final String STR_FILTER = "[^a-zA-Z0-9]"; + + private String coltype = "VARCHAR(500)"; + private String colname = "itemname"; + private String itemsManageTable = "items"; + private int itemid; + private String itemname; + private String table_name; + private String jdbcUriDatabaseName; + + public String getColtype() { + return coltype; + } + + public void setColtype(String coltype) { + this.coltype = coltype.replaceAll(STR_FILTER, ""); + } + + public String getColname() { + return colname; + } + + public void setColname(String colname) { + this.colname = colname.replaceAll(STR_FILTER, ""); + } + + public String getItemsManageTable() { + return itemsManageTable; + } + + public void setItemsManageTable(String itemsManageTable) { + this.itemsManageTable = itemsManageTable.replaceAll(STR_FILTER, ""); + } + + public int getItemid() { + return itemid; + } + + public void setItemid(int itemid) { + this.itemid = itemid; + } + + public String getItemname() { + return itemname; + } + + public void setItemname(String itemname) { + this.itemname = itemname; + } + + public String getTable_name() { + return table_name; + } + + public void setTable_name(String table_name) { + this.table_name = table_name; + } + + public String getJdbcUriDatabaseName() { + return jdbcUriDatabaseName; + } + + public void setJdbcUriDatabaseName(String jdbcUriDatabaseName) { + this.jdbcUriDatabaseName = jdbcUriDatabaseName; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((itemname == null) ? 0 : itemname.hashCode()); + result = prime * result + (itemid ^ (itemid >>> 32)); + return result; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + ItemsVO other = (ItemsVO) obj; + if (itemname == null) { + if (other.itemname != null) { + return false; + } + } else if (!itemname.equals(other.itemname)) { + return false; + } + return itemid == other.itemid; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("ItemsVO [coltype="); + builder.append(coltype); + builder.append(", colname="); + builder.append(colname); + builder.append(", itemsManageTable="); + builder.append(itemsManageTable); + builder.append(", itemid="); + builder.append(itemid); + builder.append(", itemname="); + builder.append(itemname); + builder.append(", table_name="); + builder.append(table_name); + builder.append("]"); + return builder.toString(); + } +} diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcHistoricItem.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcHistoricItem.java new file mode 100644 index 0000000000..87de1caa3f --- /dev/null +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcHistoricItem.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.persistence.jdbc.dto; + +import java.time.ZonedDateTime; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.core.persistence.HistoricItem; +import org.openhab.core.types.State; + +/** + * Represents the data on the part of openHAB. + * + * @author Helmut Lehmeyer - Initial contribution + */ +@NonNullByDefault +public class JdbcHistoricItem implements HistoricItem { + + private final String name; + private final State state; + private final ZonedDateTime timestamp; + + public JdbcHistoricItem(String name, State state, ZonedDateTime timestamp) { + this.name = name; + this.state = state; + this.timestamp = timestamp; + } + + @Override + public String getName() { + return name; + } + + @Override + public State getState() { + return state; + } + + @Override + public ZonedDateTime getTimestamp() { + return timestamp; + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("JdbcItem [name="); + builder.append(name); + builder.append(", state="); + builder.append(state); + builder.append(", timestamp="); + builder.append(timestamp); + builder.append("]"); + return builder.toString(); + } +} diff --git a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcPersistenceItemInfo.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcPersistenceItemInfo.java new file mode 100644 index 0000000000..4690ef5d08 --- /dev/null +++ b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/dto/JdbcPersistenceItemInfo.java @@ -0,0 +1,65 @@ +/** + * Copyright (c) 2010-2021 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.persistence.jdbc.dto; + +import java.util.Date; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.core.persistence.PersistenceItemInfo; + +/** + * Represents the item info for openHAB. + * + * @author Christoph Weitkamp - Initial contribution + */ +@NonNullByDefault +public class JdbcPersistenceItemInfo implements PersistenceItemInfo { + + private final String name; + private final @Nullable Integer count; + private final @Nullable Date earliest; + private final @Nullable Date latest; + + public JdbcPersistenceItemInfo(String name) { + this(name, null, null, null); + } + + public JdbcPersistenceItemInfo(String name, @Nullable Integer count, @Nullable Date earliest, + @Nullable Date latest) { + this.name = name; + this.count = count; + this.earliest = earliest; + this.latest = latest; + } + + @Override + public String getName() { + return name; + } + + @Override + public @Nullable Integer getCount() { + return count; + } + + @Override + public @Nullable Date getEarliest() { + return earliest; + } + + @Override + public @Nullable Date getLatest() { + return latest; + } +} 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 c89389ce61..956020681c 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/java/org/openhab/persistence/jdbc/model/ItemVO.java b/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/ItemVO.java deleted file mode 100644 index 7b8d368ea6..0000000000 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/ItemVO.java +++ /dev/null @@ -1,167 +0,0 @@ -/** - * Copyright (c) 2010-2021 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.persistence.jdbc.model; - -import java.io.Serializable; -import java.util.Date; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Represents the Item-data on the part of MyBatis/database. - * - * @author Helmut Lehmeyer - Initial contribution - */ -public class ItemVO implements Serializable { - private final Logger logger = LoggerFactory.getLogger(ItemVO.class); - - private static final long serialVersionUID = 1871441039821454890L; - - private String tableName; - private String newTableName; - private String dbType; - private String jdbcType; - private String itemType; - private Class javaType; - private Date time; - private Object value; - - public ItemVO(String tableName, String newTableName) { - logger.debug("JDBC:ItemVO tableName={}; newTableName={}; ", tableName, newTableName); - this.tableName = tableName; - this.newTableName = newTableName; - } - - public ItemVO() { - } - - public void setValueTypes(String dbType, Class javaType) { - logger.debug("JDBC:ItemVO setValueTypes dbType={}; javaType={};", dbType, javaType); - this.dbType = dbType; - this.javaType = javaType; - } - - public String getTableName() { - return tableName; - } - - public void setTableName(String tableName) { - this.tableName = tableName; - } - - public String getNewTableName() { - return newTableName; - } - - public void setNewTableName(String newTableName) { - this.newTableName = newTableName; - } - - public String getDbType() { - return dbType; - } - - public void setDbType(String dbType) { - this.dbType = dbType; - } - - public String getJdbcType() { - return jdbcType; - } - - public void setJdbcType(String jdbcType) { - this.jdbcType = jdbcType; - } - - public String getItemType() { - return itemType; - } - - public void setItemType(String itemType) { - this.itemType = itemType; - } - - public String getJavaType() { - return javaType.getName(); - } - - public void setJavaType(Class javaType) { - this.javaType = javaType; - } - - public Date getTime() { - return time; - } - - public void setTime(Date time) { - this.time = time; - } - - public Object getValue() { - return value; - } - - public void setValue(Object value) { - this.value = value; - } - - /** - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - ItemVO other = (ItemVO) obj; - if (value == null) { - if (other.value != null) { - return false; - } - } else if (!value.equals(other.value)) { - return false; - } - if (time != other.time) { - return false; - } - return true; - } - - @Override - public String toString() { - StringBuilder builder = new StringBuilder(); - builder.append("ItemVO [tableName="); - builder.append(tableName); - builder.append(", newTableName="); - builder.append(newTableName); - builder.append(", dbType="); - builder.append(dbType); - builder.append(", javaType="); - builder.append(javaType); - builder.append(", time="); - builder.append(time); - builder.append(", value="); - builder.append(value); - builder.append("]"); - return builder.toString(); - } -} 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/model/ItemsVO.java deleted file mode 100644 index 4c72ebe931..0000000000 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/ItemsVO.java +++ /dev/null @@ -1,154 +0,0 @@ -/** - * Copyright (c) 2010-2021 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.persistence.jdbc.model; - -import java.io.Serializable; - -/** - * Represents the table naming data. - * - * @author Helmut Lehmeyer - Initial contribution - */ -public class ItemsVO implements Serializable { - - private static final long serialVersionUID = 2871961811177601520L; - - private static final String STR_FILTER = "[^a-zA-Z0-9]"; - - private String coltype = "VARCHAR(500)"; - private String colname = "itemname"; - private String itemsManageTable = "items"; - private int itemid; - private String itemname; - private String table_name; - private String jdbcUriDatabaseName; - - public String getColtype() { - return coltype; - } - - public void setColtype(String coltype) { - this.coltype = coltype.replaceAll(STR_FILTER, ""); - } - - public String getColname() { - return colname; - } - - public void setColname(String colname) { - this.colname = colname.replaceAll(STR_FILTER, ""); - } - - public String getItemsManageTable() { - return itemsManageTable; - } - - public void setItemsManageTable(String itemsManageTable) { - this.itemsManageTable = itemsManageTable.replaceAll(STR_FILTER, ""); - } - - public int getItemid() { - return itemid; - } - - public void setItemid(int itemid) { - this.itemid = itemid; - } - - public String getItemname() { - return itemname; - } - - public void setItemname(String itemname) { - this.itemname = itemname; - } - - public String getTable_name() { - return table_name; - } - - public void setTable_name(String table_name) { - this.table_name = table_name; - } - - public String getJdbcUriDatabaseName() { - return jdbcUriDatabaseName; - } - - public void setJdbcUriDatabaseName(String jdbcUriDatabaseName) { - this.jdbcUriDatabaseName = jdbcUriDatabaseName; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((itemname == null) ? 0 : itemname.hashCode()); - result = prime * result + (itemid ^ (itemid >>> 32)); - return result; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - ItemsVO other = (ItemsVO) obj; - if (itemname == null) { - if (other.itemname != null) { - return false; - } - } else if (!itemname.equals(other.itemname)) { - return false; - } - if (itemid != other.itemid) { - return false; - } - return true; - } - - @Override - public String toString() { - StringBuilder builder = new StringBuilder(); - builder.append("ItemsVO [coltype="); - builder.append(coltype); - builder.append(", colname="); - builder.append(colname); - builder.append(", itemsManageTable="); - builder.append(itemsManageTable); - builder.append(", itemid="); - builder.append(itemid); - builder.append(", itemname="); - builder.append(itemname); - builder.append(", table_name="); - builder.append(table_name); - builder.append("]"); - return builder.toString(); - } -} 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/model/JdbcHistoricItem.java deleted file mode 100644 index 0a9a72e1be..0000000000 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/JdbcHistoricItem.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Copyright (c) 2010-2021 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.persistence.jdbc.model; - -import java.time.ZonedDateTime; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.openhab.core.persistence.HistoricItem; -import org.openhab.core.types.State; - -/** - * Represents the data on the part of openHAB. - * - * @author Helmut Lehmeyer - Initial contribution - */ -@NonNullByDefault -public class JdbcHistoricItem implements HistoricItem { - - private final String name; - private final State state; - private final ZonedDateTime timestamp; - - public JdbcHistoricItem(String name, State state, ZonedDateTime timestamp) { - this.name = name; - this.state = state; - this.timestamp = timestamp; - } - - @Override - public String getName() { - return name; - } - - @Override - public State getState() { - return state; - } - - @Override - public ZonedDateTime getTimestamp() { - return timestamp; - } - - @Override - public String toString() { - StringBuilder builder = new StringBuilder(); - builder.append("JdbcItem [name="); - builder.append(name); - builder.append(", state="); - builder.append(state); - builder.append(", timestamp="); - builder.append(timestamp); - builder.append("]"); - return builder.toString(); - } -} 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/model/JdbcPersistenceItemInfo.java deleted file mode 100644 index c9568d0545..0000000000 --- a/bundles/org.openhab.persistence.jdbc/src/main/java/org/openhab/persistence/jdbc/model/JdbcPersistenceItemInfo.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Copyright (c) 2010-2021 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.persistence.jdbc.model; - -import java.util.Date; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.openhab.core.persistence.PersistenceItemInfo; - -/** - * Represents the item info for openHAB. - * - * @author Christoph Weitkamp - Initial contribution - */ -@NonNullByDefault -public class JdbcPersistenceItemInfo implements PersistenceItemInfo { - - private final String name; - private final @Nullable Integer count; - private final @Nullable Date earliest; - private final @Nullable Date latest; - - public JdbcPersistenceItemInfo(String name) { - this(name, null, null, null); - } - - public JdbcPersistenceItemInfo(String name, @Nullable Integer count, @Nullable Date earliest, - @Nullable Date latest) { - this.name = name; - this.count = count; - this.earliest = earliest; - this.latest = latest; - } - - @Override - public String getName() { - return name; - } - - @Override - public @Nullable Integer getCount() { - return count; - } - - @Override - public @Nullable Date getEarliest() { - return earliest; - } - - @Override - public @Nullable Date getLatest() { - return latest; - } -} 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 fb0e06c762..31d16a61bd 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)").]]>