mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Implement Singleton Pattern for DeviceTaskConfigurationServiceImpl
This commit is contained in:
parent
b53cb5cb76
commit
cb244642ea
@ -49,13 +49,21 @@ public class DeviceTaskConfigurationServiceImpl implements DeviceTaskConfigurati
|
|||||||
|
|
||||||
private final MetadataManagementService metadataManagementService;
|
private final MetadataManagementService metadataManagementService;
|
||||||
|
|
||||||
private final Cache<String, DeviceFrequencyMap> cache;
|
private static DeviceTaskConfigurationServiceImpl instance;
|
||||||
|
|
||||||
public DeviceTaskConfigurationServiceImpl() {
|
private static final Cache<String, DeviceFrequencyMap> cache = CacheBuilder.newBuilder()
|
||||||
|
.expireAfterWrite(1, TimeUnit.HOURS)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
private DeviceTaskConfigurationServiceImpl() {
|
||||||
this.metadataManagementService = new MetadataManagementServiceImpl();
|
this.metadataManagementService = new MetadataManagementServiceImpl();
|
||||||
this.cache = CacheBuilder.newBuilder()
|
}
|
||||||
.expireAfterWrite(1, TimeUnit.HOURS)
|
|
||||||
.build();
|
public static synchronized DeviceTaskConfigurationServiceImpl getInstance() {
|
||||||
|
if (instance == null) {
|
||||||
|
instance = new DeviceTaskConfigurationServiceImpl();
|
||||||
|
}
|
||||||
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Metadata constructTaskFrequencyMetadata(Map<String, Integer> deviceFrequencies) {
|
private Metadata constructTaskFrequencyMetadata(Map<String, Integer> deviceFrequencies) {
|
||||||
|
|||||||
@ -43,7 +43,7 @@ public class TaskConfigurationStartupHandler implements ServerStartupObserver {
|
|||||||
Thread t = new Thread(new Runnable() {
|
Thread t = new Thread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
DeviceTaskConfigurationService deviceTaskConfigurationService = new DeviceTaskConfigurationServiceImpl();
|
DeviceTaskConfigurationService deviceTaskConfigurationService = DeviceTaskConfigurationServiceImpl.getInstance();
|
||||||
RealmService realmService = DeviceManagementDataHolder.getInstance().getRealmService();
|
RealmService realmService = DeviceManagementDataHolder.getInstance().getRealmService();
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Server has just started, hence started adding default task frequencies");
|
log.debug("Server has just started, hence started adding default task frequencies");
|
||||||
|
|||||||
@ -71,7 +71,7 @@ public class Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static int getTenantedTaskFrequency(int tenantId, String deviceType) throws MetadataManagementException {
|
public static int getTenantedTaskFrequency(int tenantId, String deviceType) throws MetadataManagementException {
|
||||||
DeviceTaskConfigurationService deviceTaskConfigurationService = new DeviceTaskConfigurationServiceImpl();
|
DeviceTaskConfigurationService deviceTaskConfigurationService = DeviceTaskConfigurationServiceImpl.getInstance();
|
||||||
return deviceTaskConfigurationService.getTaskFrequency(deviceType, tenantId);
|
return deviceTaskConfigurationService.getTaskFrequency(deviceType, tenantId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -156,7 +156,7 @@ public class DeviceTaskManagerTest extends BaseDeviceManagementTest {
|
|||||||
@Test(groups = "Device Task Manager Test Group", description = "Testing device detail retriever task execution")
|
@Test(groups = "Device Task Manager Test Group", description = "Testing device detail retriever task execution")
|
||||||
public void testDeviceDetailRetrieverTaskExecute() throws OperationManagementException, MetadataManagementException {
|
public void testDeviceDetailRetrieverTaskExecute() throws OperationManagementException, MetadataManagementException {
|
||||||
DeviceDetailsRetrieverTask deviceDetailsRetrieverTask = new DeviceDetailsRetrieverTask();
|
DeviceDetailsRetrieverTask deviceDetailsRetrieverTask = new DeviceDetailsRetrieverTask();
|
||||||
DeviceTaskConfigurationService deviceTaskConfigurationService = new DeviceTaskConfigurationServiceImpl();
|
DeviceTaskConfigurationService deviceTaskConfigurationService = DeviceTaskConfigurationServiceImpl.getInstance();
|
||||||
deviceTaskConfigurationService.addTaskFrequency(MultitenantConstants.SUPER_TENANT_ID, FREQUENCY,TestDataHolder.TEST_DEVICE_TYPE);
|
deviceTaskConfigurationService.addTaskFrequency(MultitenantConstants.SUPER_TENANT_ID, FREQUENCY,TestDataHolder.TEST_DEVICE_TYPE);
|
||||||
Map<String, String> map = new HashMap<>();
|
Map<String, String> map = new HashMap<>();
|
||||||
map.put("DEVICE_TYPE", TestDataHolder.TEST_DEVICE_TYPE);
|
map.put("DEVICE_TYPE", TestDataHolder.TEST_DEVICE_TYPE);
|
||||||
|
|||||||
@ -72,7 +72,7 @@ public class TenantMgtServiceComponent {
|
|||||||
componentContext.getBundleContext().registerService(DeviceStatusManagementService.class.getName(),
|
componentContext.getBundleContext().registerService(DeviceStatusManagementService.class.getName(),
|
||||||
deviceStatusManagementService, null);
|
deviceStatusManagementService, null);
|
||||||
TenantMgtDataHolder.getInstance().setDeviceStatusManagementService(deviceStatusManagementService);
|
TenantMgtDataHolder.getInstance().setDeviceStatusManagementService(deviceStatusManagementService);
|
||||||
DeviceTaskConfigurationService deviceTaskConfigurationService = new DeviceTaskConfigurationServiceImpl();
|
DeviceTaskConfigurationService deviceTaskConfigurationService = DeviceTaskConfigurationServiceImpl.getInstance();
|
||||||
TenantMgtDataHolder.getInstance().setDeviceTaskConfigurationService(deviceTaskConfigurationService);
|
TenantMgtDataHolder.getInstance().setDeviceTaskConfigurationService(deviceTaskConfigurationService);
|
||||||
DeviceMgtTenantListener deviceMgtTenantListener = new DeviceMgtTenantListener();
|
DeviceMgtTenantListener deviceMgtTenantListener = new DeviceMgtTenantListener();
|
||||||
if(log.isDebugEnabled()) {
|
if(log.isDebugEnabled()) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user