From e43558109ef613ef30e9edc5a3bcb9c03cf1da35 Mon Sep 17 00:00:00 2001 From: Andrew Shvayka Date: Fri, 26 Jul 2019 09:00:57 +0300 Subject: [PATCH] Extracted dao-api module to simplify rule-engine-api --- .../actors/ruleChain/DefaultTbContext.java | 6 +- common/dao-api/pom.xml | 117 ++++++++++++++++++ .../server/dao/alarm/AlarmService.java | 0 .../server/dao/asset/AssetService.java | 0 .../dao/attributes/AttributesService.java | 0 .../cassandra/AbstractCassandraCluster.java | 0 .../dao/cassandra/CassandraCluster.java | 0 .../cassandra/CassandraInstallCluster.java | 0 .../dao/cassandra/CassandraQueryOptions.java | 0 .../dao/cassandra/CassandraSocketOptions.java | 0 .../server/dao/customer/CustomerService.java | 0 .../dao/dashboard/DashboardService.java | 0 .../server/dao/device/DeviceService.java | 0 .../dao/entityview/EntityViewService.java | 0 .../dao/nosql/CassandraStatementTask.java | 0 .../server/dao/relation/RelationService.java | 0 .../server/dao/rule/RuleChainService.java | 0 .../server/dao/tenant/TenantService.java | 0 .../dao/timeseries/TimeseriesService.java | 0 .../server/dao/user/UserService.java | 0 .../server/dao/util/AsyncTask.java | 0 .../server/dao/util/NoSqlAnyDao.java | 0 .../thingsboard/server/dao/util/NoSqlDao.java | 0 .../server/dao/util/NoSqlTsDao.java | 0 .../thingsboard/server/dao/util/SqlDao.java | 0 .../thingsboard/server/dao/util/SqlTsDao.java | 0 common/pom.xml | 1 + dao/pom.xml | 8 +- msa/js-executor/package-lock.json | 42 +++---- msa/web-ui/package-lock.json | 46 +++---- pom.xml | 5 + rule-engine/rule-engine-api/pom.xml | 24 +++- .../rule/engine/api/TbContext.java | 7 +- .../TbSaveToCustomCassandraTableNode.java | 2 +- ui/package-lock.json | 78 +++++------- 35 files changed, 220 insertions(+), 116 deletions(-) create mode 100644 common/dao-api/pom.xml rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/alarm/AlarmService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/asset/AssetService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/cassandra/AbstractCassandraCluster.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/cassandra/CassandraInstallCluster.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/device/DeviceService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/nosql/CassandraStatementTask.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/relation/RelationService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/rule/RuleChainService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/user/UserService.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/util/AsyncTask.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/util/NoSqlAnyDao.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/util/NoSqlDao.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/util/NoSqlTsDao.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/util/SqlDao.java (100%) rename {dao => common/dao-api}/src/main/java/org/thingsboard/server/dao/util/SqlTsDao.java (100%) diff --git a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java index 98610082f9..5cfc2f9a19 100644 --- a/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java +++ b/application/src/main/java/org/thingsboard/server/actors/ruleChain/DefaultTbContext.java @@ -16,6 +16,7 @@ package org.thingsboard.server.actors.ruleChain; import akka.actor.ActorRef; +import com.datastax.driver.core.ResultSetFuture; import com.datastax.driver.core.utils.UUIDs; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -60,6 +61,7 @@ import org.thingsboard.server.dao.dashboard.DashboardService; import org.thingsboard.server.dao.device.DeviceService; import org.thingsboard.server.dao.entityview.EntityViewService; import org.thingsboard.server.dao.nosql.CassandraBufferedRateExecutor; +import org.thingsboard.server.dao.nosql.CassandraStatementTask; import org.thingsboard.server.dao.relation.RelationService; import org.thingsboard.server.dao.rule.RuleChainService; import org.thingsboard.server.dao.tenant.TenantService; @@ -355,8 +357,8 @@ class DefaultTbContext implements TbContext { } @Override - public CassandraBufferedRateExecutor getCassandraBufferedRateExecutor() { - return mainCtx.getCassandraBufferedRateExecutor(); + public ResultSetFuture submitCassandraTask(CassandraStatementTask task) { + return mainCtx.getCassandraBufferedRateExecutor().submit(task); } private TbMsgMetaData getActionMetaData(RuleNodeId ruleNodeId) { diff --git a/common/dao-api/pom.xml b/common/dao-api/pom.xml new file mode 100644 index 0000000000..05cc589eb2 --- /dev/null +++ b/common/dao-api/pom.xml @@ -0,0 +1,117 @@ + + + 4.0.0 + + org.thingsboard + 2.4.1-SNAPSHOT + common + + org.thingsboard.common + dao-api + jar + + Thingsboard Server Common DAO API + https://thingsboard.io + + + UTF-8 + ${basedir}/../.. + + + + + org.thingsboard.common + data + + + org.thingsboard.common + message + + + com.google.guava + guava + + + com.github.fge + json-schema-validator + + + org.slf4j + slf4j-api + + + org.slf4j + log4j-over-slf4j + + + ch.qos.logback + logback-core + + + ch.qos.logback + logback-classic + + + com.fasterxml.jackson.core + jackson-databind + + + org.springframework.boot + spring-boot-autoconfigure + provided + + + com.datastax.cassandra + cassandra-driver-core + provided + + + com.datastax.cassandra + cassandra-driver-mapping + provided + + + com.datastax.cassandra + cassandra-driver-extras + provided + + + org.apache.commons + commons-lang3 + provided + + + junit + junit + test + + + org.mockito + mockito-all + test + + + + + + + + + diff --git a/dao/src/main/java/org/thingsboard/server/dao/alarm/AlarmService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/alarm/AlarmService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/alarm/AlarmService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/alarm/AlarmService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/asset/AssetService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/asset/AssetService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/asset/AssetService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/asset/AssetService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/cassandra/AbstractCassandraCluster.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/AbstractCassandraCluster.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/cassandra/AbstractCassandraCluster.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/AbstractCassandraCluster.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraInstallCluster.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraInstallCluster.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraInstallCluster.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraInstallCluster.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/device/DeviceService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/device/DeviceService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/device/DeviceService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/nosql/CassandraStatementTask.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/nosql/CassandraStatementTask.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/nosql/CassandraStatementTask.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/nosql/CassandraStatementTask.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/relation/RelationService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/relation/RelationService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/relation/RelationService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/relation/RelationService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/rule/RuleChainService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/rule/RuleChainService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/rule/RuleChainService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/rule/RuleChainService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/user/UserService.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/user/UserService.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/user/UserService.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/user/UserService.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/util/AsyncTask.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/util/AsyncTask.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/util/AsyncTask.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/util/AsyncTask.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/util/NoSqlAnyDao.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/util/NoSqlAnyDao.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/util/NoSqlAnyDao.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/util/NoSqlAnyDao.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/util/NoSqlDao.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/util/NoSqlDao.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/util/NoSqlDao.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/util/NoSqlDao.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/util/NoSqlTsDao.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/util/NoSqlTsDao.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/util/NoSqlTsDao.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/util/NoSqlTsDao.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/util/SqlDao.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/util/SqlDao.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/util/SqlDao.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/util/SqlDao.java diff --git a/dao/src/main/java/org/thingsboard/server/dao/util/SqlTsDao.java b/common/dao-api/src/main/java/org/thingsboard/server/dao/util/SqlTsDao.java similarity index 100% rename from dao/src/main/java/org/thingsboard/server/dao/util/SqlTsDao.java rename to common/dao-api/src/main/java/org/thingsboard/server/dao/util/SqlTsDao.java diff --git a/common/pom.xml b/common/pom.xml index 7fa31cb06c..7492cb3199 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -39,6 +39,7 @@ message queue transport + dao-api diff --git a/dao/pom.xml b/dao/pom.xml index bdc3f3a920..be764b97eb 100644 --- a/dao/pom.xml +++ b/dao/pom.xml @@ -43,6 +43,10 @@ org.thingsboard.common message + + org.thingsboard.common + dao-api + org.slf4j slf4j-api @@ -95,10 +99,6 @@ com.fasterxml.jackson.core jackson-databind - - com.github.fge - json-schema-validator - org.springframework spring-context diff --git a/msa/js-executor/package-lock.json b/msa/js-executor/package-lock.json index 038afd8d27..6354a502f0 100644 --- a/msa/js-executor/package-lock.json +++ b/msa/js-executor/package-lock.json @@ -998,7 +998,7 @@ }, "enabled": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", "requires": { "env-variable": "0.0.x" @@ -1261,7 +1261,7 @@ }, "fecha": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" }, "file-stream-rotator": { @@ -1407,14 +1407,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1429,20 +1427,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -1559,8 +1554,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -1572,7 +1566,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -1587,7 +1580,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -1595,14 +1587,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -1621,7 +1611,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -1702,8 +1691,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -1715,7 +1703,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -1837,7 +1824,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2440,7 +2426,7 @@ }, "json5": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "requires": { "minimist": "^1.2.0" @@ -2961,7 +2947,7 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "optional": true }, @@ -3009,7 +2995,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -3415,7 +3401,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -3767,7 +3753,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, diff --git a/msa/web-ui/package-lock.json b/msa/web-ui/package-lock.json index 916f0e7dd9..db80a29195 100644 --- a/msa/web-ui/package-lock.json +++ b/msa/web-ui/package-lock.json @@ -837,7 +837,7 @@ }, "enabled": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", "requires": { "env-variable": "0.0.x" @@ -1149,7 +1149,7 @@ }, "fecha": { "version": "2.3.3", - "resolved": "http://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" }, "file-stream-rotator": { @@ -1325,14 +1325,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1347,20 +1345,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -1477,8 +1472,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -1490,7 +1484,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -1505,7 +1498,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -1513,14 +1505,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -1539,7 +1529,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -1620,8 +1609,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -1633,7 +1621,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -1755,7 +1742,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2368,7 +2354,7 @@ }, "json5": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "requires": { "minimist": "^1.2.0" @@ -2500,7 +2486,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "merge-descriptors": { @@ -2595,7 +2581,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -2604,7 +2590,7 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true } @@ -2873,7 +2859,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -3247,7 +3233,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -3599,7 +3585,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, diff --git a/pom.xml b/pom.xml index f8c4bf267b..65657d6fa7 100755 --- a/pom.xml +++ b/pom.xml @@ -359,6 +359,11 @@ util ${project.version} + + org.thingsboard.common + dao-api + ${project.version} + org.thingsboard.rule-engine rule-engine-api diff --git a/rule-engine/rule-engine-api/pom.xml b/rule-engine/rule-engine-api/pom.xml index 009eafeaa5..8874c051ee 100644 --- a/rule-engine/rule-engine-api/pom.xml +++ b/rule-engine/rule-engine-api/pom.xml @@ -44,8 +44,13 @@ provided - org.thingsboard - dao + org.thingsboard.common + dao-api + provided + + + io.netty + netty-all provided @@ -63,5 +68,20 @@ logback-classic provided + + com.datastax.cassandra + cassandra-driver-core + provided + + + com.datastax.cassandra + cassandra-driver-mapping + provided + + + com.datastax.cassandra + cassandra-driver-extras + provided + \ No newline at end of file diff --git a/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java b/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java index e401a1c846..034aec3000 100644 --- a/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java +++ b/rule-engine/rule-engine-api/src/main/java/org/thingsboard/rule/engine/api/TbContext.java @@ -34,13 +34,15 @@ import org.thingsboard.server.dao.customer.CustomerService; import org.thingsboard.server.dao.dashboard.DashboardService; import org.thingsboard.server.dao.device.DeviceService; import org.thingsboard.server.dao.entityview.EntityViewService; -import org.thingsboard.server.dao.nosql.CassandraBufferedRateExecutor; +import org.thingsboard.server.dao.nosql.CassandraStatementTask; import org.thingsboard.server.dao.relation.RelationService; import org.thingsboard.server.dao.rule.RuleChainService; import org.thingsboard.server.dao.tenant.TenantService; import org.thingsboard.server.dao.timeseries.TimeseriesService; import org.thingsboard.server.dao.user.UserService; +import com.datastax.driver.core.ResultSetFuture; + import java.util.Set; /** @@ -128,7 +130,6 @@ public interface TbContext { CassandraCluster getCassandraCluster(); - CassandraBufferedRateExecutor getCassandraBufferedRateExecutor(); - + ResultSetFuture submitCassandraTask(CassandraStatementTask task); } diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNode.java index 7234be5f5c..7708edce78 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbSaveToCustomCassandraTableNode.java @@ -241,7 +241,7 @@ public class TbSaveToCustomCassandraTableNode implements TbNode { if (statement.getConsistencyLevel() == null) { statement.setConsistencyLevel(level); } - return ctx.getCassandraBufferedRateExecutor().submit(new CassandraStatementTask(ctx.getTenantId(), getSession(), statement)); + return ctx.submitCassandraTask(new CassandraStatementTask(ctx.getTenantId(), getSession(), statement)); } private static String statementToString(Statement statement) { diff --git a/ui/package-lock.json b/ui/package-lock.json index aaa5ad3df8..a5418e8077 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -2366,7 +2366,7 @@ }, "util": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -3960,7 +3960,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", "dev": true }, "js-yaml": { @@ -4464,7 +4464,7 @@ "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", "dev": true, "requires": { "pify": "^3.0.0" @@ -6096,14 +6096,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6118,20 +6116,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -6248,8 +6243,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -6261,7 +6255,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6276,7 +6269,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6284,14 +6276,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -6310,7 +6300,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -6391,8 +6380,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -6404,7 +6392,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -6526,7 +6513,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -9354,7 +9340,7 @@ "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "dev": true, "requires": { "is-plain-object": "^2.0.4" @@ -11063,7 +11049,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -11094,13 +11080,13 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -11126,7 +11112,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -11157,13 +11143,13 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -11184,7 +11170,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -11215,13 +11201,13 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -11241,7 +11227,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -11272,13 +11258,13 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -13628,7 +13614,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -13954,7 +13940,7 @@ "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", "dev": true, "requires": { "pify": "^3.0.0" @@ -14028,7 +14014,7 @@ "slice-ansi": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=", "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0" @@ -14037,7 +14023,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true }, "strip-indent": { @@ -14049,7 +14035,7 @@ "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -14442,7 +14428,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -14473,13 +14459,13 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -14965,7 +14951,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", "dev": true } }