alarm rules improvements
This commit is contained in:
		
							parent
							
								
									c32a2ac064
								
							
						
					
					
						commit
						8515b6d6e0
					
				@ -82,7 +82,7 @@ import org.thingsboard.server.dao.widget.WidgetsBundleService;
 | 
			
		||||
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.Collections;
 | 
			
		||||
import java.util.LinkedHashMap;
 | 
			
		||||
import java.util.TreeMap;
 | 
			
		||||
 | 
			
		||||
@Service
 | 
			
		||||
@Profile("install")
 | 
			
		||||
@ -311,7 +311,7 @@ public class DefaultSystemDataLoaderService implements SystemDataLoaderService {
 | 
			
		||||
        temperatureCondition.setCondition(Arrays.asList(temperatureAlarmFlagAttributeFilter, temperatureTimeseriesFilter));
 | 
			
		||||
        temperatureRule.setAlarmDetails("Current temperature = ${temperature}");
 | 
			
		||||
        temperatureRule.setCondition(temperatureCondition);
 | 
			
		||||
        highTemperature.setCreateRules(new LinkedHashMap<>(Collections.singletonMap(AlarmSeverity.MAJOR, temperatureRule)));
 | 
			
		||||
        highTemperature.setCreateRules(new TreeMap<>(Collections.singletonMap(AlarmSeverity.MAJOR, temperatureRule)));
 | 
			
		||||
 | 
			
		||||
        AlarmRule clearTemperatureRule = new AlarmRule();
 | 
			
		||||
        AlarmCondition clearTemperatureCondition = new AlarmCondition();
 | 
			
		||||
@ -362,7 +362,7 @@ public class DefaultSystemDataLoaderService implements SystemDataLoaderService {
 | 
			
		||||
 | 
			
		||||
        humidityRule.setCondition(humidityCondition);
 | 
			
		||||
        humidityRule.setAlarmDetails("Current humidity = ${humidity}");
 | 
			
		||||
        lowHumidity.setCreateRules(new LinkedHashMap<>(Collections.singletonMap(AlarmSeverity.MINOR, humidityRule)));
 | 
			
		||||
        lowHumidity.setCreateRules(new TreeMap<>(Collections.singletonMap(AlarmSeverity.MINOR, humidityRule)));
 | 
			
		||||
 | 
			
		||||
        AlarmRule clearHumidityRule = new AlarmRule();
 | 
			
		||||
        AlarmCondition clearHumidityCondition = new AlarmCondition();
 | 
			
		||||
 | 
			
		||||
@ -18,9 +18,8 @@ package org.thingsboard.server.common.data.device.profile;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
 | 
			
		||||
 | 
			
		||||
import java.util.LinkedHashMap;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.TreeMap;
 | 
			
		||||
 | 
			
		||||
@Data
 | 
			
		||||
public class DeviceProfileAlarm {
 | 
			
		||||
@ -28,7 +27,7 @@ public class DeviceProfileAlarm {
 | 
			
		||||
    private String id;
 | 
			
		||||
    private String alarmType;
 | 
			
		||||
 | 
			
		||||
    private LinkedHashMap<AlarmSeverity, AlarmRule> createRules;
 | 
			
		||||
    private TreeMap<AlarmSeverity, AlarmRule> createRules;
 | 
			
		||||
    private AlarmRule clearRule;
 | 
			
		||||
 | 
			
		||||
    // Hidden in advanced settings
 | 
			
		||||
 | 
			
		||||
@ -23,17 +23,13 @@ import org.junit.runner.RunWith;
 | 
			
		||||
import org.mockito.AdditionalAnswers;
 | 
			
		||||
import org.mockito.Mock;
 | 
			
		||||
import org.mockito.Mockito;
 | 
			
		||||
import org.mockito.invocation.InvocationOnMock;
 | 
			
		||||
import org.mockito.runners.MockitoJUnitRunner;
 | 
			
		||||
import org.mockito.stubbing.Answer;
 | 
			
		||||
import org.springframework.util.StringUtils;
 | 
			
		||||
import org.thingsboard.rule.engine.api.RuleEngineAlarmService;
 | 
			
		||||
import org.thingsboard.rule.engine.api.RuleEngineDeviceProfileCache;
 | 
			
		||||
import org.thingsboard.rule.engine.api.TbContext;
 | 
			
		||||
import org.thingsboard.rule.engine.api.TbNodeConfiguration;
 | 
			
		||||
import org.thingsboard.rule.engine.api.TbNodeException;
 | 
			
		||||
import org.thingsboard.server.common.data.DeviceProfile;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.Alarm;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
 | 
			
		||||
import org.thingsboard.server.common.data.device.profile.AlarmCondition;
 | 
			
		||||
import org.thingsboard.server.common.data.device.profile.AlarmRule;
 | 
			
		||||
@ -52,11 +48,10 @@ import org.thingsboard.server.common.msg.TbMsg;
 | 
			
		||||
import org.thingsboard.server.common.msg.TbMsgDataType;
 | 
			
		||||
import org.thingsboard.server.common.msg.TbMsgMetaData;
 | 
			
		||||
import org.thingsboard.server.common.msg.session.SessionMsgType;
 | 
			
		||||
import org.thingsboard.server.dao.alarm.AlarmService;
 | 
			
		||||
import org.thingsboard.server.dao.timeseries.TimeseriesService;
 | 
			
		||||
 | 
			
		||||
import java.util.Collections;
 | 
			
		||||
import java.util.LinkedHashMap;
 | 
			
		||||
import java.util.TreeMap;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
import static org.mockito.Mockito.verify;
 | 
			
		||||
@ -140,7 +135,7 @@ public class TbDeviceProfileNodeTest {
 | 
			
		||||
        DeviceProfileAlarm dpa = new DeviceProfileAlarm();
 | 
			
		||||
        dpa.setId("highTemperatureAlarmID");
 | 
			
		||||
        dpa.setAlarmType("highTemperatureAlarm");
 | 
			
		||||
        dpa.setCreateRules(new LinkedHashMap<>(Collections.singletonMap(AlarmSeverity.CRITICAL, alarmRule)));
 | 
			
		||||
        dpa.setCreateRules(new TreeMap<>(Collections.singletonMap(AlarmSeverity.CRITICAL, alarmRule)));
 | 
			
		||||
 | 
			
		||||
        KeyFilter lowTempFilter = new KeyFilter();
 | 
			
		||||
        lowTempFilter.setKey(new EntityKey(EntityKeyType.TIME_SERIES, "temperature"));
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user