device state svc refactoring
This commit is contained in:
parent
3cb94532fa
commit
4ca140f306
@ -642,6 +642,11 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService<Dev
|
|||||||
long lastActivityTime = getEntryValue(ed, getKeyType(), LAST_ACTIVITY_TIME, 0L);
|
long lastActivityTime = getEntryValue(ed, getKeyType(), LAST_ACTIVITY_TIME, 0L);
|
||||||
long inactivityAlarmTime = getEntryValue(ed, getKeyType(), INACTIVITY_ALARM_TIME, 0L);
|
long inactivityAlarmTime = getEntryValue(ed, getKeyType(), INACTIVITY_ALARM_TIME, 0L);
|
||||||
long inactivityTimeout = getEntryValue(ed, getKeyType(), INACTIVITY_TIMEOUT, TimeUnit.SECONDS.toMillis(defaultInactivityTimeoutInSec));
|
long inactivityTimeout = getEntryValue(ed, getKeyType(), INACTIVITY_TIMEOUT, TimeUnit.SECONDS.toMillis(defaultInactivityTimeoutInSec));
|
||||||
|
if (persistToTelemetry && inactivityTimeout == TimeUnit.SECONDS.toMillis(defaultInactivityTimeoutInSec)) {
|
||||||
|
log.trace("[{}] default value for inactivity timeout fetched {}, going to fetch inactivity timeout from attributes",
|
||||||
|
deviceIdInfo.getDeviceId(), inactivityTimeout);
|
||||||
|
inactivityTimeout = getEntryValue(ed, EntityKeyType.SERVER_ATTRIBUTE, INACTIVITY_TIMEOUT, TimeUnit.SECONDS.toMillis(defaultInactivityTimeoutInSec));
|
||||||
|
}
|
||||||
//Actual active state by wall-clock will updated outside this method. This method is only for fetch persistent state
|
//Actual active state by wall-clock will updated outside this method. This method is only for fetch persistent state
|
||||||
final boolean active = getEntryValue(ed, getKeyType(), ACTIVITY_STATE, false);
|
final boolean active = getEntryValue(ed, getKeyType(), ACTIVITY_STATE, false);
|
||||||
DeviceState deviceState = DeviceState.builder()
|
DeviceState deviceState = DeviceState.builder()
|
||||||
@ -655,24 +660,13 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService<Dev
|
|||||||
TbMsgMetaData md = new TbMsgMetaData();
|
TbMsgMetaData md = new TbMsgMetaData();
|
||||||
md.putValue("deviceName", getEntryValue(ed, EntityKeyType.ENTITY_FIELD, "name", ""));
|
md.putValue("deviceName", getEntryValue(ed, EntityKeyType.ENTITY_FIELD, "name", ""));
|
||||||
md.putValue("deviceType", getEntryValue(ed, EntityKeyType.ENTITY_FIELD, "type", ""));
|
md.putValue("deviceType", getEntryValue(ed, EntityKeyType.ENTITY_FIELD, "type", ""));
|
||||||
DeviceStateData deviceStateData = DeviceStateData.builder()
|
return DeviceStateData.builder()
|
||||||
.customerId(deviceIdInfo.getCustomerId())
|
.customerId(deviceIdInfo.getCustomerId())
|
||||||
.tenantId(deviceIdInfo.getTenantId())
|
.tenantId(deviceIdInfo.getTenantId())
|
||||||
.deviceId(deviceIdInfo.getDeviceId())
|
.deviceId(deviceIdInfo.getDeviceId())
|
||||||
.deviceCreationTime(getEntryValue(ed, EntityKeyType.ENTITY_FIELD, "createdTime", 0L))
|
.deviceCreationTime(getEntryValue(ed, EntityKeyType.ENTITY_FIELD, "createdTime", 0L))
|
||||||
.metaData(md)
|
.metaData(md)
|
||||||
.state(deviceState).build();
|
.state(deviceState).build();
|
||||||
transformInactivityTimeout(deviceStateData, ed);
|
|
||||||
return deviceStateData;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void transformInactivityTimeout(DeviceStateData deviceStateData, EntityData ed) {
|
|
||||||
if (persistToTelemetry && deviceStateData.getState().getInactivityTimeout() == TimeUnit.SECONDS.toMillis(defaultInactivityTimeoutInSec)) {
|
|
||||||
log.trace("[{}] default value for inactivity timeout fetched {}, going to fetch inactivity timeout from attributes",
|
|
||||||
deviceStateData.getDeviceId(), deviceStateData.getState().getInactivityTimeout());
|
|
||||||
long inactivityTimeout = getEntryValue(ed, EntityKeyType.SERVER_ATTRIBUTE, INACTIVITY_TIMEOUT, TimeUnit.SECONDS.toMillis(defaultInactivityTimeoutInSec));
|
|
||||||
deviceStateData.getState().setInactivityTimeout(inactivityTimeout);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private EntityKeyType getKeyType() {
|
private EntityKeyType getKeyType() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user