mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Add all registerd devices to newly registerd plugin listner
This commit is contained in:
parent
7497a1d033
commit
aa8de8cb23
@ -24,6 +24,7 @@ import org.osgi.service.component.ComponentContext;
|
||||
import org.wso2.carbon.apimgt.impl.APIManagerConfigurationService;
|
||||
import org.wso2.carbon.core.ServerStartupObserver;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManager;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
|
||||
import org.wso2.carbon.device.mgt.common.license.mgt.License;
|
||||
@ -101,6 +102,7 @@ public class DeviceManagementServiceComponent {
|
||||
|
||||
private static final Object LOCK = new Object();
|
||||
private static List<PluginInitializationListener> listeners = new ArrayList<PluginInitializationListener>();
|
||||
private static List<DeviceManagementService> deviceManagers = new ArrayList<DeviceManagementService>();
|
||||
|
||||
protected void activate(ComponentContext componentContext) {
|
||||
try {
|
||||
@ -152,6 +154,9 @@ public class DeviceManagementServiceComponent {
|
||||
|
||||
public static void registerPluginInitializationListener(PluginInitializationListener listener) {
|
||||
listeners.add(listener);
|
||||
for(DeviceManagementService deviceManagementService:deviceManagers){
|
||||
listener.registerDeviceManagementService(deviceManagementService);
|
||||
}
|
||||
}
|
||||
|
||||
private void initLicenseManager() throws LicenseManagementException {
|
||||
@ -184,11 +189,9 @@ public class DeviceManagementServiceComponent {
|
||||
}
|
||||
/* Registering Device Management Service */
|
||||
BundleContext bundleContext = componentContext.getBundleContext();
|
||||
DeviceManagementProviderService deviceManagementProvider =
|
||||
new DeviceManagementProviderServiceImpl(this.getPluginRepository());
|
||||
DeviceManagementProviderService deviceManagementProvider = new DeviceManagementProviderServiceImpl();
|
||||
DeviceManagementDataHolder.getInstance().setDeviceManagementProvider(deviceManagementProvider);
|
||||
bundleContext.registerService(DeviceManagementProviderService.class.getName(),
|
||||
deviceManagementProvider, null);
|
||||
bundleContext.registerService(DeviceManagementProviderService.class.getName(), deviceManagementProvider, null);
|
||||
|
||||
APIPublisherService publisher = new APIPublisherServiceImpl();
|
||||
DeviceManagementDataHolder.getInstance().setApiPublisherService(publisher);
|
||||
@ -200,12 +203,9 @@ public class DeviceManagementServiceComponent {
|
||||
bundleContext.registerService(ApplicationManager.class.getName(), new ApplicationManagementServiceImpl(), null);
|
||||
}
|
||||
|
||||
private void setupDeviceManagementSchema(DataSourceConfig config)
|
||||
throws DeviceManagementException {
|
||||
DeviceManagementSchemaInitializer initializer =
|
||||
new DeviceManagementSchemaInitializer(config);
|
||||
private void setupDeviceManagementSchema(DataSourceConfig config) throws DeviceManagementException {
|
||||
DeviceManagementSchemaInitializer initializer = new DeviceManagementSchemaInitializer(config);
|
||||
log.info("Initializing device management repository database schema");
|
||||
|
||||
try {
|
||||
initializer.createRegistryDatabase();
|
||||
} catch (Exception e) {
|
||||
@ -238,6 +238,7 @@ public class DeviceManagementServiceComponent {
|
||||
log.debug("Setting Device Management Service Provider: '" +
|
||||
deviceManagementService.getProviderType() + "'");
|
||||
}
|
||||
deviceManagers.add(deviceManagementService);
|
||||
for (PluginInitializationListener listener : listeners) {
|
||||
listener.registerDeviceManagementService(deviceManagementService);
|
||||
}
|
||||
|
||||
@ -55,14 +55,15 @@ public class DeviceManagementProviderServiceImpl implements
|
||||
private static Log log = LogFactory.getLog(DeviceManagementProviderServiceImpl.class);
|
||||
|
||||
public DeviceManagementProviderServiceImpl() {
|
||||
/* Registering a listener to retrieve events when some device management service plugin is installed after
|
||||
* the component is done getting initialized */
|
||||
DeviceManagementServiceComponent.registerPluginInitializationListener(this);
|
||||
|
||||
this.pluginRepository = new DeviceManagementPluginRepository();
|
||||
this.deviceDAO = DeviceManagementDAOFactory.getDeviceDAO();
|
||||
this.deviceTypeDAO = DeviceManagementDAOFactory.getDeviceTypeDAO();
|
||||
this.enrollmentDAO = DeviceManagementDAOFactory.getEnrollmentDAO();
|
||||
|
||||
/* Registering a listener to retrieve events when some device management service plugin is installed after
|
||||
* the component is done getting initialized */
|
||||
DeviceManagementServiceComponent.registerPluginInitializationListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
Reference in New Issue
Block a user