|
|
|
@ -27,6 +27,7 @@ import org.springframework.cache.Cache; |
|
|
|
import org.springframework.cache.CacheManager; |
|
|
|
import org.springframework.cache.annotation.CacheEvict; |
|
|
|
import org.springframework.cache.annotation.Cacheable; |
|
|
|
import org.springframework.cache.annotation.Caching; |
|
|
|
import org.springframework.context.annotation.Lazy; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
@ -147,6 +148,7 @@ public class DeviceServiceImpl extends AbstractEntityService implements DeviceSe |
|
|
|
return deviceDao.findDeviceInfoById(tenantId, deviceId.getId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Cacheable(cacheNames = DEVICE_CACHE, key = "{#tenantId, #deviceId}") |
|
|
|
@Override |
|
|
|
public Device findDeviceById(TenantId tenantId, DeviceId deviceId) { |
|
|
|
log.trace("Executing findDeviceById [{}]", deviceId); |
|
|
|
@ -178,13 +180,19 @@ public class DeviceServiceImpl extends AbstractEntityService implements DeviceSe |
|
|
|
return deviceOpt.orElse(null); |
|
|
|
} |
|
|
|
|
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#device.tenantId, #device.name}") |
|
|
|
@Caching(evict= { |
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#device.tenantId, #device.name}"), |
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#device.tenantId, #device.id}") |
|
|
|
}) |
|
|
|
@Override |
|
|
|
public Device saveDeviceWithAccessToken(Device device, String accessToken) { |
|
|
|
return doSaveDevice(device, accessToken); |
|
|
|
} |
|
|
|
|
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#device.tenantId, #device.name}") |
|
|
|
@Caching(evict= { |
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#device.tenantId, #device.name}"), |
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#device.tenantId, #device.id}") |
|
|
|
}) |
|
|
|
@Override |
|
|
|
public Device saveDevice(Device device) { |
|
|
|
return doSaveDevice(device, null); |
|
|
|
@ -521,7 +529,10 @@ public class DeviceServiceImpl extends AbstractEntityService implements DeviceSe |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional |
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#device.tenantId, #device.name}") |
|
|
|
@Caching(evict= { |
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#device.tenantId, #device.name}"), |
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#device.tenantId, #device.id}") |
|
|
|
}) |
|
|
|
@Override |
|
|
|
public Device assignDeviceToTenant(TenantId tenantId, Device device) { |
|
|
|
log.trace("Executing assignDeviceToTenant [{}][{}]", tenantId, device); |
|
|
|
@ -546,7 +557,7 @@ public class DeviceServiceImpl extends AbstractEntityService implements DeviceSe |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#profile.tenantId, #provisionRequest.deviceName}") |
|
|
|
@CacheEvict(cacheNames = DEVICE_CACHE, key = "{#profile.tenantId, #provisionRequest.deviceName}") //id is not available yet
|
|
|
|
@Transactional |
|
|
|
public Device saveDevice(ProvisionRequest provisionRequest, DeviceProfile profile) { |
|
|
|
Device device = new Device(); |
|
|
|
|