Added OSGi configurable service declarations (#9132)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
This commit is contained in:
parent
1b588bc4fa
commit
64b15bcc48
@ -19,6 +19,7 @@ import java.util.Set;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import org.openhab.core.config.core.ConfigurableService;
|
||||
import org.openhab.core.items.GroupItem;
|
||||
import org.openhab.core.items.Item;
|
||||
import org.openhab.core.items.ItemNotFoundException;
|
||||
@ -31,9 +32,9 @@ import org.openhab.core.persistence.QueryablePersistenceService;
|
||||
import org.openhab.core.persistence.strategy.PersistenceStrategy;
|
||||
import org.openhab.core.types.UnDefType;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.Constants;
|
||||
import org.osgi.service.component.annotations.Activate;
|
||||
import org.osgi.service.component.annotations.Component;
|
||||
import org.osgi.service.component.annotations.ConfigurationPolicy;
|
||||
import org.osgi.service.component.annotations.Deactivate;
|
||||
import org.osgi.service.component.annotations.Reference;
|
||||
import org.slf4j.Logger;
|
||||
@ -47,9 +48,13 @@ import org.slf4j.LoggerFactory;
|
||||
*/
|
||||
@NonNullByDefault
|
||||
@Component(service = { PersistenceService.class,
|
||||
QueryablePersistenceService.class }, configurationPid = "org.openhab.jdbc", configurationPolicy = ConfigurationPolicy.REQUIRE)
|
||||
QueryablePersistenceService.class }, configurationPid = "org.openhab.jdbc", //
|
||||
property = Constants.SERVICE_PID + "=org.openhab.jdbc")
|
||||
@ConfigurableService(category = "persistence", label = "JDBC Persistence Service", description_uri = JdbcPersistenceService.CONFIG_URI)
|
||||
public class JdbcPersistenceService extends JdbcMapper implements QueryablePersistenceService {
|
||||
|
||||
protected static final String CONFIG_URI = "persistence:jdbc";
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(JdbcPersistenceService.class);
|
||||
|
||||
private final ItemRegistry itemRegistry;
|
||||
|
||||
@ -48,14 +48,15 @@
|
||||
jdbc:sqlite:./testSqlite.db]]></description>
|
||||
</parameter>
|
||||
|
||||
<parameter name="user" type="text" required="false">
|
||||
<parameter name="user" type="text" required="true">
|
||||
<label>Database User</label>
|
||||
<description><![CDATA[Defines optional database user.]]></description>
|
||||
<description>Defines the database user.</description>
|
||||
</parameter>
|
||||
|
||||
<parameter name="password" type="text" required="false">
|
||||
<parameter name="password" type="text" required="true">
|
||||
<context>password</context>
|
||||
<label>Database Password</label>
|
||||
<description><![CDATA[Defines optional database password.]]></description>
|
||||
<description>Defines the database password.</description>
|
||||
</parameter>
|
||||
|
||||
<!--
|
||||
@ -79,46 +80,46 @@
|
||||
# For Itemtype "Number" default decimal digit count (optional, default: 3)
|
||||
#numberDecimalcount=
|
||||
-->
|
||||
<parameter name="sqltype.CALL" type="text" required="false">
|
||||
<parameter name="sqltype.CALL" type="text">
|
||||
<label>SqlType CALL</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for CALL <br>(optional, default: "VARCHAR(200)"). <br>
|
||||
General about JdbcTypes/SqlTypes see: https://mybatis.github.io/mybatis-3/apidocs/reference/org/apache/ibatis/type/JdbcType.html <br>
|
||||
see: http://www.h2database.com/html/datatypes.html <br>
|
||||
see: http://www.postgresql.org/docs/9.5/static/datatype.html]]></description>
|
||||
</parameter>
|
||||
<parameter name="sqltype.COLOR" type="text" required="false">
|
||||
<parameter name="sqltype.COLOR" type="text">
|
||||
<label>SqlType COLOR</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for COLOR <br>(optional, default: "VARCHAR(70)").]]></description>
|
||||
</parameter>
|
||||
<parameter name="sqltype.CONTACT" type="text" required="false">
|
||||
<parameter name="sqltype.CONTACT" type="text">
|
||||
<label>SqlType CONTACT</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for CONTACT <br>(optional, default: "VARCHAR(6)").]]></description>
|
||||
</parameter>
|
||||
<parameter name="sqltype.DATETIME" type="text" required="false">
|
||||
<parameter name="sqltype.DATETIME" type="text">
|
||||
<label>SqlType DATETIME</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for DATETIME <br>(optional, default: "DATETIME").]]></description>
|
||||
</parameter>
|
||||
<parameter name="sqltype.DIMMER" type="text" required="false">
|
||||
<parameter name="sqltype.DIMMER" type="text">
|
||||
<label>SqlType DIMMER</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for DIMMER <br>(optional, default: "TINYINT").]]></description>
|
||||
</parameter>
|
||||
<parameter name="sqltype.LOCATION" type="text" required="false">
|
||||
<parameter name="sqltype.LOCATION" type="text">
|
||||
<label>SqlType LOCATION</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for LOCATION <br>(optional, default: "VARCHAR(30)").]]></description>
|
||||
</parameter>
|
||||
<parameter name="sqltype.NUMBER" type="text" required="false">
|
||||
<parameter name="sqltype.NUMBER" type="text">
|
||||
<label>SqlType NUMBER</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for NUMBER <br>(optional, default: "DOUBLE").]]></description>
|
||||
</parameter>
|
||||
<parameter name="sqltype.ROLLERSHUTTER" type="text" required="false">
|
||||
<parameter name="sqltype.ROLLERSHUTTER" type="text">
|
||||
<label>SqlType ROLLERSHUTTER</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for ROLLERSHUTTER <br>(optional, default: "TINYINT").]]></description>
|
||||
</parameter>
|
||||
<parameter name="sqltype.STRING" type="text" required="false">
|
||||
<parameter name="sqltype.STRING" type="text">
|
||||
<label>SqlType STRING</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for STRING <br>(optional, default: "VARCHAR(65500)").]]></description>
|
||||
</parameter>
|
||||
<parameter name="sqltype.SWITCH" type="text" required="false">
|
||||
<parameter name="sqltype.SWITCH" type="text">
|
||||
<label>SqlType SWITCH</label>
|
||||
<description><![CDATA[Overrides used JDBC/SQL datatype for SWITCH <br>(optional, default: "VARCHAR(6)").]]></description>
|
||||
</parameter>
|
||||
@ -142,12 +143,12 @@
|
||||
# USE WITH CARE! Deactivate after Renaming is done!
|
||||
#rebuildTableNames=true
|
||||
-->
|
||||
<parameter name="tableNamePrefix" type="text" required="false">
|
||||
<parameter name="tableNamePrefix" type="text">
|
||||
<label>Tablename Prefix String</label>
|
||||
<description><![CDATA[Tablename prefix string <br>(optional, default: "item"). <br>
|
||||
For migration from MYSQL-Bundle set to 'Item'.]]></description>
|
||||
</parameter>
|
||||
<parameter name="tableUseRealItemNames" type="text" required="false">
|
||||
<parameter name="tableUseRealItemNames" type="text">
|
||||
<label>Tablename Realname Generation</label>
|
||||
<description><![CDATA[Enables Tablename prefix generation per Items realname <br>(optional, default: disabled -> "Tablename Prefix String" is used). <br>
|
||||
If true, 'Tablename Prefix String' is ignored.]]></description>
|
||||
@ -156,12 +157,12 @@
|
||||
<option value="false">Disable</option>
|
||||
</options>
|
||||
</parameter>
|
||||
<parameter name="tableIdDigitCount" type="text" required="false">
|
||||
<parameter name="tableIdDigitCount" type="text">
|
||||
<label>Tablename Suffix ID Count</label>
|
||||
<description><![CDATA[Tablename Suffix ID Count <br>(optional, default: 4 -> 0001-9999). <br>
|
||||
For migration from MYSQL-Bundle set to 0.]]></description>
|
||||
</parameter>
|
||||
<parameter name="rebuildTableNames" type="text" required="false">
|
||||
<parameter name="rebuildTableNames" type="text">
|
||||
<label>Tablename Rebuild</label>
|
||||
<description><![CDATA[Rename existing tables using 'Tablename Realname Generation' and 'Tablename Suffix ID Count', (optional, default: disabled). <br>
|
||||
USE WITH CARE! Deactivate after renaming is done!]]></description>
|
||||
@ -179,12 +180,12 @@
|
||||
# maximumPoolSize = 1
|
||||
# minimumIdle = 1
|
||||
-->
|
||||
<parameter name="maximumPoolSize" type="text" required="false">
|
||||
<parameter name="maximumPoolSize" type="text">
|
||||
<label>Connections Max Pool Size</label>
|
||||
<description><![CDATA[Overrides max pool size in database connection. <br>(optional, default: differs each Database)<br>
|
||||
https://github.com/brettwooldridge/HikariCP/issues/256]]></description>
|
||||
</parameter>
|
||||
<parameter name="minimumIdle" type="text" required="false">
|
||||
<parameter name="minimumIdle" type="text">
|
||||
<label>Connections Min Idle</label>
|
||||
<description><![CDATA[Overrides min idle database connections. <br>(optional, default: differs each Database)<br>
|
||||
https://github.com/brettwooldridge/HikariCP/issues/256]]></description>
|
||||
@ -195,7 +196,7 @@
|
||||
# (optional, default: false)
|
||||
#enableLogTime=true
|
||||
-->
|
||||
<parameter name="enableLogTime" type="text" required="false">
|
||||
<parameter name="enableLogTime" type="text">
|
||||
<label>Timekeeping Enable</label>
|
||||
<description><![CDATA[Enables a time, performance measurement. <br>(optional, default: disabled)]]></description>
|
||||
<options>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user