mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Adding H2, MySQL Support for dashboard analytics feature
This commit is contained in:
parent
a23e578537
commit
0ab4035b37
@ -21,7 +21,9 @@ package org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl;
|
||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||
import org.wso2.carbon.device.mgt.analytics.dashboard.dao.GadgetDataServiceDAO;
|
||||
import org.wso2.carbon.device.mgt.analytics.dashboard.dao.GadgetDataServiceDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.analytics.dashboard.dao.bean.*;
|
||||
import org.wso2.carbon.device.mgt.analytics.dashboard.dao.bean.DetailedDeviceEntry;
|
||||
import org.wso2.carbon.device.mgt.analytics.dashboard.dao.bean.DeviceCountByGroupEntry;
|
||||
import org.wso2.carbon.device.mgt.analytics.dashboard.dao.bean.FilterSet;
|
||||
import org.wso2.carbon.device.mgt.analytics.dashboard.dao.exception.InvalidParameterValueException;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||
import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil;
|
||||
@ -30,7 +32,10 @@ import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class GadgetDataServiceDAOImpl implements GadgetDataServiceDAO {
|
||||
|
||||
@ -280,7 +285,7 @@ public class GadgetDataServiceDAOImpl implements GadgetDataServiceDAO {
|
||||
}
|
||||
// fetching total records count
|
||||
sql = "SELECT COUNT(FEATURE_CODE) AS NON_COMPLIANT_FEATURE_COUNT FROM " +
|
||||
"(SELECT DISTINCT FEATURE_CODE FROM DEVICES_VIEW_2 WHERE TENANT_ID = ?)";
|
||||
"(SELECT DISTINCT FEATURE_CODE FROM DEVICES_VIEW_2 WHERE TENANT_ID = ?) NON_COMPLIANT_FEATURE_CODE";
|
||||
|
||||
stmt = con.prepareStatement(sql);
|
||||
stmt.setInt(1, tenantId);
|
||||
|
||||
@ -510,6 +510,8 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_GROUP_POLICY (
|
||||
|
||||
-- END OF POLICY AND DEVICE GROUP MAPPING --
|
||||
|
||||
-- DASHBOARD RELATED VIEWS --
|
||||
|
||||
CREATE VIEW DEVICES_VIEW_1 AS
|
||||
SELECT
|
||||
DEVICE_INFO.DEVICE_ID,
|
||||
@ -560,3 +562,5 @@ DM_POLICY_COMPLIANCE_STATUS.DEVICE_ID = DM_DEVICE.ID AND
|
||||
DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID AND
|
||||
DM_DEVICE.ID = DM_DEVICE_DETAIL.DEVICE_ID
|
||||
ORDER BY TENANT_ID, DEVICE_ID;
|
||||
|
||||
-- END OF DASHBOARD RELATED VIEWS --
|
||||
|
||||
@ -493,8 +493,6 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_LOCATION (
|
||||
)
|
||||
ENGINE = InnoDB;
|
||||
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS DM_DEVICE_DETAIL ;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
|
||||
@ -524,3 +522,64 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB;
|
||||
|
||||
-- DASHBOARD RELATED VIEWS --
|
||||
|
||||
CREATE VIEW DEVICE_INFO_VIEW AS
|
||||
SELECT
|
||||
DM_DEVICE.ID AS DEVICE_ID,
|
||||
DM_DEVICE_TYPE.NAME AS PLATFORM,
|
||||
DM_ENROLMENT.OWNERSHIP,
|
||||
DM_ENROLMENT.STATUS AS CONNECTIVITY_STATUS,
|
||||
DM_DEVICE.TENANT_ID
|
||||
FROM DM_DEVICE, DM_DEVICE_TYPE, DM_ENROLMENT
|
||||
WHERE DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID AND DM_DEVICE.ID = DM_ENROLMENT.DEVICE_ID;
|
||||
|
||||
CREATE VIEW DEVICE_WITH_POLICY_INFO_VIEW AS
|
||||
SELECT
|
||||
DEVICE_ID,
|
||||
POLICY_ID,
|
||||
STATUS AS IS_COMPLIANT
|
||||
FROM DM_POLICY_COMPLIANCE_STATUS;
|
||||
|
||||
CREATE VIEW DEVICES_VIEW_1 AS
|
||||
SELECT
|
||||
DEVICE_INFO_VIEW.DEVICE_ID,
|
||||
DEVICE_INFO_VIEW.PLATFORM,
|
||||
DEVICE_INFO_VIEW.OWNERSHIP,
|
||||
DEVICE_INFO_VIEW.CONNECTIVITY_STATUS,
|
||||
IFNULL(DEVICE_WITH_POLICY_INFO_VIEW.POLICY_ID, -1) AS POLICY_ID,
|
||||
IFNULL(DEVICE_WITH_POLICY_INFO_VIEW.IS_COMPLIANT, -1) AS IS_COMPLIANT,
|
||||
DEVICE_INFO_VIEW.TENANT_ID
|
||||
FROM
|
||||
DEVICE_INFO_VIEW
|
||||
LEFT JOIN
|
||||
DEVICE_WITH_POLICY_INFO_VIEW
|
||||
ON DEVICE_INFO_VIEW.DEVICE_ID = DEVICE_WITH_POLICY_INFO_VIEW.DEVICE_ID
|
||||
ORDER BY DEVICE_INFO_VIEW.DEVICE_ID;
|
||||
|
||||
CREATE VIEW DEVICES_VIEW_2 AS
|
||||
SELECT
|
||||
DM_DEVICE.ID AS DEVICE_ID,
|
||||
DM_DEVICE_DETAIL.DEVICE_MODEL,
|
||||
DM_DEVICE_DETAIL.VENDOR,
|
||||
DM_DEVICE_DETAIL.OS_VERSION,
|
||||
DM_ENROLMENT.OWNERSHIP,
|
||||
DM_ENROLMENT.OWNER,
|
||||
DM_ENROLMENT.STATUS AS CONNECTIVITY_STATUS,
|
||||
DM_POLICY_COMPLIANCE_STATUS.POLICY_ID,
|
||||
DM_DEVICE_TYPE.NAME AS PLATFORM,
|
||||
DM_POLICY_COMPLIANCE_FEATURES.FEATURE_CODE,
|
||||
DM_POLICY_COMPLIANCE_FEATURES.STATUS AS IS_COMPLAINT,
|
||||
DM_DEVICE.TENANT_ID
|
||||
FROM
|
||||
DM_POLICY_COMPLIANCE_FEATURES, DM_POLICY_COMPLIANCE_STATUS, DM_ENROLMENT, DM_DEVICE, DM_DEVICE_TYPE, DM_DEVICE_DETAIL
|
||||
WHERE
|
||||
DM_POLICY_COMPLIANCE_FEATURES.COMPLIANCE_STATUS_ID = DM_POLICY_COMPLIANCE_STATUS.ID AND
|
||||
DM_POLICY_COMPLIANCE_STATUS.ENROLMENT_ID = DM_ENROLMENT.ID AND
|
||||
DM_POLICY_COMPLIANCE_STATUS.DEVICE_ID = DM_DEVICE.ID AND
|
||||
DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID AND
|
||||
DM_DEVICE.ID = DM_DEVICE_DETAIL.DEVICE_ID
|
||||
ORDER BY TENANT_ID, DEVICE_ID;
|
||||
|
||||
-- END OF DASHBOARD RELATED VIEWS --
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user