mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
refactored WindowsFeatureManager
This commit is contained in:
parent
7f66885f61
commit
9adfb05b37
@ -57,11 +57,16 @@ public class WindowsDeviceManager implements DeviceManager {
|
|||||||
public WindowsDeviceManager() {
|
public WindowsDeviceManager() {
|
||||||
this.daoFactory = new WindowsDAOFactory();
|
this.daoFactory = new WindowsDAOFactory();
|
||||||
this.licenseManager = new RegistryBasedLicenseManager();
|
this.licenseManager = new RegistryBasedLicenseManager();
|
||||||
|
|
||||||
License defaultLicense = WindowsPluginUtils.getDefaultLicense();
|
License defaultLicense = WindowsPluginUtils.getDefaultLicense();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
licenseManager.addLicense(WindowsDeviceManagementService.DEVICE_TYPE_WINDOWS, defaultLicense);
|
licenseManager.addLicense(WindowsDeviceManagementService.DEVICE_TYPE_WINDOWS, defaultLicense);
|
||||||
|
featureManager.addSupportedFeaturesToDB();
|
||||||
} catch (LicenseManagementException e) {
|
} catch (LicenseManagementException e) {
|
||||||
log.error("Error occurred while adding default license for Windows devices", e);
|
log.error("Error occurred while adding default license for Windows devices", e);
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
log.error("Error occurred while adding supported device features for Windows platform", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,12 +18,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.device.mgt.mobile.impl.windows;
|
package org.wso2.carbon.device.mgt.mobile.impl.windows;
|
||||||
|
|
||||||
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.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.Feature;
|
import org.wso2.carbon.device.mgt.common.Feature;
|
||||||
import org.wso2.carbon.device.mgt.common.FeatureManager;
|
import org.wso2.carbon.device.mgt.common.FeatureManager;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dao.AbstractMobileDeviceManagementDAOFactory;
|
|
||||||
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.dao.MobileFeatureDAO;
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeatureDAO;
|
||||||
@ -37,7 +34,6 @@ import java.util.List;
|
|||||||
public class WindowsFeatureManager implements FeatureManager {
|
public class WindowsFeatureManager implements FeatureManager {
|
||||||
|
|
||||||
private MobileFeatureDAO featureDAO;
|
private MobileFeatureDAO featureDAO;
|
||||||
private static final Log log = LogFactory.getLog(WindowsFeatureManager.class);
|
|
||||||
|
|
||||||
public WindowsFeatureManager() {
|
public WindowsFeatureManager() {
|
||||||
MobileDeviceManagementDAOFactory daoFactory = new WindowsDAOFactory();
|
MobileDeviceManagementDAOFactory daoFactory = new WindowsDAOFactory();
|
||||||
@ -47,27 +43,39 @@ public class WindowsFeatureManager implements FeatureManager {
|
|||||||
@Override
|
@Override
|
||||||
public boolean addFeature(Feature feature) throws DeviceManagementException {
|
public boolean addFeature(Feature feature) throws DeviceManagementException {
|
||||||
try {
|
try {
|
||||||
WindowsDAOFactory.beginTransaction();
|
WindowsDAOFactory.beginTransaction();
|
||||||
MobileFeature mobileFeature = MobileDeviceManagementUtil.convertToMobileFeature(feature);
|
MobileFeature mobileFeature = MobileDeviceManagementUtil.convertToMobileFeature(feature);
|
||||||
featureDAO.addFeature(mobileFeature);
|
featureDAO.addFeature(mobileFeature);
|
||||||
WindowsDAOFactory.commitTransaction();
|
WindowsDAOFactory.commitTransaction();
|
||||||
return true;
|
return true;
|
||||||
} catch (MobileDeviceManagementDAOException e) {
|
} catch (MobileDeviceManagementDAOException e) {
|
||||||
WindowsDAOFactory.rollbackTransaction();
|
WindowsDAOFactory.rollbackTransaction();
|
||||||
throw new DeviceManagementException("Error occurred while adding the feature", e);
|
throw new DeviceManagementException("Error occurred while adding the feature", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean addFeatures(List<Feature> list) throws DeviceManagementException {
|
public boolean addFeatures(List<Feature> features) throws DeviceManagementException {
|
||||||
return false;
|
List<MobileFeature> mobileFeatures = new ArrayList<MobileFeature>();
|
||||||
|
for (Feature feature : features) {
|
||||||
|
mobileFeatures.add(MobileDeviceManagementUtil.convertToMobileFeature(feature));
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
WindowsDAOFactory.beginTransaction();
|
||||||
|
featureDAO.addFeatures(mobileFeatures);
|
||||||
|
WindowsDAOFactory.commitTransaction();
|
||||||
|
return true;
|
||||||
|
} catch (MobileDeviceManagementDAOException e) {
|
||||||
|
WindowsDAOFactory.rollbackTransaction();
|
||||||
|
throw new DeviceManagementException("Error occurred while adding the features", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Feature getFeature(String name) throws DeviceManagementException {
|
public Feature getFeature(String name) throws DeviceManagementException {
|
||||||
try {
|
try {
|
||||||
MobileFeature mobileFeature = featureDAO.getFeatureByCode(name);
|
MobileFeature mobileFeature = featureDAO.getFeatureByCode(name);
|
||||||
Feature feature = MobileDeviceManagementUtil.convertToFeature(mobileFeature);
|
Feature feature = MobileDeviceManagementUtil.convertToFeature(mobileFeature);
|
||||||
return feature;
|
return feature;
|
||||||
} catch (MobileDeviceManagementDAOException e) {
|
} catch (MobileDeviceManagementDAOException e) {
|
||||||
throw new DeviceManagementException("Error occurred while retrieving the feature", e);
|
throw new DeviceManagementException("Error occurred while retrieving the feature", e);
|
||||||
@ -86,7 +94,7 @@ public class WindowsFeatureManager implements FeatureManager {
|
|||||||
return featureList;
|
return featureList;
|
||||||
} catch (MobileDeviceManagementDAOException e) {
|
} catch (MobileDeviceManagementDAOException e) {
|
||||||
throw new DeviceManagementException("Error occurred while retrieving the list of features registered for " +
|
throw new DeviceManagementException("Error occurred while retrieving the list of features registered for " +
|
||||||
"Android platform", e);
|
"Windows platform", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,12 +102,12 @@ public class WindowsFeatureManager implements FeatureManager {
|
|||||||
public boolean removeFeature(String code) throws DeviceManagementException {
|
public boolean removeFeature(String code) throws DeviceManagementException {
|
||||||
boolean status;
|
boolean status;
|
||||||
try {
|
try {
|
||||||
WindowsDAOFactory.beginTransaction();
|
WindowsDAOFactory.beginTransaction();
|
||||||
featureDAO.deleteFeatureByCode(code);
|
featureDAO.deleteFeatureByCode(code);
|
||||||
WindowsDAOFactory.commitTransaction();
|
WindowsDAOFactory.commitTransaction();
|
||||||
status = true;
|
status = true;
|
||||||
} catch (MobileDeviceManagementDAOException e) {
|
} catch (MobileDeviceManagementDAOException e) {
|
||||||
WindowsDAOFactory.rollbackTransaction();
|
WindowsDAOFactory.rollbackTransaction();
|
||||||
throw new DeviceManagementException("Error occurred while removing the feature", e);
|
throw new DeviceManagementException("Error occurred while removing the feature", e);
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
@ -107,7 +115,64 @@ public class WindowsFeatureManager implements FeatureManager {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean addSupportedFeaturesToDB() throws DeviceManagementException {
|
public boolean addSupportedFeaturesToDB() throws DeviceManagementException {
|
||||||
return false;
|
synchronized (this) {
|
||||||
|
List<Feature> supportedFeatures = getSupportedFeatures();
|
||||||
|
List<Feature> existingFeatures = this.getFeatures();
|
||||||
|
List<Feature> missingFeatures = MobileDeviceManagementUtil.
|
||||||
|
getMissingFeatures(supportedFeatures, existingFeatures);
|
||||||
|
if (missingFeatures.size() > 0) {
|
||||||
|
return this.addFeatures(missingFeatures);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
public static List<Feature> getSupportedFeatures() {
|
||||||
|
List<Feature> supportedFeatures = new ArrayList<Feature>();
|
||||||
|
Feature feature = new Feature();
|
||||||
|
feature.setCode("DEVICE_LOCK");
|
||||||
|
feature.setName("Device Lock");
|
||||||
|
feature.setDescription("Lock the device");
|
||||||
|
supportedFeatures.add(feature);
|
||||||
|
feature = new Feature();
|
||||||
|
feature.setCode("CAMERA");
|
||||||
|
feature.setName("camera");
|
||||||
|
feature.setDescription("Enable or disable camera");
|
||||||
|
supportedFeatures.add(feature);
|
||||||
|
feature = new Feature();
|
||||||
|
feature.setCode("DEVICE_INFO");
|
||||||
|
feature.setName("Device info");
|
||||||
|
feature.setDescription("Request device information");
|
||||||
|
supportedFeatures.add(feature);
|
||||||
|
feature = new Feature();
|
||||||
|
feature.setCode("WIPE_DATA");
|
||||||
|
feature.setName("Wipe Data");
|
||||||
|
feature.setDescription("Factory reset the device");
|
||||||
|
supportedFeatures.add(feature);
|
||||||
|
feature = new Feature();
|
||||||
|
feature.setCode("ENCRYPT_STORAGE");
|
||||||
|
feature.setName("Encrypt storage");
|
||||||
|
feature.setDescription("Encrypt storage");
|
||||||
|
supportedFeatures.add(feature);
|
||||||
|
feature = new Feature();
|
||||||
|
feature.setCode("DEVICE_RING");
|
||||||
|
feature.setName("Ring");
|
||||||
|
feature.setDescription("Ring the device");
|
||||||
|
supportedFeatures.add(feature);
|
||||||
|
feature = new Feature();
|
||||||
|
feature.setCode("PASSCODE_POLICY");
|
||||||
|
feature.setName("Password Policy");
|
||||||
|
feature.setDescription("Set passcode policy");
|
||||||
|
supportedFeatures.add(feature);
|
||||||
|
feature = new Feature();
|
||||||
|
feature.setCode("DISENROLL");
|
||||||
|
feature.setName("DisEnroll");
|
||||||
|
feature.setDescription("DisEnroll the device");
|
||||||
|
supportedFeatures.add(feature);
|
||||||
|
feature = new Feature();
|
||||||
|
feature.setCode("LOCK_RESET");
|
||||||
|
feature.setName("LockReset");
|
||||||
|
feature.setDescription("Lock Reset device");
|
||||||
|
return supportedFeatures;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -26,6 +26,7 @@ import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceDAO;
|
|||||||
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.MobileFeatureDAO;
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileFeatureDAO;
|
||||||
import org.wso2.carbon.device.mgt.mobile.impl.windows.dao.impl.WindowsDeviceDAOImpl;
|
import org.wso2.carbon.device.mgt.mobile.impl.windows.dao.impl.WindowsDeviceDAOImpl;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.impl.windows.dao.impl.WindowsFeatureDAOImpl;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
@ -48,7 +49,7 @@ public class WindowsDAOFactory extends AbstractMobileDeviceManagementDAOFactory
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MobileFeatureDAO getMobileFeatureDAO() {
|
public MobileFeatureDAO getMobileFeatureDAO() {
|
||||||
return null;
|
return new WindowsFeatureDAOImpl();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void beginTransaction() throws MobileDeviceManagementDAOException {
|
public static void beginTransaction() throws MobileDeviceManagementDAOException {
|
||||||
|
|||||||
@ -46,6 +46,7 @@ public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
public WindowsFeatureDAOImpl() {
|
public WindowsFeatureDAOImpl() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean addFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException {
|
public boolean addFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
@ -53,7 +54,7 @@ public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
Connection conn;
|
Connection conn;
|
||||||
try {
|
try {
|
||||||
conn = WindowsDAOFactory.getConnection();
|
conn = WindowsDAOFactory.getConnection();
|
||||||
String sql = "INSERT INTO WINDOWS_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)";
|
String sql = "INSERT INTO WIN_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setString(1, mobileFeature.getCode());
|
stmt.setString(1, mobileFeature.getCode());
|
||||||
stmt.setString(2, mobileFeature.getName());
|
stmt.setString(2, mobileFeature.getName());
|
||||||
@ -71,6 +72,31 @@ public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addFeatures(List<MobileFeature> mobileFeatures) throws MobileDeviceManagementDAOException {
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn;
|
||||||
|
try {
|
||||||
|
conn = WindowsDAOFactory.getConnection();
|
||||||
|
stmt = conn.prepareStatement("INSERT INTO WIN_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)");
|
||||||
|
for (MobileFeature mobileFeature : mobileFeatures) {
|
||||||
|
stmt.setString(1, mobileFeature.getCode());
|
||||||
|
stmt.setString(2, mobileFeature.getName());
|
||||||
|
stmt.setString(3, mobileFeature.getDescription());
|
||||||
|
stmt.addBatch();
|
||||||
|
}
|
||||||
|
stmt.executeBatch();
|
||||||
|
status = true;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
throw new WindowsFeatureManagementDAOException(
|
||||||
|
"Error occurred while adding windows features into the metadata repository", e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean updateFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException {
|
public boolean updateFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException {
|
||||||
boolean status = false;
|
boolean status = false;
|
||||||
@ -79,7 +105,7 @@ public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = WindowsDAOFactory.getConnection();
|
conn = WindowsDAOFactory.getConnection();
|
||||||
String updateDBQuery =
|
String updateDBQuery =
|
||||||
"UPDATE WINDOWS_FEATURE SET NAME = ?, DESCRIPTION = ?" +
|
"UPDATE WIN_FEATURE SET NAME = ?, DESCRIPTION = ?" +
|
||||||
"WHERE CODE = ?";
|
"WHERE CODE = ?";
|
||||||
|
|
||||||
stmt = conn.prepareStatement(updateDBQuery);
|
stmt = conn.prepareStatement(updateDBQuery);
|
||||||
@ -110,10 +136,10 @@ public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
public boolean deleteFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException {
|
public boolean deleteFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
boolean status = false;
|
boolean status = false;
|
||||||
Connection conn = null;
|
Connection conn;
|
||||||
try {
|
try {
|
||||||
conn = WindowsDAOFactory.getConnection();
|
conn = WindowsDAOFactory.getConnection();
|
||||||
String sql = "DELETE FROM WINDOWS_FEATURE WHERE FEATURE_ID = ?";
|
String sql = "DELETE FROM WIN_FEATURE WHERE FEATURE_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setInt(1, mblFeatureId);
|
stmt.setInt(1, mblFeatureId);
|
||||||
stmt.execute();
|
stmt.execute();
|
||||||
@ -132,10 +158,10 @@ public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
public boolean deleteFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException {
|
public boolean deleteFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
boolean status = false;
|
boolean status = false;
|
||||||
Connection conn = null;
|
Connection conn;
|
||||||
try {
|
try {
|
||||||
conn = WindowsDAOFactory.getConnection();
|
conn = WindowsDAOFactory.getConnection();
|
||||||
String sql = "DELETE FROM WINDOWS_FEATURE WHERE CODE = ?";
|
String sql = "DELETE FROM WIN_FEATURE WHERE CODE = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setString(1, mblFeatureCode);
|
stmt.setString(1, mblFeatureCode);
|
||||||
stmt.execute();
|
stmt.execute();
|
||||||
@ -154,10 +180,10 @@ public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
public MobileFeature getFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException {
|
public MobileFeature getFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException {
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
ResultSet rs = null;
|
ResultSet rs = null;
|
||||||
Connection conn = null;
|
Connection conn;
|
||||||
try {
|
try {
|
||||||
conn = WindowsDAOFactory.getConnection();
|
conn = WindowsDAOFactory.getConnection();
|
||||||
String sql = "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM WINDOWS_FEATURE WHERE ID = ?";
|
String sql = "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM WIN_FEATURE WHERE ID = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setInt(1, mblFeatureId);
|
stmt.setInt(1, mblFeatureId);
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
@ -191,7 +217,7 @@ public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
conn = WindowsDAOFactory.getConnection();
|
conn = WindowsDAOFactory.getConnection();
|
||||||
String sql = "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM WINDOWS_FEATURE WHERE CODE = ?";
|
String sql = "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM WIN_FEATURE WHERE CODE = ?";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setString(1, mblFeatureCode);
|
stmt.setString(1, mblFeatureCode);
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
@ -231,7 +257,7 @@ public class WindowsFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
conn = WindowsDAOFactory.getConnection();
|
conn = WindowsDAOFactory.getConnection();
|
||||||
String sql = "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM WINDOWS_FEATURE";
|
String sql = "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM WIN_FEATURE";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
MobileFeature mobileFeature;
|
MobileFeature mobileFeature;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
-- -----------------------------------------------------
|
-- -----------------------------------------------------
|
||||||
-- Table `WINDOWS_FEATURE`
|
-- Table `WINDOWS_FEATURE`
|
||||||
-- -----------------------------------------------------
|
-- -----------------------------------------------------
|
||||||
CREATE TABLE WINDOWS_FEATURE (
|
CREATE TABLE WIN_FEATURE (
|
||||||
ID INT NOT NULL IDENTITY,
|
ID INT NOT NULL IDENTITY,
|
||||||
CODE VARCHAR(45) NOT NULL,
|
CODE VARCHAR(45) NOT NULL,
|
||||||
NAME VARCHAR(100) NULL,
|
NAME VARCHAR(100) NULL,
|
||||||
@ -12,7 +12,7 @@ CREATE TABLE WINDOWS_FEATURE (
|
|||||||
-- -----------------------------------------------------
|
-- -----------------------------------------------------
|
||||||
-- Table `WINDOWS_DEVICE`
|
-- Table `WINDOWS_DEVICE`
|
||||||
-- -----------------------------------------------------
|
-- -----------------------------------------------------
|
||||||
CREATE TABLE WINDOWS_DEVICE (
|
CREATE TABLE WIN_DEVICE (
|
||||||
DEVICE_ID VARCHAR(45) NOT NULL,
|
DEVICE_ID VARCHAR(45) NOT NULL,
|
||||||
CHANNEL_URI VARCHAR(100) NULL DEFAULT NULL,
|
CHANNEL_URI VARCHAR(100) NULL DEFAULT NULL,
|
||||||
DEVICE_INFO VARCHAR(8000) NULL DEFAULT NULL,
|
DEVICE_INFO VARCHAR(8000) NULL DEFAULT NULL,
|
||||||
|
|||||||
@ -31,18 +31,5 @@ CREATE TABLE IF NOT EXISTS `WIN_FEATURE` (
|
|||||||
PRIMARY KEY (`FEATURE_ID`))
|
PRIMARY KEY (`FEATURE_ID`))
|
||||||
ENGINE = InnoDB;
|
ENGINE = InnoDB;
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
|
||||||
-- Table `WIN_FEATURE_PROPERTY`
|
|
||||||
-- -----------------------------------------------------
|
|
||||||
CREATE TABLE IF NOT EXISTS `WIN_FEATURE_PROPERTY` (
|
|
||||||
`PROPERTY` VARCHAR(45) NOT NULL ,
|
|
||||||
`FEATURE_ID` INT NOT NULL ,
|
|
||||||
PRIMARY KEY (`PROPERTY`),
|
|
||||||
CONSTRAINT `fk_WIN_FEATURE_PROPERTY_WIN_FEATURE1`
|
|
||||||
FOREIGN KEY (`FEATURE_ID`)
|
|
||||||
REFERENCES `WIN_FEATURE` (`FEATURE_ID`)
|
|
||||||
ON DELETE NO ACTION
|
|
||||||
ON UPDATE NO ACTION)
|
|
||||||
ENGINE = InnoDB;
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -32,20 +32,6 @@ CREATE TABLE WIN_FEATURE (
|
|||||||
);
|
);
|
||||||
/
|
/
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
|
||||||
-- Table `WIN_FEATURE_PROPERTY`
|
|
||||||
-- -----------------------------------------------------
|
|
||||||
CREATE TABLE WIN_FEATURE_PROPERTY (
|
|
||||||
PROPERTY VARCHAR(45) NOT NULL,
|
|
||||||
FEATURE_ID INT NOT NULL,
|
|
||||||
PRIMARY KEY (PROPERTY),
|
|
||||||
CONSTRAINT fk_WIN_FEATURE_PROPERTY_WIN_FEATURE1
|
|
||||||
FOREIGN KEY (FEATURE_ID)
|
|
||||||
REFERENCES WIN_FEATURE (ID)
|
|
||||||
ON DELETE NO ACTION
|
|
||||||
ON UPDATE NO ACTION);
|
|
||||||
/
|
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
-- -----------------------------------------------------
|
||||||
-- Sequence `WIN_FEATURE_ID_INC_SEQ`
|
-- Sequence `WIN_FEATURE_ID_INC_SEQ`
|
||||||
-- -----------------------------------------------------
|
-- -----------------------------------------------------
|
||||||
|
|||||||
@ -30,16 +30,3 @@ CREATE TABLE IF NOT EXISTS WIN_FEATURE (
|
|||||||
PRIMARY KEY (ID)
|
PRIMARY KEY (ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
|
||||||
-- Table `WIN_FEATURE_PROPERTY`
|
|
||||||
-- -----------------------------------------------------
|
|
||||||
CREATE TABLE IF NOT EXISTS WIN_FEATURE_PROPERTY (
|
|
||||||
PROPERTY VARCHAR(45) NOT NULL ,
|
|
||||||
FEATURE_ID INT NOT NULL ,
|
|
||||||
PRIMARY KEY (PROPERTY),
|
|
||||||
CONSTRAINT fk_WIN_FEATURE_PROPERTY_WIN_FEATURE1
|
|
||||||
FOREIGN KEY (FEATURE_ID)
|
|
||||||
REFERENCES WIN_FEATURE (ID)
|
|
||||||
ON DELETE NO ACTION
|
|
||||||
ON UPDATE NO ACTION
|
|
||||||
);
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user