Commit e43558109ef613ef30e9edc5a3bcb9c03cf1da35

Authored by Andrew Shvayka
1 parent fe24db40

Extracted dao-api module to simplify rule-engine-api

Showing 35 changed files with 220 additions and 116 deletions
... ... @@ -16,6 +16,7 @@
16 16 package org.thingsboard.server.actors.ruleChain;
17 17
18 18 import akka.actor.ActorRef;
  19 +import com.datastax.driver.core.ResultSetFuture;
19 20 import com.datastax.driver.core.utils.UUIDs;
20 21 import com.fasterxml.jackson.core.JsonProcessingException;
21 22 import com.fasterxml.jackson.databind.ObjectMapper;
... ... @@ -60,6 +61,7 @@ import org.thingsboard.server.dao.dashboard.DashboardService;
60 61 import org.thingsboard.server.dao.device.DeviceService;
61 62 import org.thingsboard.server.dao.entityview.EntityViewService;
62 63 import org.thingsboard.server.dao.nosql.CassandraBufferedRateExecutor;
  64 +import org.thingsboard.server.dao.nosql.CassandraStatementTask;
63 65 import org.thingsboard.server.dao.relation.RelationService;
64 66 import org.thingsboard.server.dao.rule.RuleChainService;
65 67 import org.thingsboard.server.dao.tenant.TenantService;
... ... @@ -355,8 +357,8 @@ class DefaultTbContext implements TbContext {
355 357 }
356 358
357 359 @Override
358   - public CassandraBufferedRateExecutor getCassandraBufferedRateExecutor() {
359   - return mainCtx.getCassandraBufferedRateExecutor();
  360 + public ResultSetFuture submitCassandraTask(CassandraStatementTask task) {
  361 + return mainCtx.getCassandraBufferedRateExecutor().submit(task);
360 362 }
361 363
362 364 private TbMsgMetaData getActionMetaData(RuleNodeId ruleNodeId) {
... ...
  1 +<!--
  2 +
  3 + Copyright © 2016-2019 The Thingsboard Authors
  4 +
  5 + Licensed under the Apache License, Version 2.0 (the "License");
  6 + you may not use this file except in compliance with the License.
  7 + You may obtain a copy of the License at
  8 +
  9 + http://www.apache.org/licenses/LICENSE-2.0
  10 +
  11 + Unless required by applicable law or agreed to in writing, software
  12 + distributed under the License is distributed on an "AS IS" BASIS,
  13 + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14 + See the License for the specific language governing permissions and
  15 + limitations under the License.
  16 +
  17 +-->
  18 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  20 + <modelVersion>4.0.0</modelVersion>
  21 + <parent>
  22 + <groupId>org.thingsboard</groupId>
  23 + <version>2.4.1-SNAPSHOT</version>
  24 + <artifactId>common</artifactId>
  25 + </parent>
  26 + <groupId>org.thingsboard.common</groupId>
  27 + <artifactId>dao-api</artifactId>
  28 + <packaging>jar</packaging>
  29 +
  30 + <name>Thingsboard Server Common DAO API</name>
  31 + <url>https://thingsboard.io</url>
  32 +
  33 + <properties>
  34 + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  35 + <main.dir>${basedir}/../..</main.dir>
  36 + </properties>
  37 +
  38 + <dependencies>
  39 + <dependency>
  40 + <groupId>org.thingsboard.common</groupId>
  41 + <artifactId>data</artifactId>
  42 + </dependency>
  43 + <dependency>
  44 + <groupId>org.thingsboard.common</groupId>
  45 + <artifactId>message</artifactId>
  46 + </dependency>
  47 + <dependency>
  48 + <groupId>com.google.guava</groupId>
  49 + <artifactId>guava</artifactId>
  50 + </dependency>
  51 + <dependency>
  52 + <groupId>com.github.fge</groupId>
  53 + <artifactId>json-schema-validator</artifactId>
  54 + </dependency>
  55 + <dependency>
  56 + <groupId>org.slf4j</groupId>
  57 + <artifactId>slf4j-api</artifactId>
  58 + </dependency>
  59 + <dependency>
  60 + <groupId>org.slf4j</groupId>
  61 + <artifactId>log4j-over-slf4j</artifactId>
  62 + </dependency>
  63 + <dependency>
  64 + <groupId>ch.qos.logback</groupId>
  65 + <artifactId>logback-core</artifactId>
  66 + </dependency>
  67 + <dependency>
  68 + <groupId>ch.qos.logback</groupId>
  69 + <artifactId>logback-classic</artifactId>
  70 + </dependency>
  71 + <dependency>
  72 + <groupId>com.fasterxml.jackson.core</groupId>
  73 + <artifactId>jackson-databind</artifactId>
  74 + </dependency>
  75 + <dependency>
  76 + <groupId>org.springframework.boot</groupId>
  77 + <artifactId>spring-boot-autoconfigure</artifactId>
  78 + <scope>provided</scope>
  79 + </dependency>
  80 + <dependency>
  81 + <groupId>com.datastax.cassandra</groupId>
  82 + <artifactId>cassandra-driver-core</artifactId>
  83 + <scope>provided</scope>
  84 + </dependency>
  85 + <dependency>
  86 + <groupId>com.datastax.cassandra</groupId>
  87 + <artifactId>cassandra-driver-mapping</artifactId>
  88 + <scope>provided</scope>
  89 + </dependency>
  90 + <dependency>
  91 + <groupId>com.datastax.cassandra</groupId>
  92 + <artifactId>cassandra-driver-extras</artifactId>
  93 + <scope>provided</scope>
  94 + </dependency>
  95 + <dependency>
  96 + <groupId>org.apache.commons</groupId>
  97 + <artifactId>commons-lang3</artifactId>
  98 + <scope>provided</scope>
  99 + </dependency>
  100 + <dependency>
  101 + <groupId>junit</groupId>
  102 + <artifactId>junit</artifactId>
  103 + <scope>test</scope>
  104 + </dependency>
  105 + <dependency>
  106 + <groupId>org.mockito</groupId>
  107 + <artifactId>mockito-all</artifactId>
  108 + <scope>test</scope>
  109 + </dependency>
  110 + </dependencies>
  111 +
  112 + <build>
  113 + <plugins>
  114 + </plugins>
  115 + </build>
  116 +
  117 +</project>
... ...
common/dao-api/src/main/java/org/thingsboard/server/dao/alarm/AlarmService.java renamed from dao/src/main/java/org/thingsboard/server/dao/alarm/AlarmService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/asset/AssetService.java renamed from dao/src/main/java/org/thingsboard/server/dao/asset/AssetService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java renamed from dao/src/main/java/org/thingsboard/server/dao/attributes/AttributesService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/AbstractCassandraCluster.java renamed from dao/src/main/java/org/thingsboard/server/dao/cassandra/AbstractCassandraCluster.java
common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java renamed from dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraCluster.java
common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraInstallCluster.java renamed from dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraInstallCluster.java
common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java renamed from dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraQueryOptions.java
common/dao-api/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java renamed from dao/src/main/java/org/thingsboard/server/dao/cassandra/CassandraSocketOptions.java
common/dao-api/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java renamed from dao/src/main/java/org/thingsboard/server/dao/customer/CustomerService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java renamed from dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/device/DeviceService.java renamed from dao/src/main/java/org/thingsboard/server/dao/device/DeviceService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java renamed from dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/nosql/CassandraStatementTask.java renamed from dao/src/main/java/org/thingsboard/server/dao/nosql/CassandraStatementTask.java
common/dao-api/src/main/java/org/thingsboard/server/dao/relation/RelationService.java renamed from dao/src/main/java/org/thingsboard/server/dao/relation/RelationService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/rule/RuleChainService.java renamed from dao/src/main/java/org/thingsboard/server/dao/rule/RuleChainService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java renamed from dao/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java renamed from dao/src/main/java/org/thingsboard/server/dao/timeseries/TimeseriesService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/user/UserService.java renamed from dao/src/main/java/org/thingsboard/server/dao/user/UserService.java
common/dao-api/src/main/java/org/thingsboard/server/dao/util/AsyncTask.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/AsyncTask.java
common/dao-api/src/main/java/org/thingsboard/server/dao/util/NoSqlAnyDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/NoSqlAnyDao.java
common/dao-api/src/main/java/org/thingsboard/server/dao/util/NoSqlDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/NoSqlDao.java
common/dao-api/src/main/java/org/thingsboard/server/dao/util/NoSqlTsDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/NoSqlTsDao.java
common/dao-api/src/main/java/org/thingsboard/server/dao/util/SqlDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/SqlDao.java
common/dao-api/src/main/java/org/thingsboard/server/dao/util/SqlTsDao.java renamed from dao/src/main/java/org/thingsboard/server/dao/util/SqlTsDao.java
... ... @@ -39,6 +39,7 @@
39 39 <module>message</module>
40 40 <module>queue</module>
41 41 <module>transport</module>
  42 + <module>dao-api</module>
42 43 </modules>
43 44
44 45 </project>
... ...
... ... @@ -44,6 +44,10 @@
44 44 <artifactId>message</artifactId>
45 45 </dependency>
46 46 <dependency>
  47 + <groupId>org.thingsboard.common</groupId>
  48 + <artifactId>dao-api</artifactId>
  49 + </dependency>
  50 + <dependency>
47 51 <groupId>org.slf4j</groupId>
48 52 <artifactId>slf4j-api</artifactId>
49 53 </dependency>
... ... @@ -96,10 +100,6 @@
96 100 <artifactId>jackson-databind</artifactId>
97 101 </dependency>
98 102 <dependency>
99   - <groupId>com.github.fge</groupId>
100   - <artifactId>json-schema-validator</artifactId>
101   - </dependency>
102   - <dependency>
103 103 <groupId>org.springframework</groupId>
104 104 <artifactId>spring-context</artifactId>
105 105 </dependency>
... ...
... ... @@ -998,7 +998,7 @@
998 998 },
999 999 "enabled": {
1000 1000 "version": "1.0.2",
1001   - "resolved": "http://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz",
  1001 + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz",
1002 1002 "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=",
1003 1003 "requires": {
1004 1004 "env-variable": "0.0.x"
... ... @@ -1261,7 +1261,7 @@
1261 1261 },
1262 1262 "fecha": {
1263 1263 "version": "2.3.3",
1264   - "resolved": "http://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz",
  1264 + "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz",
1265 1265 "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
1266 1266 },
1267 1267 "file-stream-rotator": {
... ... @@ -1407,14 +1407,12 @@
1407 1407 "balanced-match": {
1408 1408 "version": "1.0.0",
1409 1409 "bundled": true,
1410   - "dev": true,
1411   - "optional": true
  1410 + "dev": true
1412 1411 },
1413 1412 "brace-expansion": {
1414 1413 "version": "1.1.11",
1415 1414 "bundled": true,
1416 1415 "dev": true,
1417   - "optional": true,
1418 1416 "requires": {
1419 1417 "balanced-match": "^1.0.0",
1420 1418 "concat-map": "0.0.1"
... ... @@ -1429,20 +1427,17 @@
1429 1427 "code-point-at": {
1430 1428 "version": "1.1.0",
1431 1429 "bundled": true,
1432   - "dev": true,
1433   - "optional": true
  1430 + "dev": true
1434 1431 },
1435 1432 "concat-map": {
1436 1433 "version": "0.0.1",
1437 1434 "bundled": true,
1438   - "dev": true,
1439   - "optional": true
  1435 + "dev": true
1440 1436 },
1441 1437 "console-control-strings": {
1442 1438 "version": "1.1.0",
1443 1439 "bundled": true,
1444   - "dev": true,
1445   - "optional": true
  1440 + "dev": true
1446 1441 },
1447 1442 "core-util-is": {
1448 1443 "version": "1.0.2",
... ... @@ -1559,8 +1554,7 @@
1559 1554 "inherits": {
1560 1555 "version": "2.0.3",
1561 1556 "bundled": true,
1562   - "dev": true,
1563   - "optional": true
  1557 + "dev": true
1564 1558 },
1565 1559 "ini": {
1566 1560 "version": "1.3.5",
... ... @@ -1572,7 +1566,6 @@
1572 1566 "version": "1.0.0",
1573 1567 "bundled": true,
1574 1568 "dev": true,
1575   - "optional": true,
1576 1569 "requires": {
1577 1570 "number-is-nan": "^1.0.0"
1578 1571 }
... ... @@ -1587,7 +1580,6 @@
1587 1580 "version": "3.0.4",
1588 1581 "bundled": true,
1589 1582 "dev": true,
1590   - "optional": true,
1591 1583 "requires": {
1592 1584 "brace-expansion": "^1.1.7"
1593 1585 }
... ... @@ -1595,14 +1587,12 @@
1595 1587 "minimist": {
1596 1588 "version": "0.0.8",
1597 1589 "bundled": true,
1598   - "dev": true,
1599   - "optional": true
  1590 + "dev": true
1600 1591 },
1601 1592 "minipass": {
1602 1593 "version": "2.2.4",
1603 1594 "bundled": true,
1604 1595 "dev": true,
1605   - "optional": true,
1606 1596 "requires": {
1607 1597 "safe-buffer": "^5.1.1",
1608 1598 "yallist": "^3.0.0"
... ... @@ -1621,7 +1611,6 @@
1621 1611 "version": "0.5.1",
1622 1612 "bundled": true,
1623 1613 "dev": true,
1624   - "optional": true,
1625 1614 "requires": {
1626 1615 "minimist": "0.0.8"
1627 1616 }
... ... @@ -1702,8 +1691,7 @@
1702 1691 "number-is-nan": {
1703 1692 "version": "1.0.1",
1704 1693 "bundled": true,
1705   - "dev": true,
1706   - "optional": true
  1694 + "dev": true
1707 1695 },
1708 1696 "object-assign": {
1709 1697 "version": "4.1.1",
... ... @@ -1715,7 +1703,6 @@
1715 1703 "version": "1.4.0",
1716 1704 "bundled": true,
1717 1705 "dev": true,
1718   - "optional": true,
1719 1706 "requires": {
1720 1707 "wrappy": "1"
1721 1708 }
... ... @@ -1837,7 +1824,6 @@
1837 1824 "version": "1.0.2",
1838 1825 "bundled": true,
1839 1826 "dev": true,
1840   - "optional": true,
1841 1827 "requires": {
1842 1828 "code-point-at": "^1.0.0",
1843 1829 "is-fullwidth-code-point": "^1.0.0",
... ... @@ -2440,7 +2426,7 @@
2440 2426 },
2441 2427 "json5": {
2442 2428 "version": "1.0.1",
2443   - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
  2429 + "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
2444 2430 "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
2445 2431 "requires": {
2446 2432 "minimist": "^1.2.0"
... ... @@ -2961,7 +2947,7 @@
2961 2947 },
2962 2948 "os-homedir": {
2963 2949 "version": "1.0.2",
2964   - "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
  2950 + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
2965 2951 "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
2966 2952 "optional": true
2967 2953 },
... ... @@ -3009,7 +2995,7 @@
3009 2995 },
3010 2996 "path-is-absolute": {
3011 2997 "version": "1.0.1",
3012   - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
  2998 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3013 2999 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
3014 3000 "dev": true
3015 3001 },
... ... @@ -3415,7 +3401,7 @@
3415 3401 },
3416 3402 "safe-regex": {
3417 3403 "version": "1.1.0",
3418   - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
  3404 + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
3419 3405 "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
3420 3406 "dev": true,
3421 3407 "requires": {
... ... @@ -3767,7 +3753,7 @@
3767 3753 },
3768 3754 "strip-eof": {
3769 3755 "version": "1.0.0",
3770   - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
  3756 + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
3771 3757 "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
3772 3758 "dev": true
3773 3759 },
... ...
... ... @@ -837,7 +837,7 @@
837 837 },
838 838 "enabled": {
839 839 "version": "1.0.2",
840   - "resolved": "http://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz",
  840 + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz",
841 841 "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=",
842 842 "requires": {
843 843 "env-variable": "0.0.x"
... ... @@ -1149,7 +1149,7 @@
1149 1149 },
1150 1150 "fecha": {
1151 1151 "version": "2.3.3",
1152   - "resolved": "http://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz",
  1152 + "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz",
1153 1153 "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
1154 1154 },
1155 1155 "file-stream-rotator": {
... ... @@ -1325,14 +1325,12 @@
1325 1325 "balanced-match": {
1326 1326 "version": "1.0.0",
1327 1327 "bundled": true,
1328   - "dev": true,
1329   - "optional": true
  1328 + "dev": true
1330 1329 },
1331 1330 "brace-expansion": {
1332 1331 "version": "1.1.11",
1333 1332 "bundled": true,
1334 1333 "dev": true,
1335   - "optional": true,
1336 1334 "requires": {
1337 1335 "balanced-match": "^1.0.0",
1338 1336 "concat-map": "0.0.1"
... ... @@ -1347,20 +1345,17 @@
1347 1345 "code-point-at": {
1348 1346 "version": "1.1.0",
1349 1347 "bundled": true,
1350   - "dev": true,
1351   - "optional": true
  1348 + "dev": true
1352 1349 },
1353 1350 "concat-map": {
1354 1351 "version": "0.0.1",
1355 1352 "bundled": true,
1356   - "dev": true,
1357   - "optional": true
  1353 + "dev": true
1358 1354 },
1359 1355 "console-control-strings": {
1360 1356 "version": "1.1.0",
1361 1357 "bundled": true,
1362   - "dev": true,
1363   - "optional": true
  1358 + "dev": true
1364 1359 },
1365 1360 "core-util-is": {
1366 1361 "version": "1.0.2",
... ... @@ -1477,8 +1472,7 @@
1477 1472 "inherits": {
1478 1473 "version": "2.0.3",
1479 1474 "bundled": true,
1480   - "dev": true,
1481   - "optional": true
  1475 + "dev": true
1482 1476 },
1483 1477 "ini": {
1484 1478 "version": "1.3.5",
... ... @@ -1490,7 +1484,6 @@
1490 1484 "version": "1.0.0",
1491 1485 "bundled": true,
1492 1486 "dev": true,
1493   - "optional": true,
1494 1487 "requires": {
1495 1488 "number-is-nan": "^1.0.0"
1496 1489 }
... ... @@ -1505,7 +1498,6 @@
1505 1498 "version": "3.0.4",
1506 1499 "bundled": true,
1507 1500 "dev": true,
1508   - "optional": true,
1509 1501 "requires": {
1510 1502 "brace-expansion": "^1.1.7"
1511 1503 }
... ... @@ -1513,14 +1505,12 @@
1513 1505 "minimist": {
1514 1506 "version": "0.0.8",
1515 1507 "bundled": true,
1516   - "dev": true,
1517   - "optional": true
  1508 + "dev": true
1518 1509 },
1519 1510 "minipass": {
1520 1511 "version": "2.2.4",
1521 1512 "bundled": true,
1522 1513 "dev": true,
1523   - "optional": true,
1524 1514 "requires": {
1525 1515 "safe-buffer": "^5.1.1",
1526 1516 "yallist": "^3.0.0"
... ... @@ -1539,7 +1529,6 @@
1539 1529 "version": "0.5.1",
1540 1530 "bundled": true,
1541 1531 "dev": true,
1542   - "optional": true,
1543 1532 "requires": {
1544 1533 "minimist": "0.0.8"
1545 1534 }
... ... @@ -1620,8 +1609,7 @@
1620 1609 "number-is-nan": {
1621 1610 "version": "1.0.1",
1622 1611 "bundled": true,
1623   - "dev": true,
1624   - "optional": true
  1612 + "dev": true
1625 1613 },
1626 1614 "object-assign": {
1627 1615 "version": "4.1.1",
... ... @@ -1633,7 +1621,6 @@
1633 1621 "version": "1.4.0",
1634 1622 "bundled": true,
1635 1623 "dev": true,
1636   - "optional": true,
1637 1624 "requires": {
1638 1625 "wrappy": "1"
1639 1626 }
... ... @@ -1755,7 +1742,6 @@
1755 1742 "version": "1.0.2",
1756 1743 "bundled": true,
1757 1744 "dev": true,
1758   - "optional": true,
1759 1745 "requires": {
1760 1746 "code-point-at": "^1.0.0",
1761 1747 "is-fullwidth-code-point": "^1.0.0",
... ... @@ -2368,7 +2354,7 @@
2368 2354 },
2369 2355 "json5": {
2370 2356 "version": "1.0.1",
2371   - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
  2357 + "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
2372 2358 "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
2373 2359 "requires": {
2374 2360 "minimist": "^1.2.0"
... ... @@ -2500,7 +2486,7 @@
2500 2486 },
2501 2487 "media-typer": {
2502 2488 "version": "0.3.0",
2503   - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
  2489 + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
2504 2490 "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
2505 2491 },
2506 2492 "merge-descriptors": {
... ... @@ -2595,7 +2581,7 @@
2595 2581 },
2596 2582 "mkdirp": {
2597 2583 "version": "0.5.1",
2598   - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
  2584 + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
2599 2585 "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
2600 2586 "dev": true,
2601 2587 "requires": {
... ... @@ -2604,7 +2590,7 @@
2604 2590 "dependencies": {
2605 2591 "minimist": {
2606 2592 "version": "0.0.8",
2607   - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
  2593 + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
2608 2594 "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
2609 2595 "dev": true
2610 2596 }
... ... @@ -2873,7 +2859,7 @@
2873 2859 },
2874 2860 "path-is-absolute": {
2875 2861 "version": "1.0.1",
2876   - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
  2862 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2877 2863 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2878 2864 "dev": true
2879 2865 },
... ... @@ -3247,7 +3233,7 @@
3247 3233 },
3248 3234 "safe-regex": {
3249 3235 "version": "1.1.0",
3250   - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
  3236 + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
3251 3237 "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
3252 3238 "dev": true,
3253 3239 "requires": {
... ... @@ -3599,7 +3585,7 @@
3599 3585 },
3600 3586 "strip-eof": {
3601 3587 "version": "1.0.0",
3602   - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
  3588 + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
3603 3589 "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
3604 3590 "dev": true
3605 3591 },
... ...
... ... @@ -360,6 +360,11 @@
360 360 <version>${project.version}</version>
361 361 </dependency>
362 362 <dependency>
  363 + <groupId>org.thingsboard.common</groupId>
  364 + <artifactId>dao-api</artifactId>
  365 + <version>${project.version}</version>
  366 + </dependency>
  367 + <dependency>
363 368 <groupId>org.thingsboard.rule-engine</groupId>
364 369 <artifactId>rule-engine-api</artifactId>
365 370 <version>${project.version}</version>
... ...
... ... @@ -44,8 +44,13 @@
44 44 <scope>provided</scope>
45 45 </dependency>
46 46 <dependency>
47   - <groupId>org.thingsboard</groupId>
48   - <artifactId>dao</artifactId>
  47 + <groupId>org.thingsboard.common</groupId>
  48 + <artifactId>dao-api</artifactId>
  49 + <scope>provided</scope>
  50 + </dependency>
  51 + <dependency>
  52 + <groupId>io.netty</groupId>
  53 + <artifactId>netty-all</artifactId>
49 54 <scope>provided</scope>
50 55 </dependency>
51 56 <dependency>
... ... @@ -63,5 +68,20 @@
63 68 <artifactId>logback-classic</artifactId>
64 69 <scope>provided</scope>
65 70 </dependency>
  71 + <dependency>
  72 + <groupId>com.datastax.cassandra</groupId>
  73 + <artifactId>cassandra-driver-core</artifactId>
  74 + <scope>provided</scope>
  75 + </dependency>
  76 + <dependency>
  77 + <groupId>com.datastax.cassandra</groupId>
  78 + <artifactId>cassandra-driver-mapping</artifactId>
  79 + <scope>provided</scope>
  80 + </dependency>
  81 + <dependency>
  82 + <groupId>com.datastax.cassandra</groupId>
  83 + <artifactId>cassandra-driver-extras</artifactId>
  84 + <scope>provided</scope>
  85 + </dependency>
66 86 </dependencies>
67 87 </project>
\ No newline at end of file
... ...
... ... @@ -34,13 +34,15 @@ import org.thingsboard.server.dao.customer.CustomerService;
34 34 import org.thingsboard.server.dao.dashboard.DashboardService;
35 35 import org.thingsboard.server.dao.device.DeviceService;
36 36 import org.thingsboard.server.dao.entityview.EntityViewService;
37   -import org.thingsboard.server.dao.nosql.CassandraBufferedRateExecutor;
  37 +import org.thingsboard.server.dao.nosql.CassandraStatementTask;
38 38 import org.thingsboard.server.dao.relation.RelationService;
39 39 import org.thingsboard.server.dao.rule.RuleChainService;
40 40 import org.thingsboard.server.dao.tenant.TenantService;
41 41 import org.thingsboard.server.dao.timeseries.TimeseriesService;
42 42 import org.thingsboard.server.dao.user.UserService;
43 43
  44 +import com.datastax.driver.core.ResultSetFuture;
  45 +
44 46 import java.util.Set;
45 47
46 48 /**
... ... @@ -128,7 +130,6 @@ public interface TbContext {
128 130
129 131 CassandraCluster getCassandraCluster();
130 132
131   - CassandraBufferedRateExecutor getCassandraBufferedRateExecutor();
132   -
  133 + ResultSetFuture submitCassandraTask(CassandraStatementTask task);
133 134
134 135 }
... ...
... ... @@ -241,7 +241,7 @@ public class TbSaveToCustomCassandraTableNode implements TbNode {
241 241 if (statement.getConsistencyLevel() == null) {
242 242 statement.setConsistencyLevel(level);
243 243 }
244   - return ctx.getCassandraBufferedRateExecutor().submit(new CassandraStatementTask(ctx.getTenantId(), getSession(), statement));
  244 + return ctx.submitCassandraTask(new CassandraStatementTask(ctx.getTenantId(), getSession(), statement));
245 245 }
246 246
247 247 private static String statementToString(Statement statement) {
... ...
... ... @@ -2366,7 +2366,7 @@
2366 2366 },
2367 2367 "util": {
2368 2368 "version": "0.10.3",
2369   - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
  2369 + "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz",
2370 2370 "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
2371 2371 "dev": true,
2372 2372 "requires": {
... ... @@ -3960,7 +3960,7 @@
3960 3960 "esprima": {
3961 3961 "version": "4.0.1",
3962 3962 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
3963   - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
  3963 + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=",
3964 3964 "dev": true
3965 3965 },
3966 3966 "js-yaml": {
... ... @@ -4464,7 +4464,7 @@
4464 4464 "path-type": {
4465 4465 "version": "3.0.0",
4466 4466 "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
4467   - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
  4467 + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
4468 4468 "dev": true,
4469 4469 "requires": {
4470 4470 "pify": "^3.0.0"
... ... @@ -6096,14 +6096,12 @@
6096 6096 "balanced-match": {
6097 6097 "version": "1.0.0",
6098 6098 "bundled": true,
6099   - "dev": true,
6100   - "optional": true
  6099 + "dev": true
6101 6100 },
6102 6101 "brace-expansion": {
6103 6102 "version": "1.1.11",
6104 6103 "bundled": true,
6105 6104 "dev": true,
6106   - "optional": true,
6107 6105 "requires": {
6108 6106 "balanced-match": "^1.0.0",
6109 6107 "concat-map": "0.0.1"
... ... @@ -6118,20 +6116,17 @@
6118 6116 "code-point-at": {
6119 6117 "version": "1.1.0",
6120 6118 "bundled": true,
6121   - "dev": true,
6122   - "optional": true
  6119 + "dev": true
6123 6120 },
6124 6121 "concat-map": {
6125 6122 "version": "0.0.1",
6126 6123 "bundled": true,
6127   - "dev": true,
6128   - "optional": true
  6124 + "dev": true
6129 6125 },
6130 6126 "console-control-strings": {
6131 6127 "version": "1.1.0",
6132 6128 "bundled": true,
6133   - "dev": true,
6134   - "optional": true
  6129 + "dev": true
6135 6130 },
6136 6131 "core-util-is": {
6137 6132 "version": "1.0.2",
... ... @@ -6248,8 +6243,7 @@
6248 6243 "inherits": {
6249 6244 "version": "2.0.3",
6250 6245 "bundled": true,
6251   - "dev": true,
6252   - "optional": true
  6246 + "dev": true
6253 6247 },
6254 6248 "ini": {
6255 6249 "version": "1.3.5",
... ... @@ -6261,7 +6255,6 @@
6261 6255 "version": "1.0.0",
6262 6256 "bundled": true,
6263 6257 "dev": true,
6264   - "optional": true,
6265 6258 "requires": {
6266 6259 "number-is-nan": "^1.0.0"
6267 6260 }
... ... @@ -6276,7 +6269,6 @@
6276 6269 "version": "3.0.4",
6277 6270 "bundled": true,
6278 6271 "dev": true,
6279   - "optional": true,
6280 6272 "requires": {
6281 6273 "brace-expansion": "^1.1.7"
6282 6274 }
... ... @@ -6284,14 +6276,12 @@
6284 6276 "minimist": {
6285 6277 "version": "0.0.8",
6286 6278 "bundled": true,
6287   - "dev": true,
6288   - "optional": true
  6279 + "dev": true
6289 6280 },
6290 6281 "minipass": {
6291 6282 "version": "2.3.5",
6292 6283 "bundled": true,
6293 6284 "dev": true,
6294   - "optional": true,
6295 6285 "requires": {
6296 6286 "safe-buffer": "^5.1.2",
6297 6287 "yallist": "^3.0.0"
... ... @@ -6310,7 +6300,6 @@
6310 6300 "version": "0.5.1",
6311 6301 "bundled": true,
6312 6302 "dev": true,
6313   - "optional": true,
6314 6303 "requires": {
6315 6304 "minimist": "0.0.8"
6316 6305 }
... ... @@ -6391,8 +6380,7 @@
6391 6380 "number-is-nan": {
6392 6381 "version": "1.0.1",
6393 6382 "bundled": true,
6394   - "dev": true,
6395   - "optional": true
  6383 + "dev": true
6396 6384 },
6397 6385 "object-assign": {
6398 6386 "version": "4.1.1",
... ... @@ -6404,7 +6392,6 @@
6404 6392 "version": "1.4.0",
6405 6393 "bundled": true,
6406 6394 "dev": true,
6407   - "optional": true,
6408 6395 "requires": {
6409 6396 "wrappy": "1"
6410 6397 }
... ... @@ -6526,7 +6513,6 @@
6526 6513 "version": "1.0.2",
6527 6514 "bundled": true,
6528 6515 "dev": true,
6529   - "optional": true,
6530 6516 "requires": {
6531 6517 "code-point-at": "^1.0.0",
6532 6518 "is-fullwidth-code-point": "^1.0.0",
... ... @@ -9354,7 +9340,7 @@
9354 9340 "is-extendable": {
9355 9341 "version": "1.0.1",
9356 9342 "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
9357   - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
  9343 + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
9358 9344 "dev": true,
9359 9345 "requires": {
9360 9346 "is-plain-object": "^2.0.4"
... ... @@ -11063,7 +11049,7 @@
11063 11049 "ansi-styles": {
11064 11050 "version": "3.2.1",
11065 11051 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
11066   - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
  11052 + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
11067 11053 "dev": true,
11068 11054 "requires": {
11069 11055 "color-convert": "^1.9.0"
... ... @@ -11094,13 +11080,13 @@
11094 11080 "source-map": {
11095 11081 "version": "0.6.1",
11096 11082 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
11097   - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
  11083 + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
11098 11084 "dev": true
11099 11085 },
11100 11086 "supports-color": {
11101 11087 "version": "5.5.0",
11102 11088 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
11103   - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
  11089 + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
11104 11090 "dev": true,
11105 11091 "requires": {
11106 11092 "has-flag": "^3.0.0"
... ... @@ -11126,7 +11112,7 @@
11126 11112 "ansi-styles": {
11127 11113 "version": "3.2.1",
11128 11114 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
11129   - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
  11115 + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
11130 11116 "dev": true,
11131 11117 "requires": {
11132 11118 "color-convert": "^1.9.0"
... ... @@ -11157,13 +11143,13 @@
11157 11143 "source-map": {
11158 11144 "version": "0.6.1",
11159 11145 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
11160   - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
  11146 + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
11161 11147 "dev": true
11162 11148 },
11163 11149 "supports-color": {
11164 11150 "version": "5.5.0",
11165 11151 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
11166   - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
  11152 + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
11167 11153 "dev": true,
11168 11154 "requires": {
11169 11155 "has-flag": "^3.0.0"
... ... @@ -11184,7 +11170,7 @@
11184 11170 "ansi-styles": {
11185 11171 "version": "3.2.1",
11186 11172 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
11187   - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
  11173 + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
11188 11174 "dev": true,
11189 11175 "requires": {
11190 11176 "color-convert": "^1.9.0"
... ... @@ -11215,13 +11201,13 @@
11215 11201 "source-map": {
11216 11202 "version": "0.6.1",
11217 11203 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
11218   - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
  11204 + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
11219 11205 "dev": true
11220 11206 },
11221 11207 "supports-color": {
11222 11208 "version": "5.5.0",
11223 11209 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
11224   - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
  11210 + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
11225 11211 "dev": true,
11226 11212 "requires": {
11227 11213 "has-flag": "^3.0.0"
... ... @@ -11241,7 +11227,7 @@
11241 11227 "ansi-styles": {
11242 11228 "version": "3.2.1",
11243 11229 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
11244   - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
  11230 + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
11245 11231 "dev": true,
11246 11232 "requires": {
11247 11233 "color-convert": "^1.9.0"
... ... @@ -11272,13 +11258,13 @@
11272 11258 "source-map": {
11273 11259 "version": "0.6.1",
11274 11260 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
11275   - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
  11261 + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
11276 11262 "dev": true
11277 11263 },
11278 11264 "supports-color": {
11279 11265 "version": "5.5.0",
11280 11266 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
11281   - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
  11267 + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
11282 11268 "dev": true,
11283 11269 "requires": {
11284 11270 "has-flag": "^3.0.0"
... ... @@ -13628,7 +13614,7 @@
13628 13614 "ansi-styles": {
13629 13615 "version": "3.2.1",
13630 13616 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
13631   - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
  13617 + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
13632 13618 "dev": true,
13633 13619 "requires": {
13634 13620 "color-convert": "^1.9.0"
... ... @@ -13954,7 +13940,7 @@
13954 13940 "path-type": {
13955 13941 "version": "3.0.0",
13956 13942 "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
13957   - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
  13943 + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
13958 13944 "dev": true,
13959 13945 "requires": {
13960 13946 "pify": "^3.0.0"
... ... @@ -14028,7 +14014,7 @@
14028 14014 "slice-ansi": {
14029 14015 "version": "1.0.0",
14030 14016 "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
14031   - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
  14017 + "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=",
14032 14018 "dev": true,
14033 14019 "requires": {
14034 14020 "is-fullwidth-code-point": "^2.0.0"
... ... @@ -14037,7 +14023,7 @@
14037 14023 "source-map": {
14038 14024 "version": "0.6.1",
14039 14025 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
14040   - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
  14026 + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
14041 14027 "dev": true
14042 14028 },
14043 14029 "strip-indent": {
... ... @@ -14049,7 +14035,7 @@
14049 14035 "supports-color": {
14050 14036 "version": "5.5.0",
14051 14037 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
14052   - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
  14038 + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
14053 14039 "dev": true,
14054 14040 "requires": {
14055 14041 "has-flag": "^3.0.0"
... ... @@ -14442,7 +14428,7 @@
14442 14428 "ansi-styles": {
14443 14429 "version": "3.2.1",
14444 14430 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
14445   - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
  14431 + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
14446 14432 "dev": true,
14447 14433 "requires": {
14448 14434 "color-convert": "^1.9.0"
... ... @@ -14473,13 +14459,13 @@
14473 14459 "source-map": {
14474 14460 "version": "0.6.1",
14475 14461 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
14476   - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
  14462 + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
14477 14463 "dev": true
14478 14464 },
14479 14465 "supports-color": {
14480 14466 "version": "5.5.0",
14481 14467 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
14482   - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
  14468 + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
14483 14469 "dev": true,
14484 14470 "requires": {
14485 14471 "has-flag": "^3.0.0"
... ... @@ -14965,7 +14951,7 @@
14965 14951 "source-map": {
14966 14952 "version": "0.6.1",
14967 14953 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
14968   - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
  14954 + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
14969 14955 "dev": true
14970 14956 }
14971 14957 }
... ...