mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Added operation support for Android
This commit is contained in:
parent
877ef213e1
commit
eb0fd6dc31
@ -28,12 +28,11 @@ public class MobileDataSourceConfig {
|
||||
private JNDILookupDefinition jndiLookupDefinition;
|
||||
|
||||
@XmlElement(name = "JndiLookupDefinition", nillable = true)
|
||||
public JNDILookupDefinition getJndiLookupDefintion() {
|
||||
public JNDILookupDefinition getJndiLookupDefinition() {
|
||||
return jndiLookupDefinition;
|
||||
}
|
||||
|
||||
public void setJndiLookupDefinition(JNDILookupDefinition jndiLookupDefinition) {
|
||||
this.jndiLookupDefinition = jndiLookupDefinition;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -19,81 +19,108 @@ package org.wso2.carbon.device.mgt.mobile.dao;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.mobile.DataSourceListener;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.JNDILookupDefinition;
|
||||
import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.*;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.internal.MobileDeviceManagementBundleActivator;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Factory class used to create MobileDeviceManagement related DAO objects.
|
||||
*/
|
||||
public class MobileDeviceManagementDAOFactory implements DataSourceListener {
|
||||
public class MobileDeviceManagementDAOFactory {
|
||||
|
||||
private static DataSource dataSource;
|
||||
private static MobileDataSourceConfig mobileDataSourceConfig;
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementDAOFactory.class);
|
||||
private static DataSource dataSource;
|
||||
private static MobileDataSourceConfig mobileDataSourceConfig;
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementDAOFactory.class);
|
||||
|
||||
public MobileDeviceManagementDAOFactory() {
|
||||
public MobileDeviceManagementDAOFactory() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void init() throws DeviceManagementException {
|
||||
dataSource = MobileDeviceManagementDAOUtil.resolveDataSource(mobileDataSourceConfig);
|
||||
if (dataSource != null) {
|
||||
MobileDeviceManagementDAOUtil.createDataSource(dataSource);
|
||||
} else {
|
||||
MobileDeviceManagementBundleActivator.registerDataSourceListener(this);
|
||||
}
|
||||
}
|
||||
public static void init() {
|
||||
try {
|
||||
dataSource = MobileDeviceManagementDAOFactory.resolveDataSource(mobileDataSourceConfig);
|
||||
} catch (DeviceManagementException e) {
|
||||
log.error("Exception occurred while initializing the mobile datasource.",e);
|
||||
}
|
||||
}
|
||||
|
||||
public static MobileDeviceDAO getMobileDeviceDAO() {
|
||||
return new MobileDeviceDAOImpl(dataSource);
|
||||
}
|
||||
/**
|
||||
* Resolve data source from the data source definition.
|
||||
*
|
||||
* @param config Mobile data source configuration
|
||||
* @return data source resolved from the data source definition
|
||||
*/
|
||||
private static DataSource resolveDataSource(MobileDataSourceConfig config)
|
||||
throws DeviceManagementException {
|
||||
DataSource dataSource = null;
|
||||
if (config == null) {
|
||||
throw new RuntimeException("Device Management Repository data source configuration " +
|
||||
"is null and thus, is not initialized");
|
||||
}
|
||||
JNDILookupDefinition jndiConfig = config.getJndiLookupDefinition();
|
||||
if (jndiConfig != null) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Initializing Device Management Repository data source using the JNDI " +
|
||||
"Lookup Definition");
|
||||
}
|
||||
List<JNDILookupDefinition.JNDIProperty> jndiPropertyList =
|
||||
jndiConfig.getJndiProperties();
|
||||
if (jndiPropertyList != null) {
|
||||
Hashtable<Object, Object> jndiProperties = new Hashtable<Object, Object>();
|
||||
for (JNDILookupDefinition.JNDIProperty prop : jndiPropertyList) {
|
||||
jndiProperties.put(prop.getName(), prop.getValue());
|
||||
}
|
||||
dataSource =
|
||||
MobileDeviceManagementDAOUtil
|
||||
.lookupDataSource(jndiConfig.getJndiName(), jndiProperties);
|
||||
} else {
|
||||
dataSource = MobileDeviceManagementDAOUtil
|
||||
.lookupDataSource(jndiConfig.getJndiName(), null);
|
||||
}
|
||||
}
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
public static MobileOperationDAO getMobileOperationDAO() {
|
||||
return new MobileOperationDAOImpl(dataSource);
|
||||
}
|
||||
public static MobileDeviceDAO getMobileDeviceDAO() {
|
||||
return new MobileDeviceDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static MobileOperationPropertyDAO getMobileOperationPropertyDAO() {
|
||||
return new MobileOperationPropertyDAOImpl(dataSource);
|
||||
}
|
||||
public static MobileOperationDAO getMobileOperationDAO() {
|
||||
return new MobileOperationDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static MobileDeviceOperationDAO getMobileDeviceOperationDAO() {
|
||||
return new MobileDeviceOperationDAOImpl(dataSource);
|
||||
}
|
||||
public static MobileOperationPropertyDAO getMobileOperationPropertyDAO() {
|
||||
return new MobileOperationPropertyDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static FeatureDAO getFeatureDAO() {
|
||||
return new FeatureDAOImpl(dataSource);
|
||||
}
|
||||
public static MobileDeviceOperationDAO getMobileDeviceOperationDAO() {
|
||||
return new MobileDeviceOperationDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static FeaturePropertyDAO getFeaturePropertyDAO() {
|
||||
return new FeaturePropertyDAOImpl(dataSource);
|
||||
}
|
||||
public static FeatureDAO getFeatureDAO() {
|
||||
return new FeatureDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static MobileDataSourceConfig getMobileDeviceManagementConfig() {
|
||||
return mobileDataSourceConfig;
|
||||
}
|
||||
public static FeaturePropertyDAO getFeaturePropertyDAO() {
|
||||
return new FeaturePropertyDAOImpl(dataSource);
|
||||
}
|
||||
|
||||
public static void setMobileDataSourceConfig(
|
||||
MobileDataSourceConfig mobileDataSourceConfig) {
|
||||
MobileDeviceManagementDAOFactory.mobileDataSourceConfig =
|
||||
mobileDataSourceConfig;
|
||||
}
|
||||
public static MobileDataSourceConfig getMobileDeviceManagementConfig() {
|
||||
return mobileDataSourceConfig;
|
||||
}
|
||||
|
||||
public static DataSource getDataSource() {
|
||||
return dataSource;
|
||||
}
|
||||
public static void setMobileDataSourceConfig(
|
||||
MobileDataSourceConfig mobileDataSourceConfig) {
|
||||
MobileDeviceManagementDAOFactory.mobileDataSourceConfig =
|
||||
mobileDataSourceConfig;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyObserver() {
|
||||
try {
|
||||
dataSource = MobileDeviceManagementDAOUtil.resolveDataSource(mobileDataSourceConfig);
|
||||
MobileDeviceManagementDAOUtil.createDataSource(dataSource);
|
||||
} catch (DeviceManagementException e) {
|
||||
log.error("Error occurred while resolving mobile device management metadata repository data source", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
public static DataSource getDataSource() {
|
||||
return dataSource;
|
||||
}
|
||||
}
|
||||
@ -52,7 +52,7 @@ public class MobileDeviceOperationDAOImpl implements MobileDeviceOperationDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String createDBQuery =
|
||||
"INSERT INTO MBL_DEVICE_OPERATION(DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE) VALUES (?, ?, ?, ?)";
|
||||
"INSERT INTO MBL_DEVICE_OPERATION_MAPPING (DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE) VALUES (?, ?, ?, ?)";
|
||||
|
||||
stmt = conn.prepareStatement(createDBQuery);
|
||||
stmt.setString(1, deviceOperation.getDeviceId());
|
||||
@ -86,7 +86,7 @@ public class MobileDeviceOperationDAOImpl implements MobileDeviceOperationDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String updateDBQuery =
|
||||
"UPDATE MBL_DEVICE_OPERATION SET SENT_DATE = ?, RECEIVED_DATE = ? WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
"UPDATE MBL_DEVICE_OPERATION_MAPPING SET SENT_DATE = ?, RECEIVED_DATE = ? WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
stmt = conn.prepareStatement(updateDBQuery);
|
||||
stmt.setLong(1, deviceOperation.getSentDate());
|
||||
stmt.setLong(2, deviceOperation.getReceivedDate());
|
||||
@ -117,7 +117,7 @@ public class MobileDeviceOperationDAOImpl implements MobileDeviceOperationDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String deleteDBQuery =
|
||||
"DELETE FROM MBL_DEVICE_OPERATION WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
"DELETE FROM MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
stmt = conn.prepareStatement(deleteDBQuery);
|
||||
stmt.setString(1, deviceId);
|
||||
stmt.setInt(2, operationId);
|
||||
@ -146,7 +146,7 @@ public class MobileDeviceOperationDAOImpl implements MobileDeviceOperationDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE FROM MBL_DEVICE_OPERATION WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE FROM MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, deviceId);
|
||||
stmt.setInt(2, operationId);
|
||||
@ -181,7 +181,7 @@ public class MobileDeviceOperationDAOImpl implements MobileDeviceOperationDAO {
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String selectDBQuery =
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE FROM MBL_DEVICE_OPERATION WHERE DEVICE_ID = ?";
|
||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE FROM MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setString(1, deviceId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
|
||||
@ -138,11 +138,13 @@ public class MobileOperationDAOImpl implements MobileOperationDAO {
|
||||
String selectDBQuery =
|
||||
"SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM MBL_OPERATION WHERE OPERATION_ID = ?";
|
||||
stmt = conn.prepareStatement(selectDBQuery);
|
||||
stmt.setInt(1, operation.getOperationId());
|
||||
stmt.setInt(1, operationId);
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
while (resultSet.next()) {
|
||||
operation = new MobileOperation();
|
||||
operation.setOperationId(resultSet.getInt(1));
|
||||
operation.setFeatureCode(resultSet.getString(2));
|
||||
operation.setCreatedDate(resultSet.getLong(3));
|
||||
break;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
|
||||
@ -39,40 +39,6 @@ public class MobileDeviceManagementDAOUtil {
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementDAOUtil.class);
|
||||
|
||||
/**
|
||||
* Resolve data source from the data source definition.
|
||||
*
|
||||
* @param config Mobile data source configuration
|
||||
* @return data source resolved from the data source definition
|
||||
*/
|
||||
public static DataSource resolveDataSource(MobileDataSourceConfig config) throws DeviceManagementException {
|
||||
DataSource dataSource = null;
|
||||
if (config == null) {
|
||||
throw new RuntimeException("Device Management Repository data source configuration " +
|
||||
"is null and thus, is not initialized");
|
||||
}
|
||||
JNDILookupDefinition jndiConfig = config.getJndiLookupDefintion();
|
||||
if (jndiConfig != null) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Initializing Device Management Repository data source using the JNDI " +
|
||||
"Lookup Definition");
|
||||
}
|
||||
List<JNDILookupDefinition.JNDIProperty> jndiPropertyList =
|
||||
jndiConfig.getJndiProperties();
|
||||
if (jndiPropertyList != null) {
|
||||
Hashtable<Object, Object> jndiProperties = new Hashtable<Object, Object>();
|
||||
for (JNDILookupDefinition.JNDIProperty prop : jndiPropertyList) {
|
||||
jndiProperties.put(prop.getName(), prop.getValue());
|
||||
}
|
||||
dataSource =
|
||||
MobileDeviceManagementDAOUtil.lookupDataSource(jndiConfig.getJndiName(), jndiProperties);
|
||||
} else {
|
||||
dataSource = MobileDeviceManagementDAOUtil.lookupDataSource(jndiConfig.getJndiName(), null);
|
||||
}
|
||||
}
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
public static DataSource lookupDataSource(String dataSourceName,
|
||||
final Hashtable<Object, Object> jndiProperties)
|
||||
throws DeviceManagementException {
|
||||
@ -113,27 +79,6 @@ public class MobileDeviceManagementDAOUtil {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the creation of mobile device management schema if -Dsetup has provided.
|
||||
*
|
||||
* @param dataSource Mobile data source
|
||||
*/
|
||||
public static void createDataSource(DataSource dataSource) {
|
||||
String setupOption = System.getProperty("setup");
|
||||
if (setupOption != null) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug(
|
||||
"-Dsetup is enabled. Mobile Device management repository schema initialization is about " +
|
||||
"to begin");
|
||||
}
|
||||
try {
|
||||
MobileDeviceManagementDAOUtil.setupMobileDeviceManagementSchema(dataSource);
|
||||
} catch (DeviceManagementException e) {
|
||||
log.error("Exception occurred while initializing mobile device management database schema", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the mobile device management schema.
|
||||
*
|
||||
|
||||
@ -58,7 +58,7 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
||||
mobileDeviceOperation.setDeviceId(deviceIdentifier.getId());
|
||||
status = MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO()
|
||||
.addMobileDeviceOperation(
|
||||
new MobileDeviceOperation());
|
||||
mobileDeviceOperation);
|
||||
}
|
||||
}
|
||||
} catch (MobileDeviceManagementDAOException e) {
|
||||
@ -75,6 +75,7 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
||||
throws OperationManagementException {
|
||||
List<Operation> operations = new ArrayList<Operation>();
|
||||
List<MobileDeviceOperation> mobileDeviceOperations = null;
|
||||
List<MobileOperationProperty> operationProperties = null;
|
||||
MobileOperation mobileOperation = null;
|
||||
try {
|
||||
mobileDeviceOperations = MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO()
|
||||
@ -88,6 +89,11 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
||||
mobileOperation = MobileDeviceManagementDAOFactory.getMobileOperationDAO()
|
||||
.getMobileOperation(
|
||||
operationId);
|
||||
operationProperties =
|
||||
MobileDeviceManagementDAOFactory.getMobileOperationPropertyDAO()
|
||||
.getAllMobileOperationPropertiesOfOperation(
|
||||
operationId);
|
||||
mobileOperation.setProperties(operationProperties);
|
||||
operations.add(MobileDeviceManagementUtil
|
||||
.convertMobileOperationToOperation(mobileOperation));
|
||||
}
|
||||
|
||||
@ -31,6 +31,7 @@ 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.datasource.MobileDataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.android.AndroidDeviceManagerService;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.ios.IOSDeviceManagerService;
|
||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.WindowsDeviceManagerService;
|
||||
@ -54,112 +55,134 @@ import java.util.List;
|
||||
*/
|
||||
public class MobileDeviceManagementServiceComponent {
|
||||
|
||||
private ServiceRegistration androidServiceRegRef;
|
||||
private ServiceRegistration iOSServiceRegRef;
|
||||
private ServiceRegistration windowsServiceRegRef;
|
||||
private ServiceRegistration androidServiceRegRef;
|
||||
private ServiceRegistration iOSServiceRegRef;
|
||||
private ServiceRegistration windowsServiceRegRef;
|
||||
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementServiceComponent.class);
|
||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementServiceComponent.class);
|
||||
|
||||
protected void activate(ComponentContext ctx) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Activating Mobile Device Management Service Component");
|
||||
}
|
||||
try {
|
||||
BundleContext bundleContext = ctx.getBundleContext();
|
||||
protected void activate(ComponentContext ctx) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Activating Mobile Device Management Service Component");
|
||||
}
|
||||
try {
|
||||
BundleContext bundleContext = ctx.getBundleContext();
|
||||
|
||||
/* Initialize the datasource configuration */
|
||||
MobileDeviceConfigurationManager.getInstance().initConfig();
|
||||
MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance()
|
||||
.getMobileDeviceManagementConfig();
|
||||
MobileDataSourceConfig dsConfig =
|
||||
config.getMobileDeviceMgtRepository().getMobileDataSourceConfig();
|
||||
MobileDeviceConfigurationManager.getInstance().initConfig();
|
||||
MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance()
|
||||
.getMobileDeviceManagementConfig();
|
||||
MobileDataSourceConfig dsConfig =
|
||||
config.getMobileDeviceMgtRepository().getMobileDataSourceConfig();
|
||||
|
||||
MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig);
|
||||
MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig);
|
||||
MobileDeviceManagementDAOFactory.init();
|
||||
String setupOption = System.getProperty("setup");
|
||||
if (setupOption != null) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug(
|
||||
"-Dsetup is enabled. Mobile Device management repository schema initialization is about " +
|
||||
"to begin");
|
||||
}
|
||||
try {
|
||||
MobileDeviceManagementDAOUtil.setupMobileDeviceManagementSchema(
|
||||
MobileDeviceManagementDAOFactory.getDataSource());
|
||||
} catch (DeviceManagementException e) {
|
||||
log.error(
|
||||
"Exception occurred while initializing mobile device management database schema",
|
||||
e);
|
||||
}
|
||||
}
|
||||
|
||||
androidServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new AndroidDeviceManagerService(), null);
|
||||
iOSServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new IOSDeviceManagerService(), null);
|
||||
windowsServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new WindowsDeviceManagerService(), null);
|
||||
androidServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new AndroidDeviceManagerService(), null);
|
||||
iOSServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new IOSDeviceManagerService(), null);
|
||||
windowsServiceRegRef =
|
||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||
new WindowsDeviceManagerService(), null);
|
||||
|
||||
/* Initialize all API configurations with corresponding API Providers */
|
||||
this.initAPIConfigs();
|
||||
/* Publish all mobile device management related JAX-RS services as APIs */
|
||||
this.publishAPIs();
|
||||
this.initAPIConfigs();
|
||||
/* Publish all mobile device management related JAX-RS services as APIs */
|
||||
this.publishAPIs();
|
||||
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Mobile Device Management Service Component has been successfully activated");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
log.error("Error occurred while activating Mobile Device Management Service Component", e);
|
||||
}
|
||||
}
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug(
|
||||
"Mobile Device Management Service Component has been successfully activated");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
log.error("Error occurred while activating Mobile Device Management Service Component",
|
||||
e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void deactivate(ComponentContext ctx) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("De-activating Mobile Device Management Service Component");
|
||||
}
|
||||
try {
|
||||
BundleContext bundleContext = ctx.getBundleContext();
|
||||
protected void deactivate(ComponentContext ctx) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("De-activating Mobile Device Management Service Component");
|
||||
}
|
||||
try {
|
||||
BundleContext bundleContext = ctx.getBundleContext();
|
||||
|
||||
androidServiceRegRef.unregister();
|
||||
iOSServiceRegRef.unregister();
|
||||
windowsServiceRegRef.unregister();
|
||||
androidServiceRegRef.unregister();
|
||||
iOSServiceRegRef.unregister();
|
||||
windowsServiceRegRef.unregister();
|
||||
|
||||
/* Removing all APIs published upon start-up for mobile device management related JAX-RS
|
||||
services */
|
||||
this.removeAPIs();
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Mobile Device Management Service Component has been successfully de-activated");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
log.error("Error occurred while de-activating Mobile Device Management bundle", e);
|
||||
}
|
||||
}
|
||||
this.removeAPIs();
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug(
|
||||
"Mobile Device Management Service Component has been successfully de-activated");
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
log.error("Error occurred while de-activating Mobile Device Management bundle", e);
|
||||
}
|
||||
}
|
||||
|
||||
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 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 publishAPIs() throws DeviceManagementException {
|
||||
List<APIConfig> apiConfigs =
|
||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||
getApiPublisherConfig().getAPIs();
|
||||
for (APIConfig apiConfig : apiConfigs) {
|
||||
DeviceManagementAPIPublisherUtil.publishAPI(apiConfig);
|
||||
}
|
||||
}
|
||||
|
||||
private void removeAPIs() throws DeviceManagementException {
|
||||
List<APIConfig> apiConfigs =
|
||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||
getApiPublisherConfig().getAPIs();
|
||||
for (APIConfig apiConfig : apiConfigs) {
|
||||
DeviceManagementAPIPublisherUtil.removeAPI(apiConfig);
|
||||
}
|
||||
}
|
||||
private void removeAPIs() throws DeviceManagementException {
|
||||
List<APIConfig> apiConfigs =
|
||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||
getApiPublisherConfig().getAPIs();
|
||||
for (APIConfig apiConfig : apiConfigs) {
|
||||
DeviceManagementAPIPublisherUtil.removeAPI(apiConfig);
|
||||
}
|
||||
}
|
||||
|
||||
protected void setAPIManagerConfigurationService(APIManagerConfigurationService service) {
|
||||
//do nothing
|
||||
}
|
||||
protected void setAPIManagerConfigurationService(APIManagerConfigurationService service) {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
protected void unsetAPIManagerConfigurationService(APIManagerConfigurationService service) {
|
||||
//do nothing
|
||||
}
|
||||
protected void unsetAPIManagerConfigurationService(APIManagerConfigurationService service) {
|
||||
//do nothing
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -210,7 +210,7 @@
|
||||
|
||||
<!-- Copying Device Management related dbscripts -->
|
||||
<fileSet>
|
||||
<directory>../p2-profile-gen/target/wso2carbon-core-${carbon.kernel.version}/dbscripts/cdm</directory>
|
||||
<directory>../distribution/src/repository/dbscripts/cdm</directory>
|
||||
<outputDirectory>wso2cdm-${project.version}/dbscripts/cdm</outputDirectory>
|
||||
<includes>
|
||||
<include>*/**</include>
|
||||
@ -460,5 +460,15 @@
|
||||
<fileMode>644</fileMode>
|
||||
</file>
|
||||
|
||||
<!-- Copying H2 database related files corresponding to default Mobile Device management repository schema -->
|
||||
<file>
|
||||
<source>
|
||||
../distribution/src/repository/database/WSO2MobileDM_DB.h2.db
|
||||
</source>
|
||||
<outputDirectory>${pom.artifactId}-${pom.version}/repository/database</outputDirectory>
|
||||
<destName>WSO2MobileDM_DB.h2.db</destName>
|
||||
<fileMode>644</fileMode>
|
||||
</file>
|
||||
|
||||
</files>
|
||||
</assembly>
|
||||
|
||||
Binary file not shown.
@ -23,4 +23,4 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE
|
||||
REFERENCES DM_DEVICE_TYPE (ID ) ON DELETE NO ACTION ON UPDATE NO ACTION
|
||||
);
|
||||
-- TO:DO - Remove this INSERT sql statement.
|
||||
Insert into DM_DEVICE_TYPE (ID,NAME) VALUES (1, 'android');
|
||||
Insert into DM_DEVICE_TYPE (NAME) VALUES ('android');
|
||||
|
||||
@ -31,13 +31,8 @@ CREATE TABLE IF NOT EXISTS `MBL_FEATURE` (
|
||||
CREATE TABLE IF NOT EXISTS `MBL_OPERATION` (
|
||||
`OPERATION_ID` INT NOT NULL AUTO_INCREMENT ,
|
||||
`FEATURE_CODE` VARCHAR(45) NOT NULL ,
|
||||
`CREATED_DATE` INT NULL ,
|
||||
PRIMARY KEY (`OPERATION_ID`) ,
|
||||
CONSTRAINT `fk_MBL_OPERATION_MBL_FEATURES1`
|
||||
FOREIGN KEY (`FEATURE_CODE` )
|
||||
REFERENCES `MBL_FEATURE` (`CODE` )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION);
|
||||
`CREATED_DATE` BIGINT NULL ,
|
||||
PRIMARY KEY (`OPERATION_ID`));
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `MBL_DEVICE_OPERATION_MAPPING`
|
||||
@ -45,8 +40,8 @@ CREATE TABLE IF NOT EXISTS `MBL_OPERATION` (
|
||||
CREATE TABLE IF NOT EXISTS `MBL_DEVICE_OPERATION_MAPPING` (
|
||||
`DEVICE_ID` VARCHAR(45) NOT NULL ,
|
||||
`OPERATION_ID` INT NOT NULL ,
|
||||
`SENT_DATE` INT NULL ,
|
||||
`RECEIVED_DATE` INT NULL ,
|
||||
`SENT_DATE` BIGINT NULL ,
|
||||
`RECEIVED_DATE` BIGINT NULL ,
|
||||
PRIMARY KEY (`DEVICE_ID`, `OPERATION_ID`) ,
|
||||
CONSTRAINT `fk_MBL_DEVICE_OPERATION_MBL_DEVICE`
|
||||
FOREIGN KEY (`DEVICE_ID` )
|
||||
|
||||
@ -10,6 +10,8 @@ CREATE TABLE IF NOT EXISTS `MBL_DEVICE` (
|
||||
`OS_VERSION` VARCHAR(45) NULL DEFAULT NULL ,
|
||||
`DEVICE_MODEL` VARCHAR(45) NULL DEFAULT NULL ,
|
||||
`VENDOR` VARCHAR(45) NULL DEFAULT NULL ,
|
||||
`LATITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`LONGITUDE` VARCHAR(45) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`MOBILE_DEVICE_ID`) );
|
||||
|
||||
|
||||
@ -18,7 +20,7 @@ CREATE TABLE IF NOT EXISTS `MBL_DEVICE` (
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_FEATURE` (
|
||||
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT ,
|
||||
`CODE` VARCHAR(45) NULL ,
|
||||
`CODE` VARCHAR(45) NOT NULL ,
|
||||
`NAME` VARCHAR(100) NULL ,
|
||||
`DESCRIPTION` VARCHAR(200) NULL ,
|
||||
PRIMARY KEY (`FEATURE_ID`) );
|
||||
@ -28,23 +30,18 @@ CREATE TABLE IF NOT EXISTS `MBL_FEATURE` (
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_OPERATION` (
|
||||
`OPERATION_ID` INT NOT NULL AUTO_INCREMENT ,
|
||||
`FEATURE_CODE` VARCHAR(45) NULL ,
|
||||
`CREATED_DATE` INT NULL ,
|
||||
PRIMARY KEY (`OPERATION_ID`) ,
|
||||
CONSTRAINT `fk_MBL_OPERATION_MBL_FEATURES1`
|
||||
FOREIGN KEY (`FEATURE_CODE` )
|
||||
REFERENCES `MBL_FEATURE` (`CODE` )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION);
|
||||
`FEATURE_CODE` VARCHAR(45) NOT NULL ,
|
||||
`CREATED_DATE` LONG NULL ,
|
||||
PRIMARY KEY (`OPERATION_ID`));
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `MBL_DEVICE_OPERATION_MAPING`
|
||||
-- Table `MBL_DEVICE_OPERATION_MAPPING`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_DEVICE_OPERATION_MAPING` (
|
||||
CREATE TABLE IF NOT EXISTS `MBL_DEVICE_OPERATION_MAPPING` (
|
||||
`DEVICE_ID` VARCHAR(45) NOT NULL ,
|
||||
`OPERATION_ID` INT NOT NULL ,
|
||||
`SENT_DATE` INT NULL ,
|
||||
`RECEIVED_DATE` INT NULL ,
|
||||
`SENT_DATE` LONG NULL ,
|
||||
`RECEIVED_DATE` LONG NULL ,
|
||||
PRIMARY KEY (`DEVICE_ID`, `OPERATION_ID`) ,
|
||||
CONSTRAINT `fk_MBL_DEVICE_OPERATION_MBL_DEVICE`
|
||||
FOREIGN KEY (`DEVICE_ID` )
|
||||
@ -61,11 +58,10 @@ CREATE TABLE IF NOT EXISTS `MBL_DEVICE_OPERATION_MAPING` (
|
||||
-- Table `MBL_OPERATION_PROPERTY`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_OPERATION_PROPERTY` (
|
||||
`OPERATION_PROPERTY_ID` INT NOT NULL AUTO_INCREMENT ,
|
||||
`OPERATION_ID` INT NULL ,
|
||||
`PROPERTY_ID` INT NULL ,
|
||||
`OPERATION_ID` INT NOT NULL ,
|
||||
`PROPERTY` VARCHAR(45) NOT NULL ,
|
||||
`VALUE` TEXT NULL ,
|
||||
PRIMARY KEY (`OPERATION_PROPERTY_ID`) ,
|
||||
PRIMARY KEY (`OPERATION_ID`, `PROPERTY`) ,
|
||||
CONSTRAINT `fk_MBL_OPERATION_PROPERTY_MBL_OPERATION1`
|
||||
FOREIGN KEY (`OPERATION_ID` )
|
||||
REFERENCES `MBL_OPERATION` (`OPERATION_ID` )
|
||||
@ -76,13 +72,11 @@ CREATE TABLE IF NOT EXISTS `MBL_OPERATION_PROPERTY` (
|
||||
-- Table `MBL_FEATURE_PROPERTY`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `MBL_FEATURE_PROPERTY` (
|
||||
`PROPERTY_ID` INT NOT NULL AUTO_INCREMENT ,
|
||||
`PROPERTY` VARCHAR(100) NULL ,
|
||||
`FEATURE_ID` VARCHAR(45) NULL ,
|
||||
PRIMARY KEY (`PROPERTY_ID`) ,
|
||||
`PROPERTY` VARCHAR(45) NOT NULL ,
|
||||
`FEATURE_ID` VARCHAR(45) NOT NULL ,
|
||||
PRIMARY KEY (`PROPERTY`) ,
|
||||
CONSTRAINT `fk_MBL_FEATURE_PROPERTY_MBL_FEATURE1`
|
||||
FOREIGN KEY (`FEATURE_ID` )
|
||||
REFERENCES `MBL_FEATURE` (`FEATURE_ID` )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION);
|
||||
|
||||
|
||||
@ -39,112 +39,113 @@ import javax.ws.rs.core.Response;
|
||||
@Consumes({ "application/json", "application/xml" })
|
||||
public class Enrollment {
|
||||
|
||||
private static Log log = LogFactory.getLog(Enrollment.class);
|
||||
private static Log log = LogFactory.getLog(Enrollment.class);
|
||||
|
||||
@POST
|
||||
public Message enrollDevice(org.wso2.carbon.device.mgt.common.Device device) throws AndroidAgentException {
|
||||
@POST
|
||||
public Message enrollDevice(org.wso2.carbon.device.mgt.common.Device device)
|
||||
throws AndroidAgentException {
|
||||
|
||||
Message responseMsg = new Message();
|
||||
Message responseMsg = new Message();
|
||||
|
||||
try {
|
||||
device.setType(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
|
||||
AndroidAPIUtils.getDeviceManagementService().enrollDevice(device);
|
||||
Response.status(Response.Status.CREATED);
|
||||
responseMsg.setResponseMessage("Device enrollment succeeded");
|
||||
return responseMsg;
|
||||
} catch (DeviceManagementServiceException deviceServiceMgtEx) {
|
||||
String errorMsg = "Device management service error";
|
||||
log.error(errorMsg, deviceServiceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceServiceMgtEx);
|
||||
} catch (DeviceManagementException deviceMgtEx) {
|
||||
String errorMsg = "Error occurred while enrolling the device";
|
||||
log.error(errorMsg, deviceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceMgtEx);
|
||||
}
|
||||
}
|
||||
try {
|
||||
device.setType(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
|
||||
AndroidAPIUtils.getDeviceManagementService().enrollDevice(device);
|
||||
Response.status(Response.Status.CREATED);
|
||||
responseMsg.setResponseMessage("Device enrollment succeeded");
|
||||
return responseMsg;
|
||||
} catch (DeviceManagementServiceException deviceServiceMgtEx) {
|
||||
String errorMsg = "Device management service error";
|
||||
log.error(errorMsg, deviceServiceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceServiceMgtEx);
|
||||
} catch (DeviceManagementException deviceMgtEx) {
|
||||
String errorMsg = "Error occurred while enrolling the device";
|
||||
log.error(errorMsg, deviceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceMgtEx);
|
||||
}
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}")
|
||||
public Message isEnrolled(@PathParam("id") String id) throws AndroidAgentException {
|
||||
@GET
|
||||
@Path("{id}")
|
||||
public Message isEnrolled(@PathParam("id") String id) throws AndroidAgentException {
|
||||
|
||||
boolean result;
|
||||
Message responseMsg = new Message();
|
||||
DeviceIdentifier deviceIdentifier = AndroidAPIUtils.convertToDeviceIdentifierObject(id);
|
||||
boolean result;
|
||||
Message responseMsg = new Message();
|
||||
DeviceIdentifier deviceIdentifier = AndroidAPIUtils.convertToDeviceIdentifierObject(id);
|
||||
|
||||
try {
|
||||
result = AndroidAPIUtils.getDeviceManagementService().isEnrolled(deviceIdentifier);
|
||||
if (result) {
|
||||
responseMsg.setResponseMessage("Device has already enrolled");
|
||||
} else {
|
||||
Response.status(Response.Status.NOT_FOUND);
|
||||
responseMsg.setResponseMessage("Device not found");
|
||||
}
|
||||
return responseMsg;
|
||||
} catch (DeviceManagementServiceException deviceServiceMgtEx) {
|
||||
String errorMsg = "Device management service error";
|
||||
log.error(errorMsg, deviceServiceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceServiceMgtEx);
|
||||
} catch (DeviceManagementException deviceMgtEx) {
|
||||
String errorMsg = "Error occurred while enrollment of the device.";
|
||||
log.error(errorMsg, deviceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceMgtEx);
|
||||
}
|
||||
}
|
||||
try {
|
||||
result = AndroidAPIUtils.getDeviceManagementService().isEnrolled(deviceIdentifier);
|
||||
if (result) {
|
||||
responseMsg.setResponseMessage("Device has already enrolled");
|
||||
} else {
|
||||
Response.status(Response.Status.NOT_FOUND);
|
||||
responseMsg.setResponseMessage("Device not found");
|
||||
}
|
||||
return responseMsg;
|
||||
} catch (DeviceManagementServiceException deviceServiceMgtEx) {
|
||||
String errorMsg = "Device management service error";
|
||||
log.error(errorMsg, deviceServiceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceServiceMgtEx);
|
||||
} catch (DeviceManagementException deviceMgtEx) {
|
||||
String errorMsg = "Error occurred while enrollment of the device.";
|
||||
log.error(errorMsg, deviceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceMgtEx);
|
||||
}
|
||||
}
|
||||
|
||||
@PUT
|
||||
@Path("{id}")
|
||||
public Message modifyEnrollment(@PathParam("id") String id, org.wso2.carbon.device.mgt.common.Device device)
|
||||
throws AndroidAgentException {
|
||||
@PUT
|
||||
@Path("{id}")
|
||||
public Message modifyEnrollment(@PathParam("id") String id,
|
||||
org.wso2.carbon.device.mgt.common.Device device)
|
||||
throws AndroidAgentException {
|
||||
|
||||
boolean result;
|
||||
Message responseMsg = new Message();
|
||||
try {
|
||||
device.setType(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
|
||||
result = AndroidAPIUtils.getDeviceManagementService().modifyEnrollment(device);
|
||||
if (result) {
|
||||
responseMsg.setResponseMessage("Device enrollment has updated successfully");
|
||||
Response.status(Response.Status.ACCEPTED);
|
||||
} else {
|
||||
responseMsg.setResponseMessage("Device not found for enrollment");
|
||||
Response.status(Response.Status.NOT_MODIFIED);
|
||||
}
|
||||
return responseMsg;
|
||||
} catch (DeviceManagementServiceException deviceServiceMgtEx) {
|
||||
String errorMsg = "Device management service error";
|
||||
log.error(errorMsg, deviceServiceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceServiceMgtEx);
|
||||
} catch (DeviceManagementException deviceMgtEx) {
|
||||
String errorMsg = "Error occurred while modifying enrollment of the device";
|
||||
log.error(errorMsg, deviceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceMgtEx);
|
||||
}
|
||||
}
|
||||
boolean result;
|
||||
Message responseMsg = new Message();
|
||||
try {
|
||||
device.setType(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
|
||||
result = AndroidAPIUtils.getDeviceManagementService().modifyEnrollment(device);
|
||||
if (result) {
|
||||
responseMsg.setResponseMessage("Device enrollment has updated successfully");
|
||||
Response.status(Response.Status.ACCEPTED);
|
||||
} else {
|
||||
responseMsg.setResponseMessage("Device not found for enrollment");
|
||||
Response.status(Response.Status.NOT_MODIFIED);
|
||||
}
|
||||
return responseMsg;
|
||||
} catch (DeviceManagementServiceException deviceServiceMgtEx) {
|
||||
String errorMsg = "Device management service error";
|
||||
log.error(errorMsg, deviceServiceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceServiceMgtEx);
|
||||
} catch (DeviceManagementException deviceMgtEx) {
|
||||
String errorMsg = "Error occurred while modifying enrollment of the device";
|
||||
log.error(errorMsg, deviceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceMgtEx);
|
||||
}
|
||||
}
|
||||
|
||||
@DELETE
|
||||
@Path("{id}")
|
||||
public Message disEnrollDevice(@PathParam("id") String id) throws AndroidAgentException {
|
||||
@DELETE
|
||||
@Path("{id}")
|
||||
public Message disEnrollDevice(@PathParam("id") String id) throws AndroidAgentException {
|
||||
Message responseMsg = new Message();
|
||||
boolean result;
|
||||
DeviceIdentifier deviceIdentifier = AndroidAPIUtils.convertToDeviceIdentifierObject(id);
|
||||
|
||||
Message responseMsg = new Message();
|
||||
boolean result;
|
||||
DeviceIdentifier deviceIdentifier = AndroidAPIUtils.convertToDeviceIdentifierObject(id);
|
||||
|
||||
try {
|
||||
result = AndroidAPIUtils.getDeviceManagementService().disenrollDevice(deviceIdentifier);
|
||||
if (result) {
|
||||
responseMsg.setResponseMessage("Device has removed successfully");
|
||||
} else {
|
||||
responseMsg.setResponseMessage("Device not found");
|
||||
Response.status(Response.Status.NOT_FOUND);
|
||||
}
|
||||
return responseMsg;
|
||||
} catch (DeviceManagementServiceException deviceServiceMgtEx) {
|
||||
String errorMsg = "Device management service error";
|
||||
log.error(errorMsg, deviceServiceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceServiceMgtEx);
|
||||
} catch (DeviceManagementException deviceMgtEx) {
|
||||
String errorMsg = "Error occurred while dis enrolling the device";
|
||||
log.error(errorMsg, deviceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceMgtEx);
|
||||
}
|
||||
}
|
||||
try {
|
||||
result = AndroidAPIUtils.getDeviceManagementService().disenrollDevice(deviceIdentifier);
|
||||
if (result) {
|
||||
responseMsg.setResponseMessage("Device has removed successfully");
|
||||
} else {
|
||||
responseMsg.setResponseMessage("Device not found");
|
||||
Response.status(Response.Status.NOT_FOUND);
|
||||
}
|
||||
return responseMsg;
|
||||
} catch (DeviceManagementServiceException deviceServiceMgtEx) {
|
||||
String errorMsg = "Device management service error";
|
||||
log.error(errorMsg, deviceServiceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceServiceMgtEx);
|
||||
} catch (DeviceManagementException deviceMgtEx) {
|
||||
String errorMsg = "Error occurred while dis enrolling the device";
|
||||
log.error(errorMsg, deviceMgtEx);
|
||||
throw new AndroidAgentException(errorMsg, deviceMgtEx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,9 +23,9 @@
|
||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
|
||||
|
||||
<jaxrs:server id="customerService" address="/register">
|
||||
<jaxrs:server id="operationService" address="/operations">
|
||||
<jaxrs:serviceBeans>
|
||||
<ref bean="deviceMgtServiceBean"/>
|
||||
<ref bean="operationServiceBean"/>
|
||||
</jaxrs:serviceBeans>
|
||||
<jaxrs:providers>
|
||||
<ref bean="jsonProvider"/>
|
||||
@ -53,6 +53,7 @@
|
||||
|
||||
<bean id="deviceMgtServiceBean" class="org.wso2.cdmserver.mobileservices.android.Device"/>
|
||||
<bean id="enrollmentServiceBean" class="org.wso2.cdmserver.mobileservices.android.Enrollment"/>
|
||||
<bean id="operationServiceBean" class="org.wso2.cdmserver.mobileservices.android.Operation"/>
|
||||
<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
|
||||
<bean id="errorHandler" class="org.wso2.cdmserver.mobileservices.android.common.ErrorHandler"/>
|
||||
</beans>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user