Added Android-sql scripts & Fixed FeatureManager

revert-dabc3590
harshanL 10 years ago
parent 87533c7f0a
commit a10d7ff04f

@ -25,6 +25,7 @@ import org.wso2.carbon.device.mgt.common.spi.DeviceManager;
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException; import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOFactory; import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOFactory;
import org.wso2.carbon.device.mgt.mobile.dto.MobileDevice; import org.wso2.carbon.device.mgt.mobile.dto.MobileDevice;
import org.wso2.carbon.device.mgt.mobile.impl.android.dao.FeatureManagementDAOFactory;
import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil; import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil;
import java.util.ArrayList; import java.util.ArrayList;
@ -35,176 +36,180 @@ import java.util.List;
*/ */
public class AndroidDeviceManager implements DeviceManager { public class AndroidDeviceManager implements DeviceManager {
private MobileDeviceManagementDAOFactory mobileDeviceManagementDAOFactory; private MobileDeviceManagementDAOFactory mobileDeviceManagementDAOFactory;
private static final Log log = LogFactory.getLog(AndroidDeviceManager.class); private static final Log log = LogFactory.getLog(AndroidDeviceManager.class);
public AndroidDeviceManager() { public AndroidDeviceManager() {
mobileDeviceManagementDAOFactory = new MobileDeviceManagementDAOFactory( mobileDeviceManagementDAOFactory = new MobileDeviceManagementDAOFactory(
DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID); DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
} FeatureManagementDAOFactory
.init(mobileDeviceManagementDAOFactory.getDataSource(this.getProviderType()));
@Override }
public String getProviderType() {
return DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID; @Override
} public String getProviderType() {
return DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID;
@Override }
public FeatureManager getFeatureManager() {
return new AndroidFeatureManager(); @Override
} public FeatureManager getFeatureManager() {
return new AndroidFeatureManager();
@Override }
public boolean enrollDevice(Device device) throws DeviceManagementException {
boolean status; @Override
MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device); public boolean enrollDevice(Device device) throws DeviceManagementException {
try { boolean status;
if (log.isDebugEnabled()) { MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device);
log.debug("Enrolling a new Android device : " + device.getDeviceIdentifier()); try {
} if (log.isDebugEnabled()) {
status = mobileDeviceManagementDAOFactory.getMobileDeviceDAO().addMobileDevice( log.debug("Enrolling a new Android device : " + device.getDeviceIdentifier());
mobileDevice); }
} catch (MobileDeviceManagementDAOException e) { status = mobileDeviceManagementDAOFactory.getMobileDeviceDAO().addMobileDevice(
String msg = "Error while enrolling the Android device : " + mobileDevice);
device.getDeviceIdentifier(); } catch (MobileDeviceManagementDAOException e) {
log.error(msg, e); String msg = "Error while enrolling the Android device : " +
throw new DeviceManagementException(msg, e); device.getDeviceIdentifier();
} log.error(msg, e);
return status; throw new DeviceManagementException(msg, e);
} }
return status;
@Override }
public boolean modifyEnrollment(Device device) throws DeviceManagementException {
boolean status; @Override
MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device); public boolean modifyEnrollment(Device device) throws DeviceManagementException {
try { boolean status;
if (log.isDebugEnabled()) { MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device);
log.debug("Modifying the Android device enrollment data"); try {
} if (log.isDebugEnabled()) {
status = mobileDeviceManagementDAOFactory.getMobileDeviceDAO() log.debug("Modifying the Android device enrollment data");
.updateMobileDevice(mobileDevice); }
} catch (MobileDeviceManagementDAOException e) { status = mobileDeviceManagementDAOFactory.getMobileDeviceDAO()
String msg = "Error while updating the enrollment of the Android device : " + .updateMobileDevice(mobileDevice);
device.getDeviceIdentifier(); } catch (MobileDeviceManagementDAOException e) {
log.error(msg, e); String msg = "Error while updating the enrollment of the Android device : " +
throw new DeviceManagementException(msg, e); device.getDeviceIdentifier();
} log.error(msg, e);
return status; throw new DeviceManagementException(msg, e);
} }
return status;
@Override }
public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
boolean status; @Override
try { public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
if (log.isDebugEnabled()) { boolean status;
log.debug("Dis-enrolling Android device : " + deviceId); try {
} if (log.isDebugEnabled()) {
status = mobileDeviceManagementDAOFactory.getMobileDeviceDAO() log.debug("Dis-enrolling Android device : " + deviceId);
.deleteMobileDevice(deviceId.getId()); }
} catch (MobileDeviceManagementDAOException e) { status = mobileDeviceManagementDAOFactory.getMobileDeviceDAO()
String msg = "Error while removing the Android device : " + deviceId.getId(); .deleteMobileDevice(deviceId.getId());
log.error(msg, e); } catch (MobileDeviceManagementDAOException e) {
throw new DeviceManagementException(msg, e); String msg = "Error while removing the Android device : " + deviceId.getId();
} log.error(msg, e);
return status; throw new DeviceManagementException(msg, e);
} }
return status;
@Override }
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
boolean isEnrolled = false; @Override
try { public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
if (log.isDebugEnabled()) { boolean isEnrolled = false;
log.debug("Checking the enrollment of Android device : " + deviceId.getId()); try {
} if (log.isDebugEnabled()) {
MobileDevice mobileDevice = log.debug("Checking the enrollment of Android device : " + deviceId.getId());
mobileDeviceManagementDAOFactory.getMobileDeviceDAO().getMobileDevice( }
deviceId.getId()); MobileDevice mobileDevice =
if (mobileDevice != null) { mobileDeviceManagementDAOFactory.getMobileDeviceDAO().getMobileDevice(
isEnrolled = true; deviceId.getId());
} if (mobileDevice != null) {
} catch (MobileDeviceManagementDAOException e) { isEnrolled = true;
String msg = "Error while checking the enrollment status of Android device : " + }
deviceId.getId(); } catch (MobileDeviceManagementDAOException e) {
log.error(msg, e); String msg = "Error while checking the enrollment status of Android device : " +
throw new DeviceManagementException(msg, e); deviceId.getId();
} log.error(msg, e);
return isEnrolled; throw new DeviceManagementException(msg, e);
} }
return isEnrolled;
@Override }
public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
return true; @Override
} public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
return true;
@Override }
public boolean setActive(DeviceIdentifier deviceId, boolean status)
throws DeviceManagementException { @Override
return true; public boolean setActive(DeviceIdentifier deviceId, boolean status)
} throws DeviceManagementException {
return true;
@Override }
public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
Device device; @Override
try { public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
if (log.isDebugEnabled()) { Device device;
log.debug("Getting the details of Android device : " + deviceId.getId()); try {
} if (log.isDebugEnabled()) {
MobileDevice mobileDevice = mobileDeviceManagementDAOFactory.getMobileDeviceDAO(). log.debug("Getting the details of Android device : " + deviceId.getId());
getMobileDevice(deviceId.getId()); }
device = MobileDeviceManagementUtil.convertToDevice(mobileDevice); MobileDevice mobileDevice = mobileDeviceManagementDAOFactory.getMobileDeviceDAO().
} catch (MobileDeviceManagementDAOException e) { getMobileDevice(deviceId.getId());
String msg = "Error while fetching the Android device : " + deviceId.getId(); device = MobileDeviceManagementUtil.convertToDevice(mobileDevice);
log.error(msg, e); } catch (MobileDeviceManagementDAOException e) {
throw new DeviceManagementException(msg, e); String msg = "Error while fetching the Android device : " + deviceId.getId();
} log.error(msg, e);
return device; throw new DeviceManagementException(msg, e);
} }
return device;
@Override }
public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
throws DeviceManagementException { @Override
return true; public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
} throws DeviceManagementException {
return true;
@Override }
public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
boolean status; @Override
MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device); public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
try { boolean status;
if (log.isDebugEnabled()) { MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device);
log.debug("updating the details of Android device : " + device.getDeviceIdentifier()); try {
} if (log.isDebugEnabled()) {
status = mobileDeviceManagementDAOFactory.getMobileDeviceDAO() log.debug(
.updateMobileDevice(mobileDevice); "updating the details of Android device : " + device.getDeviceIdentifier());
} catch (MobileDeviceManagementDAOException e) { }
String msg = "Error while updating the Android device : " + device.getDeviceIdentifier(); status = mobileDeviceManagementDAOFactory.getMobileDeviceDAO()
log.error(msg, e); .updateMobileDevice(mobileDevice);
throw new DeviceManagementException(msg, e); } catch (MobileDeviceManagementDAOException e) {
} String msg =
return status; "Error while updating the Android device : " + device.getDeviceIdentifier();
} log.error(msg, e);
throw new DeviceManagementException(msg, e);
@Override }
public List<Device> getAllDevices() throws DeviceManagementException { return status;
List<Device> devices = null; }
try {
if (log.isDebugEnabled()) { @Override
log.debug("Fetching the details of all Android devices"); public List<Device> getAllDevices() throws DeviceManagementException {
} List<Device> devices = null;
List<MobileDevice> mobileDevices = try {
mobileDeviceManagementDAOFactory.getMobileDeviceDAO(). if (log.isDebugEnabled()) {
getAllMobileDevices(); log.debug("Fetching the details of all Android devices");
if (mobileDevices != null) { }
devices = new ArrayList<Device>(); List<MobileDevice> mobileDevices =
for (MobileDevice mobileDevice : mobileDevices) { mobileDeviceManagementDAOFactory.getMobileDeviceDAO().
devices.add(MobileDeviceManagementUtil.convertToDevice(mobileDevice)); getAllMobileDevices();
} if (mobileDevices != null) {
} devices = new ArrayList<Device>();
} catch (MobileDeviceManagementDAOException e) { for (MobileDevice mobileDevice : mobileDevices) {
String msg = "Error while fetching all Android devices."; devices.add(MobileDeviceManagementUtil.convertToDevice(mobileDevice));
log.error(msg, e); }
throw new DeviceManagementException(msg, e); }
} } catch (MobileDeviceManagementDAOException e) {
return devices; String msg = "Error while fetching all Android devices.";
} log.error(msg, e);
throw new DeviceManagementException(msg, e);
}
return devices;
}
} }

@ -1,6 +1,6 @@
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Table `MBL_DEVICE` -- Table `AD_DEVICE`
-- ----------------------------------------------------- -- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `AD_DEVICE` ( CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
`MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL , `MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL ,

@ -1,8 +1,8 @@
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Table `MBL_DEVICE` -- Table `AD_DEVICE`
-- ----------------------------------------------------- -- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `MBL_DEVICE` ( CREATE TABLE IF NOT EXISTS `AD_DEVICE` (
`MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL , `MOBILE_DEVICE_ID` VARCHAR(45) NOT NULL ,
`PUSH_TOKEN` VARCHAR(45) NULL DEFAULT NULL , `PUSH_TOKEN` VARCHAR(45) NULL DEFAULT NULL ,
`IMEI` VARCHAR(45) NULL DEFAULT NULL , `IMEI` VARCHAR(45) NULL DEFAULT NULL ,
@ -13,37 +13,30 @@ CREATE TABLE IF NOT EXISTS `MBL_DEVICE` (
`LATITUDE` VARCHAR(45) NULL DEFAULT NULL, `LATITUDE` VARCHAR(45) NULL DEFAULT NULL,
`LONGITUDE` VARCHAR(45) NULL DEFAULT NULL, `LONGITUDE` VARCHAR(45) NULL DEFAULT NULL,
`CHALLENGE` VARCHAR(45) NULL DEFAULT NULL, `CHALLENGE` VARCHAR(45) NULL DEFAULT NULL,
`TOKEN` VARCHAR(50) NULL DEFAULT NULL, `TOKEN` VARCHAR(500) NULL DEFAULT NULL,
`UNLOCK_TOKEN` VARCHAR(2000) NULL DEFAULT NULL, `UNLOCK_TOKEN` VARCHAR(500) NULL DEFAULT NULL,
`SERIAL` VARCHAR(45) NULL DEFAULT NULL, `SERIAL` VARCHAR(45) NULL DEFAULT NULL,
PRIMARY KEY (`MOBILE_DEVICE_ID`) ); PRIMARY KEY (`MOBILE_DEVICE_ID`) );
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Table `MBL_FEATURE` -- Table `AD_FEATURE`
-- ----------------------------------------------------- -- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `MBL_FEATURE` ( CREATE TABLE IF NOT EXISTS `AD_FEATURE` (
`FEATURE_ID` INT NOT NULL AUTO_INCREMENT , `ID` INT NOT NULL AUTO_INCREMENT ,
`DEVICE_TYPE` VARCHAR(45) NOT NULL , `CODE` VARCHAR(45) NOT NULL,
`CODE` VARCHAR(45) NOT NULL ,
`NAME` VARCHAR(100) NULL , `NAME` VARCHAR(100) NULL ,
`DESCRIPTION` VARCHAR(200) NULL , `DESCRIPTION` VARCHAR(200) NULL ,
PRIMARY KEY (`FEATURE_ID`) ); PRIMARY KEY (`ID`) );
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Table `MBL_FEATURE_PROPERTY` -- Table `AD_FEATURE_PROPERTY`
-- ----------------------------------------------------- -- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `MBL_FEATURE_PROPERTY` ( CREATE TABLE IF NOT EXISTS `AD_FEATURE_PROPERTY` (
`PROPERTY` VARCHAR(45) NOT NULL , `PROPERTY` VARCHAR(45) NOT NULL ,
`FEATURE_ID` INT NOT NULL , `FEATURE_ID` INT NOT NULL ,
PRIMARY KEY (`PROPERTY`) , PRIMARY KEY (`PROPERTY`) ,
CONSTRAINT `fk_MBL_FEATURE_PROPERTY_MBL_FEATURE1` CONSTRAINT `fk_AD_FEATURE_PROPERTY_AD_FEATURE1`
FOREIGN KEY (`FEATURE_ID` ) FOREIGN KEY (`FEATURE_ID` )
REFERENCES `MBL_FEATURE` (`FEATURE_ID` ) REFERENCES `AD_FEATURE` (`ID` )
ON DELETE NO ACTION ON DELETE NO ACTION
ON UPDATE NO ACTION); ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Inserts
-- -----------------------------------------------------
INSERT INTO MBL_FEATURE (DEVICE_TYPE,NAME,CODE, DESCRIPTION) VALUES ('android','DEVICE_LOCK','503A','Device Lock'),('android','WIPE','504A','Device Wipe'),('android','CLEARPASSCODE','505A','Clear Passcode'),('android','APPLIST','502A','Get All Applications'),('android','LOCATION','501A','Location'),('android','INFO','500A','Device Information'),('android','NOTIFICATION','506A','Message'),('android','WIFI','507A','Setup Wifi'),('android','CAMERA','508A','Camera Control'),('android','MUTE','513A','Mute Device'),('android','INSTALLAPP','509A','Install Application'),('android','UNINSTALLAPP','510A','Uninstall Application'),('android','ENCRYPT','511A','Encrypt Storage'),('android','APN','512A','APN'),('android','WEBCLIP','518A','Create Webclips'),('android','PASSWORDPOLICY','519A','Passcode Policy'),('android','EMAIL','520A','Email Configuration'),('android','GOOGLECALENDAR','521A','Calender Subscription'),('android','VPN','523A','VPN'),('android','LDAP','524A','LDAP'),('android','CHANGEPASSWORD','526A','Set Passcode'),('android','ENTERPRISEWIPE','527A','Enterprise Wipe'),('android','POLICY','500P','Policy Enforcement'),('android','MONITORING','501P','Policy Monitoring '),('android','BLACKLISTAPPS','528B','Blacklist Apps'),('android','REVOKEPOLICY','502P','Revoke Policy');
Loading…
Cancel
Save