Commit 3869f9f27462e3b5d2a19c51c68f2bb551ab7157
Merge branch 'master' of github.com:thingsboard/thingsboard
Showing
4 changed files
with
8 additions
and
14 deletions
application/src/main/java/org/thingsboard/server/service/install/DefaultSystemDataLoaderService.java
@@ -82,7 +82,7 @@ import org.thingsboard.server.dao.widget.WidgetsBundleService; | @@ -82,7 +82,7 @@ import org.thingsboard.server.dao.widget.WidgetsBundleService; | ||
82 | 82 | ||
83 | import java.util.Arrays; | 83 | import java.util.Arrays; |
84 | import java.util.Collections; | 84 | import java.util.Collections; |
85 | -import java.util.LinkedHashMap; | 85 | +import java.util.TreeMap; |
86 | 86 | ||
87 | @Service | 87 | @Service |
88 | @Profile("install") | 88 | @Profile("install") |
@@ -311,7 +311,7 @@ public class DefaultSystemDataLoaderService implements SystemDataLoaderService { | @@ -311,7 +311,7 @@ public class DefaultSystemDataLoaderService implements SystemDataLoaderService { | ||
311 | temperatureCondition.setCondition(Arrays.asList(temperatureAlarmFlagAttributeFilter, temperatureTimeseriesFilter)); | 311 | temperatureCondition.setCondition(Arrays.asList(temperatureAlarmFlagAttributeFilter, temperatureTimeseriesFilter)); |
312 | temperatureRule.setAlarmDetails("Current temperature = ${temperature}"); | 312 | temperatureRule.setAlarmDetails("Current temperature = ${temperature}"); |
313 | temperatureRule.setCondition(temperatureCondition); | 313 | temperatureRule.setCondition(temperatureCondition); |
314 | - highTemperature.setCreateRules(new LinkedHashMap<>(Collections.singletonMap(AlarmSeverity.MAJOR, temperatureRule))); | 314 | + highTemperature.setCreateRules(new TreeMap<>(Collections.singletonMap(AlarmSeverity.MAJOR, temperatureRule))); |
315 | 315 | ||
316 | AlarmRule clearTemperatureRule = new AlarmRule(); | 316 | AlarmRule clearTemperatureRule = new AlarmRule(); |
317 | AlarmCondition clearTemperatureCondition = new AlarmCondition(); | 317 | AlarmCondition clearTemperatureCondition = new AlarmCondition(); |
@@ -362,7 +362,7 @@ public class DefaultSystemDataLoaderService implements SystemDataLoaderService { | @@ -362,7 +362,7 @@ public class DefaultSystemDataLoaderService implements SystemDataLoaderService { | ||
362 | 362 | ||
363 | humidityRule.setCondition(humidityCondition); | 363 | humidityRule.setCondition(humidityCondition); |
364 | humidityRule.setAlarmDetails("Current humidity = ${humidity}"); | 364 | humidityRule.setAlarmDetails("Current humidity = ${humidity}"); |
365 | - lowHumidity.setCreateRules(new LinkedHashMap<>(Collections.singletonMap(AlarmSeverity.MINOR, humidityRule))); | 365 | + lowHumidity.setCreateRules(new TreeMap<>(Collections.singletonMap(AlarmSeverity.MINOR, humidityRule))); |
366 | 366 | ||
367 | AlarmRule clearHumidityRule = new AlarmRule(); | 367 | AlarmRule clearHumidityRule = new AlarmRule(); |
368 | AlarmCondition clearHumidityCondition = new AlarmCondition(); | 368 | AlarmCondition clearHumidityCondition = new AlarmCondition(); |
@@ -18,9 +18,8 @@ package org.thingsboard.server.common.data.device.profile; | @@ -18,9 +18,8 @@ package org.thingsboard.server.common.data.device.profile; | ||
18 | import lombok.Data; | 18 | import lombok.Data; |
19 | import org.thingsboard.server.common.data.alarm.AlarmSeverity; | 19 | import org.thingsboard.server.common.data.alarm.AlarmSeverity; |
20 | 20 | ||
21 | -import java.util.LinkedHashMap; | ||
22 | import java.util.List; | 21 | import java.util.List; |
23 | -import java.util.Map; | 22 | +import java.util.TreeMap; |
24 | 23 | ||
25 | @Data | 24 | @Data |
26 | public class DeviceProfileAlarm { | 25 | public class DeviceProfileAlarm { |
@@ -28,7 +27,7 @@ public class DeviceProfileAlarm { | @@ -28,7 +27,7 @@ public class DeviceProfileAlarm { | ||
28 | private String id; | 27 | private String id; |
29 | private String alarmType; | 28 | private String alarmType; |
30 | 29 | ||
31 | - private LinkedHashMap<AlarmSeverity, AlarmRule> createRules; | 30 | + private TreeMap<AlarmSeverity, AlarmRule> createRules; |
32 | private AlarmRule clearRule; | 31 | private AlarmRule clearRule; |
33 | 32 | ||
34 | // Hidden in advanced settings | 33 | // Hidden in advanced settings |
@@ -23,17 +23,13 @@ import org.junit.runner.RunWith; | @@ -23,17 +23,13 @@ import org.junit.runner.RunWith; | ||
23 | import org.mockito.AdditionalAnswers; | 23 | import org.mockito.AdditionalAnswers; |
24 | import org.mockito.Mock; | 24 | import org.mockito.Mock; |
25 | import org.mockito.Mockito; | 25 | import org.mockito.Mockito; |
26 | -import org.mockito.invocation.InvocationOnMock; | ||
27 | import org.mockito.runners.MockitoJUnitRunner; | 26 | import org.mockito.runners.MockitoJUnitRunner; |
28 | -import org.mockito.stubbing.Answer; | ||
29 | -import org.springframework.util.StringUtils; | ||
30 | import org.thingsboard.rule.engine.api.RuleEngineAlarmService; | 27 | import org.thingsboard.rule.engine.api.RuleEngineAlarmService; |
31 | import org.thingsboard.rule.engine.api.RuleEngineDeviceProfileCache; | 28 | import org.thingsboard.rule.engine.api.RuleEngineDeviceProfileCache; |
32 | import org.thingsboard.rule.engine.api.TbContext; | 29 | import org.thingsboard.rule.engine.api.TbContext; |
33 | import org.thingsboard.rule.engine.api.TbNodeConfiguration; | 30 | import org.thingsboard.rule.engine.api.TbNodeConfiguration; |
34 | import org.thingsboard.rule.engine.api.TbNodeException; | 31 | import org.thingsboard.rule.engine.api.TbNodeException; |
35 | import org.thingsboard.server.common.data.DeviceProfile; | 32 | import org.thingsboard.server.common.data.DeviceProfile; |
36 | -import org.thingsboard.server.common.data.alarm.Alarm; | ||
37 | import org.thingsboard.server.common.data.alarm.AlarmSeverity; | 33 | import org.thingsboard.server.common.data.alarm.AlarmSeverity; |
38 | import org.thingsboard.server.common.data.device.profile.AlarmCondition; | 34 | import org.thingsboard.server.common.data.device.profile.AlarmCondition; |
39 | import org.thingsboard.server.common.data.device.profile.AlarmRule; | 35 | import org.thingsboard.server.common.data.device.profile.AlarmRule; |
@@ -52,11 +48,10 @@ import org.thingsboard.server.common.msg.TbMsg; | @@ -52,11 +48,10 @@ import org.thingsboard.server.common.msg.TbMsg; | ||
52 | import org.thingsboard.server.common.msg.TbMsgDataType; | 48 | import org.thingsboard.server.common.msg.TbMsgDataType; |
53 | import org.thingsboard.server.common.msg.TbMsgMetaData; | 49 | import org.thingsboard.server.common.msg.TbMsgMetaData; |
54 | import org.thingsboard.server.common.msg.session.SessionMsgType; | 50 | import org.thingsboard.server.common.msg.session.SessionMsgType; |
55 | -import org.thingsboard.server.dao.alarm.AlarmService; | ||
56 | import org.thingsboard.server.dao.timeseries.TimeseriesService; | 51 | import org.thingsboard.server.dao.timeseries.TimeseriesService; |
57 | 52 | ||
58 | import java.util.Collections; | 53 | import java.util.Collections; |
59 | -import java.util.LinkedHashMap; | 54 | +import java.util.TreeMap; |
60 | import java.util.UUID; | 55 | import java.util.UUID; |
61 | 56 | ||
62 | import static org.mockito.Mockito.verify; | 57 | import static org.mockito.Mockito.verify; |
@@ -140,7 +135,7 @@ public class TbDeviceProfileNodeTest { | @@ -140,7 +135,7 @@ public class TbDeviceProfileNodeTest { | ||
140 | DeviceProfileAlarm dpa = new DeviceProfileAlarm(); | 135 | DeviceProfileAlarm dpa = new DeviceProfileAlarm(); |
141 | dpa.setId("highTemperatureAlarmID"); | 136 | dpa.setId("highTemperatureAlarmID"); |
142 | dpa.setAlarmType("highTemperatureAlarm"); | 137 | dpa.setAlarmType("highTemperatureAlarm"); |
143 | - dpa.setCreateRules(new LinkedHashMap<>(Collections.singletonMap(AlarmSeverity.CRITICAL, alarmRule))); | 138 | + dpa.setCreateRules(new TreeMap<>(Collections.singletonMap(AlarmSeverity.CRITICAL, alarmRule))); |
144 | 139 | ||
145 | KeyFilter lowTempFilter = new KeyFilter(); | 140 | KeyFilter lowTempFilter = new KeyFilter(); |
146 | lowTempFilter.setKey(new EntityKey(EntityKeyType.TIME_SERIES, "temperature")); | 141 | lowTempFilter.setKey(new EntityKey(EntityKeyType.TIME_SERIES, "temperature")); |
@@ -130,7 +130,7 @@ export class DashboardService { | @@ -130,7 +130,7 @@ export class DashboardService { | ||
130 | const publicCustomerId = publicCustomers[0].customerId.id; | 130 | const publicCustomerId = publicCustomers[0].customerId.id; |
131 | let url = this.window.location.protocol + '//' + this.window.location.hostname; | 131 | let url = this.window.location.protocol + '//' + this.window.location.hostname; |
132 | const port = this.window.location.port; | 132 | const port = this.window.location.port; |
133 | - if (port !== '80' && port !== '443') { | 133 | + if (port && port.length > 0 && port !== '80' && port !== '443') { |
134 | url += ':' + port; | 134 | url += ':' + port; |
135 | } | 135 | } |
136 | url += `/dashboard/${dashboard.id.id}?publicId=${publicCustomerId}`; | 136 | url += `/dashboard/${dashboard.id.id}?publicId=${publicCustomerId}`; |