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 inactivityAlarmTime = getEntryValue(ed, getKeyType(), INACTIVITY_ALARM_TIME, 0L);
|
||||
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
|
||||
final boolean active = getEntryValue(ed, getKeyType(), ACTIVITY_STATE, false);
|
||||
DeviceState deviceState = DeviceState.builder()
|
||||
@ -655,24 +660,13 @@ public class DefaultDeviceStateService extends AbstractPartitionBasedService<Dev
|
||||
TbMsgMetaData md = new TbMsgMetaData();
|
||||
md.putValue("deviceName", getEntryValue(ed, EntityKeyType.ENTITY_FIELD, "name", ""));
|
||||
md.putValue("deviceType", getEntryValue(ed, EntityKeyType.ENTITY_FIELD, "type", ""));
|
||||
DeviceStateData deviceStateData = DeviceStateData.builder()
|
||||
return DeviceStateData.builder()
|
||||
.customerId(deviceIdInfo.getCustomerId())
|
||||
.tenantId(deviceIdInfo.getTenantId())
|
||||
.deviceId(deviceIdInfo.getDeviceId())
|
||||
.deviceCreationTime(getEntryValue(ed, EntityKeyType.ENTITY_FIELD, "createdTime", 0L))
|
||||
.metaData(md)
|
||||
.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() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user