diff options
author | Abyss777 <abyss@fox5.ru> | 2017-08-01 10:28:50 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2017-08-01 10:28:50 +0500 |
commit | 536e04dd996041d2ae608e56ea6233850cc027f2 (patch) | |
tree | d7ac5b7d06f1db616571a05297d8996e8beaa60e | |
parent | 06df08150504f86cc7e34c1ef90277c87ba55b99 (diff) | |
download | traccar-server-536e04dd996041d2ae608e56ea6233850cc027f2.tar.gz traccar-server-536e04dd996041d2ae608e56ea6233850cc027f2.tar.bz2 traccar-server-536e04dd996041d2ae608e56ea6233850cc027f2.zip |
Make query generator switchable
-rw-r--r-- | setup/default.xml | 2 | ||||
-rw-r--r-- | src/org/traccar/database/DataManager.java | 12 |
2 files changed, 12 insertions, 2 deletions
diff --git a/setup/default.xml b/setup/default.xml index ea8c32fbd..2c126e6dd 100644 --- a/setup/default.xml +++ b/setup/default.xml @@ -28,6 +28,8 @@ <entry key='database.ignoreUnknown'>true</entry> + <entry key='database.generateQueries'>true</entry> + <entry key='database.changelog'>./schema/changelog-master.xml</entry> <entry key='database.loginUser'> diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java index 63d98818d..709d2f057 100644 --- a/src/org/traccar/database/DataManager.java +++ b/src/org/traccar/database/DataManager.java @@ -72,6 +72,8 @@ public class DataManager { private DataSource dataSource; + private boolean generateQueries; + public DataManager(Config config) throws Exception { this.config = config; @@ -120,6 +122,8 @@ public class DataManager { hikariConfig.setMaximumPoolSize(maxPoolSize); } + generateQueries = config.getBoolean("database.generateQueries"); + dataSource = new HikariDataSource(hikariConfig); } @@ -218,9 +222,11 @@ public class DataManager { } } String query = config.getString(queryName); - if (query == null) { + if (query == null && generateQueries) { query = constructObjectQuery(action, clazz, extended); config.setString(queryName, query); + } else { + Log.info("Query not provided: " + queryName); } return query; @@ -236,9 +242,11 @@ public class DataManager { queryName = "database.unlink" + owner.getSimpleName() + property.getSimpleName(); } String query = config.getString(queryName); - if (query == null) { + if (query == null && generateQueries) { query = constructPermissionQuery(action, owner, property.equals(User.class) ? ManagedUser.class : property); config.setString(queryName, query); + } else { + Log.info("Query not provided: " + queryName); } return query; |