Fixing API Manager related issues

revert-dabc3590
prabathabey 10 years ago
parent 2b3ee5e4f2
commit da34270a61

@ -24,8 +24,11 @@ import org.wso2.carbon.apimgt.api.APIManagementException;
import org.wso2.carbon.apimgt.api.APIProvider; import org.wso2.carbon.apimgt.api.APIProvider;
import org.wso2.carbon.apimgt.impl.APIManagerConfigurationService; import org.wso2.carbon.apimgt.impl.APIManagerConfigurationService;
import org.wso2.carbon.apimgt.impl.APIManagerFactory; import org.wso2.carbon.apimgt.impl.APIManagerFactory;
import org.wso2.carbon.apimgt.impl.utils.APIMgtDBUtil;
import org.wso2.carbon.core.ServerStartupObserver;
import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.DeviceManagementException;
import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService; import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
import org.wso2.carbon.device.mgt.mobile.MobileDeviceManagementStartupObserver;
import org.wso2.carbon.device.mgt.mobile.config.APIConfig; import org.wso2.carbon.device.mgt.mobile.config.APIConfig;
import org.wso2.carbon.device.mgt.mobile.config.MobileDeviceConfigurationManager; import org.wso2.carbon.device.mgt.mobile.config.MobileDeviceConfigurationManager;
import org.wso2.carbon.device.mgt.mobile.config.MobileDeviceManagementConfig; import org.wso2.carbon.device.mgt.mobile.config.MobileDeviceManagementConfig;
@ -58,6 +61,7 @@ public class MobileDeviceManagementServiceComponent {
private ServiceRegistration androidServiceRegRef; private ServiceRegistration androidServiceRegRef;
private ServiceRegistration iOSServiceRegRef; private ServiceRegistration iOSServiceRegRef;
private ServiceRegistration windowsServiceRegRef; private ServiceRegistration windowsServiceRegRef;
private ServiceRegistration serverStartupObserverRef;
private static final Log log = LogFactory.getLog(MobileDeviceManagementServiceComponent.class); private static final Log log = LogFactory.getLog(MobileDeviceManagementServiceComponent.class);
@ -88,9 +92,7 @@ public class MobileDeviceManagementServiceComponent {
MobileDeviceManagementDAOUtil.setupMobileDeviceManagementSchema( MobileDeviceManagementDAOUtil.setupMobileDeviceManagementSchema(
MobileDeviceManagementDAOFactory.getDataSource()); MobileDeviceManagementDAOFactory.getDataSource());
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
log.error( log.error("Exception occurred while initializing mobile device management database schema", e);
"Exception occurred while initializing mobile device management database schema",
e);
} }
} }
@ -104,18 +106,13 @@ public class MobileDeviceManagementServiceComponent {
bundleContext.registerService(DeviceManagerService.class.getName(), bundleContext.registerService(DeviceManagerService.class.getName(),
new WindowsDeviceManagerService(), null); new WindowsDeviceManagerService(), null);
/* Initialize all API configurations with corresponding API Providers */ serverStartupObserverRef = bundleContext.registerService(ServerStartupObserver.class,
this.initAPIConfigs(); new MobileDeviceManagementStartupObserver(), null);
/* Publish all mobile device management related JAX-RS services as APIs */
this.publishAPIs();
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug( log.debug("Mobile Device Management Service Component has been successfully activated");
"Mobile Device Management Service Component has been successfully activated");
} }
} catch (Throwable e) { } catch (Throwable e) {
log.error("Error occurred while activating Mobile Device Management Service Component", log.error("Error occurred while activating Mobile Device Management Service Component", e);
e);
} }
} }
@ -124,11 +121,10 @@ public class MobileDeviceManagementServiceComponent {
log.debug("De-activating Mobile Device Management Service Component"); log.debug("De-activating Mobile Device Management Service Component");
} }
try { try {
BundleContext bundleContext = ctx.getBundleContext();
androidServiceRegRef.unregister(); androidServiceRegRef.unregister();
iOSServiceRegRef.unregister(); iOSServiceRegRef.unregister();
windowsServiceRegRef.unregister(); windowsServiceRegRef.unregister();
serverStartupObserverRef.unregister();
/* Removing all APIs published upon start-up for mobile device management related JAX-RS /* Removing all APIs published upon start-up for mobile device management related JAX-RS
services */ services */
@ -142,32 +138,6 @@ public class MobileDeviceManagementServiceComponent {
} }
} }
private void initAPIConfigs() throws DeviceManagementException {
List<APIConfig> apiConfigs =
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
getApiPublisherConfig().getAPIs();
for (APIConfig apiConfig : apiConfigs) {
try {
APIProvider provider =
APIManagerFactory.getInstance().getAPIProvider(apiConfig.getOwner());
apiConfig.init(provider);
} catch (APIManagementException e) {
throw new DeviceManagementException(
"Error occurred while initializing API Config '" +
apiConfig.getName() + "'", e);
}
}
}
private void publishAPIs() throws DeviceManagementException {
List<APIConfig> apiConfigs =
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
getApiPublisherConfig().getAPIs();
for (APIConfig apiConfig : apiConfigs) {
DeviceManagementAPIPublisherUtil.publishAPI(apiConfig);
}
}
private void removeAPIs() throws DeviceManagementException { private void removeAPIs() throws DeviceManagementException {
List<APIConfig> apiConfigs = List<APIConfig> apiConfigs =
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig(). MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().

@ -1,5 +1,5 @@
product.name=WSO2 Mobile Device Manager product.name=WSO2 Mobile Device Manager
product.version=1.0.0-SNAPSHOT product.version=2.0.0-SNAPSHOT
product.key=MDM product.key=MDM
hotdeployment=true hotdeployment=true
hotupdate=true hotupdate=true

Loading…
Cancel
Save