diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml deleted file mode 100644 index 9ca2f2cbfe..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/pom.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - org.wso2.carbon.devicemgt - device-mgt - 3.0.136-SNAPSHOT - ../pom.xml - - - 4.0.0 - org.wso2.carbon.device.mgt.analytics.dashboard - bundle - WSO2 Carbon - Device Management Dashboard Analytics - WSO2 Carbon - Device Management Dashboard Analytics - http://wso2.org - - - - org.eclipse.osgi - org.eclipse.osgi.services - - - org.wso2.carbon - org.wso2.carbon.logging - - - org.wso2.carbon.devicemgt - org.wso2.carbon.device.mgt.common - - - org.wso2.carbon.devicemgt - org.wso2.carbon.device.mgt.core - - - org.wso2.carbon - org.wso2.carbon.ndatasource.core - - - - - - - org.apache.felix - maven-scr-plugin - - - org.apache.felix - maven-bundle-plugin - 1.4.0 - true - - - ${project.artifactId} - ${project.artifactId} - ${carbon.device.mgt.version} - Device Management Dashboard Analytics Bundle - - org.wso2.carbon.device.mgt.analytics.dashboard.dao, - org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl, - org.wso2.carbon.device.mgt.analytics.dashboard.impl, - org.wso2.carbon.device.mgt.analytics.dashboard.internal - - - org.wso2.carbon.device.mgt.analytics.dashboard, - org.wso2.carbon.device.mgt.analytics.dashboard.util, - org.wso2.carbon.device.mgt.analytics.dashboard.exception, - org.wso2.carbon.device.mgt.analytics.dashboard.bean - - - org.osgi.framework, - org.osgi.service.component, - org.apache.commons.logging.*, - javax.sql, - org.wso2.carbon.context, - org.wso2.carbon.device.mgt.common.*, - org.wso2.carbon.device.mgt.core.*, - org.wso2.carbon.ndatasource.core.*; - - - - - - org.jacoco - jacoco-maven-plugin - - ${basedir}/target/coverage-reports/jacoco-unit.exec - - - - jacoco-initialize - - prepare-agent - - - - jacoco-site - test - - report - - - ${basedir}/target/coverage-reports/jacoco-unit.exec - ${basedir}/target/coverage-reports/site - - - - - - - - \ No newline at end of file diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/GadgetDataService.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/GadgetDataService.java deleted file mode 100644 index 5a251fc9c2..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/GadgetDataService.java +++ /dev/null @@ -1,261 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard; - -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.BasicFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.ExtendedFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceCountByGroup; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceWithDetails; -import org.wso2.carbon.device.mgt.analytics.dashboard.exception.*; -import org.wso2.carbon.device.mgt.common.PaginationResult; - -import java.util.List; - -/** - * This interface exposes useful service layer functions to retrieve data - * required by high level dashboard APIs. - */ -public interface GadgetDataService { - - /** - * This method is used to get a count of devices based on a defined filter set. - * @param extendedFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined filtering - * options, this method would return total device count in the system - * wrapped by the defined return format. - * @return An object of type DeviceCountByGroup. - * @throws InvalidPotentialVulnerabilityValueException This can occur if potentialVulnerability - * value of extendedFilterSet is set with some - * value other than "NON_COMPLIANT" or "UNMONITORED". - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - DeviceCountByGroup getDeviceCount(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, DataAccessLayerException; - - /** - * This method is used to get a count of devices non-compliant upon on a particular feature - * and a defined filter set. - * @param featureCode Code name of the non-compliant feature. - * @param basicFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined filtering - * options, this method would return total non-compliant device count in the system - * for the given feature-code, wrapped by the defined return format. - * @return An object of type DeviceCountByGroup. - * @throws InvalidFeatureCodeValueException This can occur if featureCode is set to null or empty. - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - DeviceCountByGroup getFeatureNonCompliantDeviceCount(String featureCode, BasicFilterSet basicFilterSet, String userName) - throws InvalidFeatureCodeValueException, DataAccessLayerException; - - /** - * This method is used to get total count of devices currently enrolled under a particular tenant. - * @return An object of type DeviceCountByGroup. - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - DeviceCountByGroup getTotalDeviceCount(String userName) throws DataAccessLayerException; - - /** - * This method is used to get device counts classified by connectivity statuses. - * @return A list of objects of type DeviceCountByGroup. - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - List getDeviceCountsByConnectivityStatuses(String userName) throws DataAccessLayerException; - - /** - * This method is used to get device counts classified by potential vulnerabilities. - * @return A list of objects of type DeviceCountByGroup. - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - List getDeviceCountsByPotentialVulnerabilities(String userName) throws DataAccessLayerException; - - /** - * This method is used to get non-compliant device counts classified by individual features. - * @param startIndex Starting index of the data set to be retrieved. - * @param resultCount Total count of the result set retrieved. - * @return An object of type PaginationResult. - * @throws InvalidStartIndexValueException This can occur if startIndex value is lesser than its minimum (0). - * @throws InvalidResultCountValueException This can occur if resultCount value is lesser than its minimum (5). - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - PaginationResult getNonCompliantDeviceCountsByFeatures(int startIndex, int resultCount, String userName) throws - InvalidStartIndexValueException, InvalidResultCountValueException, DataAccessLayerException; - - /** - * This method is used to get device counts classified by platforms. - * @param extendedFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined filtering - * options, this method would return total device counts per each platform in - * the system, wrapped by the defined return format. - * @return An object of type DeviceCountByGroup. - * @throws InvalidPotentialVulnerabilityValueException This can occur if potentialVulnerability - * value of extendedFilterSet is set with some - * value other than "NON_COMPLIANT" or "UNMONITORED". - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - List getDeviceCountsByPlatforms(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, DataAccessLayerException; - - /** - * This method is used to get device counts non-compliant upon a particular feature classified by platforms. - * @param featureCode Code name of the non-compliant feature. - * @param basicFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined filtering - * options, this method would return total non-compliant device counts per each platform - * in the system, wrapped by the defined return format. - * @return A list of objects of type DeviceCountByGroup. - * @throws InvalidFeatureCodeValueException This can occur if featureCode is set to null or empty. - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - List getFeatureNonCompliantDeviceCountsByPlatforms(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, - DataAccessLayerException; - - /** - * This method is used to get device counts classified by ownership types. - * @param extendedFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined filtering - * options, this method would return total device counts per each ownership - * type in the system, wrapped by the defined return format. - * @return A list of objects of type DeviceCountByGroup. - * @throws InvalidPotentialVulnerabilityValueException This can occur if potentialVulnerability - * value of extendedFilterSet is set with some - * value other than "NON_COMPLIANT" or "UNMONITORED". - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - List getDeviceCountsByOwnershipTypes(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, DataAccessLayerException; - - /** - * This method is used to get device counts non-compliant upon a particular feature - * classified by ownership types. - * @param featureCode Code name of the non-compliant feature. - * @param basicFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined filtering - * options, this method would return total non-compliant device counts per each - * ownership type in the system, wrapped by the defined return format. - * @return A list of objects of type DeviceCountByGroup. - * @throws InvalidFeatureCodeValueException This can occur if featureCode is set to null or empty. - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - List getFeatureNonCompliantDeviceCountsByOwnershipTypes(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, - DataAccessLayerException; - - /** - * This method is used to get a paginated list of devices with details, based on a defined filter set. - * @param extendedFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined - * filtering options, this method would return a paginated device list in the - * system specified by result count, starting from specified start index, and - * wrapped by the defined return format. - * @param startIndex Starting index of the data set to be retrieved. - * @param resultCount Total count of the result set retrieved. - * @return An object of type PaginationResult. - * @throws InvalidPotentialVulnerabilityValueException This can occur if potentialVulnerability - * value of extendedFilterSet is set with some - * value other than "NON_COMPLIANT" or "UNMONITORED". - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - * @throws InvalidStartIndexValueException This can occur if startIndex value is lesser than its minimum (0). - * @throws InvalidResultCountValueException This can occur if resultCount value is lesser than its minimum (5). - */ - @SuppressWarnings("unused") - PaginationResult getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, int startIndex, int resultCount, String userName) - throws InvalidPotentialVulnerabilityValueException, DataAccessLayerException, - InvalidStartIndexValueException, InvalidResultCountValueException; - - /** - * This method is used to get a paginated list of non-compliant devices with details, - * upon a particular feature. - * @param featureCode Code name of the non-compliant feature. - * @param basicFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined filtering - * options, this method would return a paginated device list in the system, - * non-compliant by specified feature-code, result count, starting from specified - * start index, and wrapped by the defined return format. - * @param startIndex Starting index of the data set to be retrieved. - * @param resultCount Total count of the result set retrieved. - * @return An object of type PaginationResult. - * @throws InvalidFeatureCodeValueException This can occur if featureCode is set to null or empty. - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - * @throws InvalidStartIndexValueException This can occur if startIndex value is lesser than its minimum (0). - * @throws InvalidResultCountValueException This can occur if resultCount value is lesser than its minimum (5). - */ - @SuppressWarnings("unused") - PaginationResult getFeatureNonCompliantDevicesWithDetails(String featureCode, BasicFilterSet basicFilterSet, - int startIndex, int resultCount, String userName) throws InvalidFeatureCodeValueException, - DataAccessLayerException, InvalidStartIndexValueException, - InvalidResultCountValueException; - - /** - * This method is used to get a list of devices with details, based on a defined filter set. - * @param extendedFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined filtering - * options, this method would return total device list in the system - * wrapped by the defined return format. - * @return A list of objects of type DeviceWithDetails. - * @throws InvalidPotentialVulnerabilityValueException This can occur if potentialVulnerability - * value of extendedFilterSet is set with some - * value other than "NON_COMPLIANT" or "UNMONITORED". - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - List getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, DataAccessLayerException; - - /** - * This method is used to get a list of non-compliant devices with details, upon a particular feature. - * @param featureCode Code name of the non-compliant feature. - * @param basicFilterSet An abstract representation of possible filtering options. - * if this value is simply "null" or no values are set for the defined filtering - * options, this method would return total set of non-compliant devices in the - * system upon given feature-code, wrapped by the defined return format. - * @return A list of objects of type DeviceWithDetails. - * @throws InvalidFeatureCodeValueException This can occur if featureCode is set to null or empty. - * @throws DataAccessLayerException This can occur due to errors connecting to database, - * executing SQL query and retrieving data. - */ - @SuppressWarnings("unused") - List getFeatureNonCompliantDevicesWithDetails(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, - DataAccessLayerException; - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/BasicFilterSet.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/BasicFilterSet.java deleted file mode 100644 index 901949ea84..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/BasicFilterSet.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.bean; - -public class BasicFilterSet { - - private String connectivityStatus; - private String platform; - private String ownership; - - public String getConnectivityStatus() { - return connectivityStatus; - } - - public void setConnectivityStatus(String connectivityStatus) { - this.connectivityStatus = connectivityStatus; - } - - public String getPlatform() { - return platform; - } - - @SuppressWarnings("unused") - public void setPlatform(String platform) { - this.platform = platform; - } - - public String getOwnership() { - return ownership; - } - - @SuppressWarnings("unused") - public void setOwnership(String ownership) { - this.ownership = ownership; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/DeviceCountByGroup.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/DeviceCountByGroup.java deleted file mode 100644 index 43076fb0de..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/DeviceCountByGroup.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.bean; - -public class DeviceCountByGroup { - - private String group; - private String displayNameForGroup; - private int deviceCount; - - @SuppressWarnings("unused") - public String getGroup() { - return group; - } - - public void setGroup(String group) { - this.group = group; - } - - @SuppressWarnings("unused") - public String getDisplayNameForGroup() { - return displayNameForGroup; - } - - public void setDisplayNameForGroup(String displayNameForGroup) { - this.displayNameForGroup = displayNameForGroup; - } - - @SuppressWarnings("unused") - public int getDeviceCount() { - return deviceCount; - } - - public void setDeviceCount(int deviceCount) { - this.deviceCount = deviceCount; - } -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/DeviceWithDetails.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/DeviceWithDetails.java deleted file mode 100644 index becadff9c9..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/DeviceWithDetails.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.bean; - -public class DeviceWithDetails { - - private int deviceId; - private String deviceIdentification; - private String platform; - private String ownershipType; - private String connectivityStatus; - - @SuppressWarnings("unused") - public int getDeviceId() { - return deviceId; - } - - public void setDeviceId(int deviceId) { - this.deviceId = deviceId; - } - - @SuppressWarnings("unused") - public String getDeviceIdentification() { - return deviceIdentification; - } - - public void setDeviceIdentification(String deviceIdentification) { - this.deviceIdentification = deviceIdentification; - } - - @SuppressWarnings("unused") - public String getPlatform() { - return platform; - } - - public void setPlatform(String platform) { - this.platform = platform; - } - - @SuppressWarnings("unused") - public String getOwnershipType() { - return ownershipType; - } - - public void setOwnershipType(String ownershipType) { - this.ownershipType = ownershipType; - } - - @SuppressWarnings("unused") - public String getConnectivityStatus() { - return connectivityStatus; - } - - public void setConnectivityStatus(String connectivityStatus) { - this.connectivityStatus = connectivityStatus; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/ExtendedFilterSet.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/ExtendedFilterSet.java deleted file mode 100644 index b68a441a90..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/bean/ExtendedFilterSet.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.bean; - -public class ExtendedFilterSet extends BasicFilterSet { - - /* - * Following property is an abstract filter, introduced @ service layer, - * wrapping few (actual) low level database properties. - */ - private String potentialVulnerability; - - public String getPotentialVulnerability() { - return potentialVulnerability; - } - - public void setPotentialVulnerability(String potentialVulnerability) { - this.potentialVulnerability = potentialVulnerability; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/AbstractGadgetDataServiceDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/AbstractGadgetDataServiceDAO.java deleted file mode 100644 index 4cad3f2201..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/AbstractGadgetDataServiceDAO.java +++ /dev/null @@ -1,807 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.dao; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.BasicFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceWithDetails; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceCountByGroup; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.ExtendedFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.exception.InvalidFeatureCodeValueException; -import org.wso2.carbon.device.mgt.analytics.dashboard.exception.InvalidPotentialVulnerabilityValueException; -import org.wso2.carbon.device.mgt.analytics.dashboard.util.APIUtil; -import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -import static org.wso2.carbon.device.mgt.analytics.dashboard.util.APIUtil.getAuthenticatedUser; -import static org.wso2.carbon.device.mgt.analytics.dashboard.util.APIUtil.getAuthenticatedUserTenantDomainId; - -public abstract class AbstractGadgetDataServiceDAO implements GadgetDataServiceDAO { - - private static final Log log = LogFactory.getLog(AbstractGadgetDataServiceDAO.class); - @Override - public DeviceCountByGroup getTotalDeviceCount(String userName) throws SQLException { - int totalDeviceCount; - try { - totalDeviceCount = this.getFilteredDeviceCount(null, userName); - } catch (InvalidPotentialVulnerabilityValueException e) { - throw new AssertionError(e); - } - DeviceCountByGroup deviceCountByGroup = new DeviceCountByGroup(); - deviceCountByGroup.setGroup("total"); - deviceCountByGroup.setDisplayNameForGroup("Total"); - deviceCountByGroup.setDeviceCount(totalDeviceCount); - return deviceCountByGroup; - } - - @Override - public DeviceCountByGroup getDeviceCount(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, SQLException { - int filteredDeviceCount = this.getFilteredDeviceCount(extendedFilterSet, userName); - DeviceCountByGroup deviceCountByGroup = new DeviceCountByGroup(); - deviceCountByGroup.setGroup("filtered"); - deviceCountByGroup.setDisplayNameForGroup("Filtered"); - deviceCountByGroup.setDeviceCount(filteredDeviceCount); - return deviceCountByGroup; - } - - private int getFilteredDeviceCount(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, SQLException { - - Map filters = this.extractDatabaseFiltersFromBean(extendedFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - int filteredDeviceCount = 0; - try { - String sql; - con = this.getConnection(); - if (APIUtil.isDeviceAdminUser()) { - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO WHERE TENANT_ID = ?"; - } else { - sql = "SELECT COUNT(POLICY__INFO.DEVICE_ID) AS DEVICE_COUNT FROM " - + GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO INNER JOIN" + - " DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = POLICY__INFO.DEVICE_ID AND " + - " POLICY__INFO.TENANT_ID = ? AND ENR_DB.OWNER = ? "; - } - // appending filters to support advanced filtering options - // [1] appending filter columns - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - sql = sql + " AND POLICY__INFO." + column + " = ? "; - } - } - // [2] appending filter column values, if exist - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - int index = 2; - if (!APIUtil.isDeviceAdminUser()) { - stmt.setString(2, userName); - index = 3; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - filteredDeviceCount = rs.getInt("DEVICE_COUNT"); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return filteredDeviceCount; - } - - @Override - public DeviceCountByGroup getFeatureNonCompliantDeviceCount(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, SQLException { - - if (featureCode == null || featureCode.isEmpty()) { - throw new InvalidFeatureCodeValueException("Feature code should not be either null or empty."); - } - - Map filters = this.extractDatabaseFiltersFromBean(basicFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - int filteredDeviceCount = 0; - try { - String sql; - con = this.getConnection(); - if (APIUtil.isDeviceAdminUser()) { - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + " FEATURE_INFO WHERE TENANT_ID =" + - " ? AND FEATURE_CODE = ?"; - } else { - sql = "SELECT COUNT(FEATURE_INFO.DEVICE_ID) AS DEVICE_COUNT FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + " FEATURE_INFO INNER JOIN " + - "DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = FEATURE_INFO.DEVICE_ID AND " + - "FEATURE_INFO.TENANT_ID = ? AND FEATURE_INFO.FEATURE_CODE = ? AND ENR_DB.OWNER = ? "; - } - // appending filters to support advanced filtering options - // [1] appending filter columns - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - sql = sql + " AND FEATURE_INFO." + column + " = ?"; - } - } - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - int index = 3; - if (!APIUtil.isDeviceAdminUser()) { - stmt.setString(3, userName); - index = 4; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - filteredDeviceCount = rs.getInt("DEVICE_COUNT"); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - - DeviceCountByGroup deviceCountByGroup = new DeviceCountByGroup(); - deviceCountByGroup.setGroup("feature-non-compliant-and-filtered"); - deviceCountByGroup.setDisplayNameForGroup("Feature-non-compliant-and-filtered"); - deviceCountByGroup.setDeviceCount(filteredDeviceCount); - - return deviceCountByGroup; - } - - @Override - public List getDeviceCountsByConnectivityStatuses(String userName) throws SQLException { - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List deviceCountsByConnectivityStatuses = new ArrayList<>(); - try { - String sql; - con = this.getConnection(); - if (APIUtil.isDeviceAdminUser()) { - sql = "SELECT CONNECTIVITY_STATUS, COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + - " WHERE TENANT_ID = ? GROUP BY CONNECTIVITY_STATUS"; - } else { - sql = "SELECT POLICY__INFO.CONNECTIVITY_STATUS AS CONNECTIVITY_STATUS, " + - "COUNT(POLICY__INFO.DEVICE_ID) AS DEVICE_COUNT FROM " - + GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO " + - "INNER JOIN DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = POLICY__INFO.DEVICE_ID " + - " AND POLICY__INFO.TENANT_ID = ? AND ENR_DB.OWNER = ? GROUP BY POLICY__INFO.CONNECTIVITY_STATUS"; - } - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(2, userName); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceCountByGroup deviceCountByConnectivityStatus; - while (rs.next()) { - deviceCountByConnectivityStatus = new DeviceCountByGroup(); - deviceCountByConnectivityStatus.setGroup(rs.getString("CONNECTIVITY_STATUS")); - deviceCountByConnectivityStatus.setDisplayNameForGroup(rs.getString("CONNECTIVITY_STATUS")); - deviceCountByConnectivityStatus.setDeviceCount(rs.getInt("DEVICE_COUNT")); - deviceCountsByConnectivityStatuses.add(deviceCountByConnectivityStatus); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return deviceCountsByConnectivityStatuses; - } - - @Override - public List getDeviceCountsByPotentialVulnerabilities(String userName) throws SQLException { - // getting non-compliant device count - DeviceCountByGroup nonCompliantDeviceCount = new DeviceCountByGroup(); - nonCompliantDeviceCount.setGroup(GadgetDataServiceDAOConstants.PotentialVulnerability.NON_COMPLIANT); - nonCompliantDeviceCount.setDisplayNameForGroup("Non-compliant"); - nonCompliantDeviceCount.setDeviceCount(getNonCompliantDeviceCount()); - - // getting unmonitored device count - DeviceCountByGroup unmonitoredDeviceCount = new DeviceCountByGroup(); - unmonitoredDeviceCount.setGroup(GadgetDataServiceDAOConstants.PotentialVulnerability.UNMONITORED); - unmonitoredDeviceCount.setDisplayNameForGroup("Unmonitored"); - unmonitoredDeviceCount.setDeviceCount(getUnmonitoredDeviceCount()); - - List deviceCountsByPotentialVulnerabilities = new ArrayList<>(); - deviceCountsByPotentialVulnerabilities.add(nonCompliantDeviceCount); - deviceCountsByPotentialVulnerabilities.add(unmonitoredDeviceCount); - - return deviceCountsByPotentialVulnerabilities; - } - - private int getNonCompliantDeviceCount() throws SQLException { - ExtendedFilterSet extendedFilterSet = new ExtendedFilterSet(); - extendedFilterSet.setPotentialVulnerability(GadgetDataServiceDAOConstants.PotentialVulnerability.NON_COMPLIANT); - try { - String userName = getAuthenticatedUser(); - return this.getFilteredDeviceCount(extendedFilterSet, userName); - } catch (InvalidPotentialVulnerabilityValueException e) { - throw new AssertionError(e); - } - } - - private int getUnmonitoredDeviceCount() throws SQLException { - ExtendedFilterSet extendedFilterSet = new ExtendedFilterSet(); - extendedFilterSet.setPotentialVulnerability(GadgetDataServiceDAOConstants. - PotentialVulnerability.UNMONITORED); - try { - String userName = getAuthenticatedUser(); - return this.getFilteredDeviceCount(extendedFilterSet, userName); - } catch (InvalidPotentialVulnerabilityValueException e) { - throw new AssertionError(e); - } - } - - @Override - public List getDeviceCountsByPlatforms(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, SQLException { - - Map filters = this.extractDatabaseFiltersFromBean(extendedFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List filteredDeviceCountsByPlatforms = new ArrayList<>(); - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + " AND POLICY__INFO." + column + " = ? "; - } - } - if (APIUtil.isDeviceAdminUser()) { - sql = "SELECT PLATFORM, COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO WHERE TENANT_ID = ? " + advancedSqlFiltering + - " GROUP BY PLATFORM"; - } else { - sql = "SELECT POLICY__INFO.PLATFORM, COUNT(POLICY__INFO.DEVICE_ID) AS DEVICE_COUNT FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO INNER JOIN " + - "DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = POLICY__INFO.DEVICE_ID AND " + - "POLICY__INFO.TENANT_ID = ? AND ENR_DB.OWNER = ? " + advancedSqlFiltering + " GROUP BY " + - "POLICY__INFO.PLATFORM"; - } - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - int index = 2; - if (!APIUtil.isDeviceAdminUser()) { - stmt.setString(2, userName); - index = 3; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceCountByGroup filteredDeviceCountByPlatform; - while (rs.next()) { - filteredDeviceCountByPlatform = new DeviceCountByGroup(); - filteredDeviceCountByPlatform.setGroup(rs.getString("PLATFORM")); - filteredDeviceCountByPlatform.setDisplayNameForGroup(rs.getString("PLATFORM").toUpperCase()); - filteredDeviceCountByPlatform.setDeviceCount(rs.getInt("DEVICE_COUNT")); - filteredDeviceCountsByPlatforms.add(filteredDeviceCountByPlatform); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return filteredDeviceCountsByPlatforms; - } - - @Override - public List - getFeatureNonCompliantDeviceCountsByPlatforms(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, SQLException { - - if (featureCode == null || featureCode.isEmpty()) { - throw new InvalidFeatureCodeValueException("Feature code should not be either null or empty."); - } - - Map filters = this.extractDatabaseFiltersFromBean(basicFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List filteredDeviceCountsByPlatforms = new ArrayList<>(); - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + " AND FEATURE_INFO." + column + " = ? "; - } - } - if (APIUtil.isDeviceAdminUser()) { - sql = "SELECT PLATFORM, COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " FEATURE_INFO WHERE TENANT_ID = ? AND FEATURE_CODE = ? " + - advancedSqlFiltering + " GROUP BY PLATFORM"; - } else { - sql = "SELECT FEATURE_INFO.PLATFORM, COUNT(FEATURE_INFO.DEVICE_ID) AS DEVICE_COUNT FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + " FEATURE_INFO INNER JOIN " + - "DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = FEATURE_INFO.DEVICE_ID " + - " AND FEATURE_INFO.TENANT_ID = ? AND FEATURE_INFO.FEATURE_CODE = ? AND ENR_DB.OWNER = ? " + - advancedSqlFiltering + " GROUP BY FEATURE_INFO.PLATFORM"; - } - - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - int index = 3; - if (!APIUtil.isDeviceAdminUser()) { - stmt.setString(3, userName); - index = 4; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceCountByGroup filteredDeviceCountByPlatform; - while (rs.next()) { - filteredDeviceCountByPlatform = new DeviceCountByGroup(); - filteredDeviceCountByPlatform.setGroup(rs.getString("PLATFORM")); - filteredDeviceCountByPlatform.setDisplayNameForGroup(rs.getString("PLATFORM").toUpperCase()); - filteredDeviceCountByPlatform.setDeviceCount(rs.getInt("DEVICE_COUNT")); - filteredDeviceCountsByPlatforms.add(filteredDeviceCountByPlatform); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return filteredDeviceCountsByPlatforms; - } - - @Override - public List getDeviceCountsByOwnershipTypes(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, SQLException { - - Map filters = this.extractDatabaseFiltersFromBean(extendedFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List filteredDeviceCountsByOwnershipTypes = new ArrayList<>(); - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + " AND POLICY__INFO." + column + " = ? "; - } - } - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT OWNERSHIP, COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO WHERE TENANT_ID = ? " + - advancedSqlFiltering + "GROUP BY OWNERSHIP"; - }else{ - sql = "SELECT POLICY__INFO.OWNERSHIP, COUNT(POLICY__INFO.DEVICE_ID) AS DEVICE_COUNT FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO INNER JOIN " + - "DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = POLICY__INFO.DEVICE_ID AND POLICY__INFO.TENANT_ID" + - " = ? AND ENR_DB.OWNER = ? " + advancedSqlFiltering + " GROUP BY POLICY__INFO.OWNERSHIP"; - } - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - int index = 2; - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(2, userName); - index = 3; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceCountByGroup filteredDeviceCountByOwnershipType; - while (rs.next()) { - filteredDeviceCountByOwnershipType = new DeviceCountByGroup(); - filteredDeviceCountByOwnershipType.setGroup(rs.getString("OWNERSHIP")); - filteredDeviceCountByOwnershipType.setDisplayNameForGroup(rs.getString("OWNERSHIP")); - filteredDeviceCountByOwnershipType.setDeviceCount(rs.getInt("DEVICE_COUNT")); - filteredDeviceCountsByOwnershipTypes.add(filteredDeviceCountByOwnershipType); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return filteredDeviceCountsByOwnershipTypes; - } - - @Override - public List - getFeatureNonCompliantDeviceCountsByOwnershipTypes(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, SQLException { - - if (featureCode == null || featureCode.isEmpty()) { - throw new InvalidFeatureCodeValueException("Feature code should not be either null or empty."); - } - - Map filters = this.extractDatabaseFiltersFromBean(basicFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List filteredDeviceCountsByOwnershipTypes = new ArrayList<>(); - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + " AND FEATURE_INFO." + column + " = ? "; - } - } - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT OWNERSHIP, COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " FEATURE_INFO WHERE TENANT_ID = ? AND FEATURE_CODE = ? " + - advancedSqlFiltering + "GROUP BY OWNERSHIP"; - }else{ - sql = "SELECT FEATURE_INFO.OWNERSHIP, COUNT(FEATURE_INFO.DEVICE_ID) AS DEVICE_COUNT FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + " FEATURE_INFO INNER JOIN " + - "DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = FEATURE_INFO.DEVICE_ID AND FEATURE_INFO.TENANT_ID " + - "= ? AND FEATURE_INFO.FEATURE_CODE = ? AND ENR_DB.OWNER = ? " + advancedSqlFiltering - + " GROUP BY FEATURE_INFO.OWNERSHIP"; - } - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - int index = 3; - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(3, userName); - index = 4; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceCountByGroup filteredDeviceCountByOwnershipType; - while (rs.next()) { - filteredDeviceCountByOwnershipType = new DeviceCountByGroup(); - filteredDeviceCountByOwnershipType.setGroup(rs.getString("OWNERSHIP")); - filteredDeviceCountByOwnershipType.setDisplayNameForGroup(rs.getString("OWNERSHIP")); - filteredDeviceCountByOwnershipType.setDeviceCount(rs.getInt("DEVICE_COUNT")); - filteredDeviceCountsByOwnershipTypes.add(filteredDeviceCountByOwnershipType); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return filteredDeviceCountsByOwnershipTypes; - } - - @Override - public List getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, SQLException { - - Map filters = this.extractDatabaseFiltersFromBean(extendedFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List filteredDevicesWithDetails = new ArrayList<>(); - try { - con = this.getConnection(); - String sql; - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO WHERE TENANT_ID = ?"; - }else{ - sql = "SELECT POLICY__INFO.DEVICE_ID, POLICY__INFO.DEVICE_IDENTIFICATION, POLICY__INFO.PLATFORM," + - " POLICY__INFO.OWNERSHIP, POLICY__INFO.CONNECTIVITY_STATUS FROM "+ - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1+" POLICY__INFO INNER JOIN " + - "DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = POLICY__INFO.DEVICE_ID AND " + - "POLICY__INFO.TENANT_ID = ? AND ENR_DB.OWNER = ?"; - } - // appending filters to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - sql = sql + " AND POLICY__INFO." + column + " = ?"; - } - } - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - int index = 2; - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(2, userName); - index = 3; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return filteredDevicesWithDetails; - } - - @Override - public List getFeatureNonCompliantDevicesWithDetails(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, SQLException { - - if (featureCode == null || featureCode.isEmpty()) { - throw new InvalidFeatureCodeValueException("Feature code should not be either null or empty."); - } - - Map filters = this.extractDatabaseFiltersFromBean(basicFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List filteredDevicesWithDetails = new ArrayList<>(); - try { - con = this.getConnection(); - String sql; - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + - " WHERE TENANT_ID = ? AND FEATURE_CODE = ?"; - }else{ - sql = "SELECT FEATURE_INFO.DEVICE_ID, FEATURE_INFO.DEVICE_IDENTIFICATION, FEATURE_INFO.PLATFORM, " + - "FEATURE_INFO.OWNERSHIP, FEATURE_INFO.CONNECTIVITY_STATUS FROM "+ - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2+" FEATURE_INFO INNER JOIN " + - "DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = FEATURE_INFO.DEVICE_ID AND FEATURE_INFO.TENANT_ID" + - " = ? AND FEATURE_INFO.FEATURE_CODE = ? AND ENR_DB.OWNER = ? "; - } - // appending filters to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - sql = sql + " AND FEATURE_INFO." + column + " = ?"; - } - } - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - int index = 3; - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(3, userName); - index = 4; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - return filteredDevicesWithDetails; - } - - protected Map extractDatabaseFiltersFromBean(BasicFilterSet basicFilterSet) { - if (basicFilterSet == null) { - return null; - } - - Map filters = new LinkedHashMap<>(); - - String connectivityStatus = basicFilterSet.getConnectivityStatus(); - if (connectivityStatus != null && !connectivityStatus.isEmpty()) { - filters.put("CONNECTIVITY_STATUS", connectivityStatus); - } - - String platform = basicFilterSet.getPlatform(); - if (platform != null && !platform.isEmpty()) { - filters.put("PLATFORM", platform); - } - - String ownership = basicFilterSet.getOwnership(); - if (ownership != null && !ownership.isEmpty()) { - filters.put("OWNERSHIP", ownership); - } - - return filters; - } - - protected Map extractDatabaseFiltersFromBean(ExtendedFilterSet extendedFilterSet) - throws InvalidPotentialVulnerabilityValueException { - if (extendedFilterSet == null) { - return null; - } - - Map filters = this.extractDatabaseFiltersFromBean((BasicFilterSet) extendedFilterSet); - - String potentialVulnerability = extendedFilterSet.getPotentialVulnerability(); - if (potentialVulnerability != null && !potentialVulnerability.isEmpty()) { - if (GadgetDataServiceDAOConstants.PotentialVulnerability.NON_COMPLIANT.equals(potentialVulnerability) || - GadgetDataServiceDAOConstants.PotentialVulnerability.UNMONITORED.equals(potentialVulnerability)) { - if (GadgetDataServiceDAOConstants.PotentialVulnerability.NON_COMPLIANT.equals(potentialVulnerability)) { - filters.put("IS_COMPLIANT", 0); - } else { - filters.put("POLICY_ID", -1); - } - } else { - throw new InvalidPotentialVulnerabilityValueException("Invalid use of value for potential " + - "vulnerability. Value of potential vulnerability could only be either " + - GadgetDataServiceDAOConstants.PotentialVulnerability.NON_COMPLIANT + " or " + - GadgetDataServiceDAOConstants.PotentialVulnerability.UNMONITORED + "."); - } - } - - return filters; - } - - protected Connection getConnection() throws SQLException { - return GadgetDataServiceDAOFactory.getConnection(); - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/GadgetDataServiceDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/GadgetDataServiceDAO.java deleted file mode 100644 index 0033f19327..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/GadgetDataServiceDAO.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.dao; - -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceWithDetails; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceCountByGroup; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.BasicFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.ExtendedFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.exception.*; -import org.wso2.carbon.device.mgt.common.PaginationResult; - -import java.sql.SQLException; -import java.util.List; - -public interface GadgetDataServiceDAO { - - DeviceCountByGroup getDeviceCount(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, SQLException; - - DeviceCountByGroup getFeatureNonCompliantDeviceCount(String featureCode, BasicFilterSet basicFilterSet, String userName) - throws InvalidFeatureCodeValueException, SQLException; - - DeviceCountByGroup getTotalDeviceCount(String userName) throws SQLException; - - List getDeviceCountsByConnectivityStatuses(String userName) throws SQLException; - - List getDeviceCountsByPotentialVulnerabilities(String userName) throws SQLException; - - PaginationResult getNonCompliantDeviceCountsByFeatures(int startIndex, int resultCount, String userName) throws - InvalidStartIndexValueException, InvalidResultCountValueException, SQLException; - - List getDeviceCountsByPlatforms(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, SQLException; - - List getFeatureNonCompliantDeviceCountsByPlatforms(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, SQLException; - - List getDeviceCountsByOwnershipTypes(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, SQLException; - - List getFeatureNonCompliantDeviceCountsByOwnershipTypes(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, SQLException; - - PaginationResult getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, int startIndex, int resultCount, String userName) - throws InvalidPotentialVulnerabilityValueException, - InvalidStartIndexValueException, InvalidResultCountValueException, SQLException; - - PaginationResult getFeatureNonCompliantDevicesWithDetails(String featureCode, BasicFilterSet basicFilterSet, - int startIndex, int resultCount, String userName) throws InvalidFeatureCodeValueException, - InvalidStartIndexValueException, InvalidResultCountValueException, SQLException; - - List getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, SQLException; - - List getFeatureNonCompliantDevicesWithDetails(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, SQLException; - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/GadgetDataServiceDAOConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/GadgetDataServiceDAOConstants.java deleted file mode 100644 index cd770b9651..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/GadgetDataServiceDAOConstants.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.dao; - -public final class GadgetDataServiceDAOConstants { - - public static class DatabaseView { - - public static final String DEVICES_VIEW_1 = "POLICY_COMPLIANCE_INFO"; - public static final String DEVICES_VIEW_2 = "FEATURE_NON_COMPLIANCE_INFO"; - - private DatabaseView() { - throw new AssertionError(); - } - - } - - public static class Pagination { - - // Minimum acceptable values for start index and result count - public static final int MIN_START_INDEX = 0; - public static final int MIN_RESULT_COUNT = 5; - - private Pagination() { - throw new AssertionError(); - } - - } - - public static class PotentialVulnerability { - - // These constants do not hold actual database values - // These are just abstract values defined and used @ Gadget Data Service DAO Implementation layer - public static final String NON_COMPLIANT = "NON_COMPLIANT"; - public static final String UNMONITORED = "UNMONITORED"; - - private PotentialVulnerability() { - throw new AssertionError(); - } - - } - - private GadgetDataServiceDAOConstants() { throw new AssertionError(); } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/GadgetDataServiceDAOFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/GadgetDataServiceDAOFactory.java deleted file mode 100644 index d202b685c1..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/GadgetDataServiceDAOFactory.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.dao; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl.GenericGadgetDataServiceDAOImpl; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl.MSSQLGadgetDataServiceDAOImpl; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl.OracleGadgetDataServiceDAOImpl; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl.PostgreSQLGadgetDataServiceDAOImpl; -import org.wso2.carbon.device.mgt.common.DeviceManagementConstants; -import org.wso2.carbon.device.mgt.common.IllegalTransactionStateException; -import org.wso2.carbon.device.mgt.common.UnsupportedDatabaseEngineException; -import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig; -import org.wso2.carbon.device.mgt.core.config.datasource.JNDILookupDefinition; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; - -import javax.sql.DataSource; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.Hashtable; -import java.util.List; - -@SuppressWarnings("unused") -public class GadgetDataServiceDAOFactory { - - private static final Log log = LogFactory.getLog(GadgetDataServiceDAOFactory.class); - private static DataSource dataSource; - private static String databaseEngine; - private static ThreadLocal currentConnection = new ThreadLocal<>(); - - public static GadgetDataServiceDAO getGadgetDataServiceDAO() { - if (databaseEngine != null) { - switch (databaseEngine) { - case DeviceManagementConstants.DataBaseTypes.DB_TYPE_H2: - return new GenericGadgetDataServiceDAOImpl(); - case DeviceManagementConstants.DataBaseTypes.DB_TYPE_MYSQL: - return new GenericGadgetDataServiceDAOImpl(); - case DeviceManagementConstants.DataBaseTypes.DB_TYPE_MSSQL: - return new MSSQLGadgetDataServiceDAOImpl(); - case DeviceManagementConstants.DataBaseTypes.DB_TYPE_POSTGRESQL: - return new PostgreSQLGadgetDataServiceDAOImpl(); - case DeviceManagementConstants.DataBaseTypes.DB_TYPE_ORACLE: - return new OracleGadgetDataServiceDAOImpl(); - default: - throw new UnsupportedDatabaseEngineException("Unsupported database engine : " + databaseEngine); - } - } - throw new IllegalStateException("Database engine has not initialized properly."); - } - - public static void init(DataSourceConfig config) { - dataSource = resolveDataSource(config); - try { - databaseEngine = dataSource.getConnection().getMetaData().getDatabaseProductName(); - } catch (SQLException e) { - log.error("Error occurred while retrieving config.datasource connection.", e); - } - } - - public static void init(DataSource dtSource) { - dataSource = dtSource; - try { - databaseEngine = dataSource.getConnection().getMetaData().getDatabaseProductName(); - } catch (SQLException e) { - log.error("Error occurred while retrieving config.datasource connection.", e); - } - } - - public static void openConnection() throws SQLException { - Connection conn = currentConnection.get(); - if (conn != null) { - throw new IllegalTransactionStateException("A transaction is already active within the context of " + - "this particular thread. Therefore, calling 'beginTransaction/openConnection' while another " + - "transaction is already active is a sign of improper transaction handling."); - } - conn = dataSource.getConnection(); - currentConnection.set(conn); - } - - public static Connection getConnection() throws SQLException { - Connection conn = currentConnection.get(); - if (conn == null) { - throw new IllegalTransactionStateException("No connection is associated with the current transaction. " + - "This might have ideally been caused by not properly initiating the transaction via " + - "'beginTransaction'/'openConnection' methods."); - } - return conn; - } - - public static void closeConnection() { - Connection conn = currentConnection.get(); - if (conn == null) { - throw new IllegalTransactionStateException("No connection is associated with the current transaction. " + - "This might have ideally been caused by not properly initiating the transaction via " + - "'beginTransaction'/'openConnection' methods."); - } - try { - conn.close(); - } catch (SQLException e) { - log.warn("Error occurred while close the connection."); - } - currentConnection.remove(); - } - - - /** - * Resolve data source from the data source definition. - * - * @param config data source configuration. - * @return data source resolved from the data source definition. - */ - private static DataSource resolveDataSource(DataSourceConfig config) { - 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 jndiPropertyList = jndiConfig.getJndiProperties(); - if (jndiPropertyList != null) { - Hashtable jndiProperties = new Hashtable<>(); - for (JNDILookupDefinition.JNDIProperty prop : jndiPropertyList) { - jndiProperties.put(prop.getName(), prop.getValue()); - } - dataSource = DeviceManagementDAOUtil.lookupDataSource(jndiConfig.getJndiName(), jndiProperties); - } else { - dataSource = DeviceManagementDAOUtil.lookupDataSource(jndiConfig.getJndiName(), null); - } - } - return dataSource; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/GenericGadgetDataServiceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/GenericGadgetDataServiceDAOImpl.java deleted file mode 100644 index 68defcc788..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/GenericGadgetDataServiceDAOImpl.java +++ /dev/null @@ -1,374 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceWithDetails; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceCountByGroup; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.BasicFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.ExtendedFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.AbstractGadgetDataServiceDAO; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.GadgetDataServiceDAOConstants; -import org.wso2.carbon.device.mgt.analytics.dashboard.exception.*; -import org.wso2.carbon.device.mgt.analytics.dashboard.util.APIUtil; -import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import static org.wso2.carbon.device.mgt.analytics.dashboard.util.APIUtil.getAuthenticatedUserTenantDomainId; - -public class GenericGadgetDataServiceDAOImpl extends AbstractGadgetDataServiceDAO { - - private static final Log log = LogFactory.getLog(GenericGadgetDataServiceDAOImpl.class); - - @Override - public PaginationResult getNonCompliantDeviceCountsByFeatures(int startIndex, int resultCount, String userName) - throws InvalidStartIndexValueException, InvalidResultCountValueException, SQLException { - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List filteredNonCompliantDeviceCountsByFeatures = new ArrayList<>(); - int totalRecordsCount = 0; - try { - String sql; - con = this.getConnection(); - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT FEATURE_CODE, COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? GROUP BY FEATURE_CODE " + - "ORDER BY DEVICE_COUNT DESC LIMIT ?, ?"; - }else{ - sql = "SELECT FEATURE_INFO.FEATURE_CODE, COUNT(FEATURE_INFO.DEVICE_ID) AS DEVICE_COUNT " + - "FROM "+GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2+" FEATURE_INFO INNER JOIN " + - "DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = FEATURE_INFO.DEVICE_ID AND " + - "FEATURE_INFO.TENANT_ID = ? AND ENR_DB.OWNER = ? GROUP BY FEATURE_INFO.FEATURE_CODE ORDER BY" + - " DEVICE_COUNT DESC LIMIT ?, ?"; - } - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(2, userName); - stmt.setInt(3, startIndex); - stmt.setInt(4, resultCount); - }else{ - stmt.setInt(2, startIndex); - stmt.setInt(3, resultCount); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceCountByGroup filteredNonCompliantDeviceCountByFeature; - while (rs.next()) { - filteredNonCompliantDeviceCountByFeature = new DeviceCountByGroup(); - filteredNonCompliantDeviceCountByFeature.setGroup(rs.getString("FEATURE_CODE")); - filteredNonCompliantDeviceCountByFeature.setDisplayNameForGroup(rs.getString("FEATURE_CODE")); - filteredNonCompliantDeviceCountByFeature.setDeviceCount(rs.getInt("DEVICE_COUNT")); - filteredNonCompliantDeviceCountsByFeatures.add(filteredNonCompliantDeviceCountByFeature); - } - // fetching total records count - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT COUNT(FEATURE_CODE) AS NON_COMPLIANT_FEATURE_COUNT FROM (SELECT DISTINCT FEATURE_CODE FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ?) " + - "NON_COMPLIANT_FEATURE_CODE"; - }else{ - sql = "SELECT COUNT(FEATURE_CODE) AS NON_COMPLIANT_FEATURE_COUNT FROM (SELECT DISTINCT " + - "FEATURE_INFO.FEATURE_CODE FROM "+GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 - +" FEATURE_INFO INNER JOIN DM_ENROLMENT ENR_DB ON ENR_DB.DEVICE_ID = FEATURE_INFO.DEVICE_ID " + - "AND FEATURE_INFO.TENANT_ID = ? AND ENR_DB.OWNER = ? ) NON_COMPLIANT_FEATURE_CODE"; - } - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(2, userName); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("NON_COMPLIANT_FEATURE_COUNT"); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredNonCompliantDeviceCountsByFeatures); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - - @Override - public PaginationResult getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, int startIndex, - int resultCount, String userName) throws InvalidPotentialVulnerabilityValueException, - InvalidStartIndexValueException, InvalidResultCountValueException, SQLException { - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Map filters = this.extractDatabaseFiltersFromBean(extendedFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List filteredDevicesWithDetails = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + " AND POLICY__INFO." + column + " = ? "; - } - } - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO WHERE TENANT_ID = ? " + - advancedSqlFiltering + "ORDER BY DEVICE_ID ASC LIMIT ?, ?"; - }else{ - sql = "SELECT POLICY__INFO.DEVICE_ID, POLICY__INFO.DEVICE_IDENTIFICATION, POLICY__INFO.PLATFORM, " + - "POLICY__INFO.OWNERSHIP, POLICY__INFO.CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " POLICY__INFO INNER JOIN DM_ENROLMENT " + - "ENR_DB ON ENR_DB.DEVICE_ID = POLICY__INFO.DEVICE_ID AND " + - "POLICY__INFO.TENANT_ID = ? AND ENR_DB.OWNER = ? " + advancedSqlFiltering + " ORDER BY " + - "POLICY__INFO.DEVICE_ID ASC LIMIT ?,?"; - } - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - int index = 2; - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(2, userName); - index = 3; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - stmt.setInt(i, startIndex); - stmt.setInt(++i, resultCount); - } else { - stmt.setInt(3, startIndex); - stmt.setInt(4, resultCount); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_1 + " WHERE TENANT_ID = ?"; - }else{ - sql = "SELECT COUNT(POLICY__INFO.DEVICE_ID) AS DEVICE_COUNT FROM "+GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_1+" POLICY__INFO INNER JOIN DM_ENROLMENT ENR_DB ON " + - "ENR_DB.DEVICE_ID = POLICY__INFO.DEVICE_ID AND POLICY__INFO.TENANT_ID = ? AND ENR_DB.OWNER = ? "; - } - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(2, userName); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("DEVICE_COUNT"); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredDevicesWithDetails); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - - @Override - public PaginationResult getFeatureNonCompliantDevicesWithDetails(String featureCode, - BasicFilterSet basicFilterSet, int startIndex, int resultCount, String userName) - throws InvalidFeatureCodeValueException, InvalidStartIndexValueException, - InvalidResultCountValueException, SQLException { - - if (featureCode == null || featureCode.isEmpty()) { - throw new InvalidFeatureCodeValueException("Feature code should not be either null or empty."); - } - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Map filters = this.extractDatabaseFiltersFromBean(basicFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = getAuthenticatedUserTenantDomainId(); - List filteredDevicesWithDetails = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + "AND FEATURE_INFO." + column + " = ? "; - } - } - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + - " FEATURE_INFO WHERE TENANT_ID = ? AND FEATURE_CODE = ? " + advancedSqlFiltering + - "ORDER BY DEVICE_ID ASC LIMIT ?, ?"; - }else{ - sql = "SELECT FEATURE_INFO.DEVICE_ID, FEATURE_INFO.DEVICE_IDENTIFICATION, FEATURE_INFO.PLATFORM, " + - "FEATURE_INFO.OWNERSHIP, FEATURE_INFO.CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + " FEATURE_INFO INNER JOIN DM_ENROLMENT " + - "ENR_DB ON ENR_DB.DEVICE_ID = FEATURE_INFO.DEVICE_ID " + - " AND FEATURE_INFO.TENANT_ID = ? AND FEATURE_INFO.FEATURE_CODE = ? AND ENR_DB.OWNER = ? " + - advancedSqlFiltering + " ORDER BY DEVICE_ID ASC LIMIT ?,?"; - } - - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - int index = 3; - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(3, userName); - index = 4; - } - if (filters != null && filters.values().size() > 0) { - int i = index; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - stmt.setInt(i, startIndex); - stmt.setInt(++i, resultCount); - } else { - stmt.setInt(index, startIndex); - stmt.setInt(++index, resultCount); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - if(APIUtil.isDeviceAdminUser()){ - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? AND FEATURE_CODE = ?"; - }else{ - sql = "SELECT COUNT(FEATURE_INFO.DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " FEATURE_INFO INNER JOIN DM_ENROLMENT ENR_DB ON " + - "ENR_DB.DEVICE_ID = FEATURE_INFO.DEVICE_ID AND FEATURE_INFO.TENANT_ID = ? AND " + - "FEATURE_INFO.FEATURE_CODE = ? AND ENR_DB.OWNER = ? "; - } - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - if(!APIUtil.isDeviceAdminUser()){ - stmt.setString(3, userName); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("DEVICE_COUNT"); - } - } catch (DeviceAccessAuthorizationException e) { - String msg = "Error occurred while checking device access authorization"; - log.error(msg, e); - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredDevicesWithDetails); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/MSSQLGadgetDataServiceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/MSSQLGadgetDataServiceDAOImpl.java deleted file mode 100644 index 23374a3fc2..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/MSSQLGadgetDataServiceDAOImpl.java +++ /dev/null @@ -1,298 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl; - -import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceWithDetails; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceCountByGroup; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.BasicFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.ExtendedFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.AbstractGadgetDataServiceDAO; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.GadgetDataServiceDAOConstants; -import org.wso2.carbon.device.mgt.analytics.dashboard.exception.*; -import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class MSSQLGadgetDataServiceDAOImpl extends AbstractGadgetDataServiceDAO { - - @Override - public PaginationResult getNonCompliantDeviceCountsByFeatures(int startIndex, int resultCount, String userName) - throws InvalidStartIndexValueException, InvalidResultCountValueException, SQLException { - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - List filteredNonCompliantDeviceCountsByFeatures = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql = "SELECT FEATURE_CODE, COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? GROUP BY FEATURE_CODE ORDER BY DEVICE_COUNT DESC " + - "OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - stmt.setInt(2, startIndex); - stmt.setInt(3, resultCount); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceCountByGroup filteredNonCompliantDeviceCountByFeature; - while (rs.next()) { - filteredNonCompliantDeviceCountByFeature = new DeviceCountByGroup(); - filteredNonCompliantDeviceCountByFeature.setGroup(rs.getString("FEATURE_CODE")); - filteredNonCompliantDeviceCountByFeature.setDisplayNameForGroup(rs.getString("FEATURE_CODE")); - filteredNonCompliantDeviceCountByFeature.setDeviceCount(rs.getInt("DEVICE_COUNT")); - filteredNonCompliantDeviceCountsByFeatures.add(filteredNonCompliantDeviceCountByFeature); - } - // fetching total records count - sql = "SELECT COUNT(FEATURE_CODE) AS NON_COMPLIANT_FEATURE_COUNT FROM " + - "(SELECT DISTINCT FEATURE_CODE FROM " + GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + - " WHERE TENANT_ID = ?) NON_COMPLIANT_FEATURE_CODE"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("NON_COMPLIANT_FEATURE_COUNT"); - } - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredNonCompliantDeviceCountsByFeatures); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - - @Override - public PaginationResult getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, int startIndex, int resultCount, String userName) - throws InvalidPotentialVulnerabilityValueException, - InvalidStartIndexValueException, - InvalidResultCountValueException, - SQLException { - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Map filters = this.extractDatabaseFiltersFromBean(extendedFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - List filteredDevicesWithDetails = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + "AND " + column + " = ? "; - } - } - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " WHERE TENANT_ID = ? " + - advancedSqlFiltering + "ORDER BY DEVICE_ID ASC OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - if (filters != null && filters.values().size() > 0) { - int i = 2; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - stmt.setInt(i, startIndex); - stmt.setInt(++i, resultCount); - } else { - stmt.setInt(2, startIndex); - stmt.setInt(3, resultCount); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - - // fetching total records count - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_1 + " WHERE TENANT_ID = ?"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("DEVICE_COUNT"); - } - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredDevicesWithDetails); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - - @Override - public PaginationResult getFeatureNonCompliantDevicesWithDetails(String featureCode, - BasicFilterSet basicFilterSet, int startIndex, int resultCount, String userName) - throws InvalidFeatureCodeValueException, InvalidStartIndexValueException, - InvalidResultCountValueException, SQLException { - - if (featureCode == null || featureCode.isEmpty()) { - throw new InvalidFeatureCodeValueException("Feature code should not be either null or empty."); - } - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Map filters = this.extractDatabaseFiltersFromBean(basicFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - List filteredDevicesWithDetails = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + "AND " + column + " = ? "; - } - } - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? AND FEATURE_CODE = ? " + - advancedSqlFiltering + "ORDER BY DEVICE_ID ASC OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; - - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - if (filters != null && filters.values().size() > 0) { - int i = 3; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - stmt.setInt(i, startIndex); - stmt.setInt(++i, resultCount); - } else { - stmt.setInt(3, startIndex); - stmt.setInt(4, resultCount); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - - // fetching total records count - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? AND FEATURE_CODE = ?"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("DEVICE_COUNT"); - } - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredDevicesWithDetails); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/OracleGadgetDataServiceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/OracleGadgetDataServiceDAOImpl.java deleted file mode 100644 index 4d58e508e7..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/OracleGadgetDataServiceDAOImpl.java +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl; - -import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceWithDetails; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceCountByGroup; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.BasicFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.ExtendedFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.AbstractGadgetDataServiceDAO; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.GadgetDataServiceDAOConstants; -import org.wso2.carbon.device.mgt.analytics.dashboard.exception.*; -import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class OracleGadgetDataServiceDAOImpl extends AbstractGadgetDataServiceDAO { - - @Override - public PaginationResult getNonCompliantDeviceCountsByFeatures(int startIndex, int resultCount, String userName) - throws InvalidStartIndexValueException, InvalidResultCountValueException, SQLException { - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - List filteredNonCompliantDeviceCountsByFeatures = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql = "SELECT FEATURE_CODE, COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 - + " WHERE TENANT_ID = ? GROUP BY FEATURE_CODE ORDER BY DEVICE_COUNT DESC " - + "OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - stmt.setInt(2, startIndex); - stmt.setInt(3, resultCount); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceCountByGroup filteredNonCompliantDeviceCountByFeature; - while (rs.next()) { - filteredNonCompliantDeviceCountByFeature = new DeviceCountByGroup(); - filteredNonCompliantDeviceCountByFeature.setGroup(rs.getString("FEATURE_CODE")); - filteredNonCompliantDeviceCountByFeature.setDisplayNameForGroup(rs.getString("FEATURE_CODE")); - filteredNonCompliantDeviceCountByFeature.setDeviceCount(rs.getInt("DEVICE_COUNT")); - filteredNonCompliantDeviceCountsByFeatures.add(filteredNonCompliantDeviceCountByFeature); - } - // fetching total records count - sql = "SELECT COUNT(FEATURE_CODE) AS NON_COMPLIANT_FEATURE_COUNT FROM " + - "(SELECT DISTINCT FEATURE_CODE FROM " + GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + - " WHERE TENANT_ID = ?) NON_COMPLIANT_FEATURE_CODE"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("NON_COMPLIANT_FEATURE_COUNT"); - } - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredNonCompliantDeviceCountsByFeatures); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - - @Override - public PaginationResult getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, int startIndex, int resultCount, String userName) - throws InvalidPotentialVulnerabilityValueException, InvalidStartIndexValueException, - InvalidResultCountValueException, SQLException { - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Map filters = this.extractDatabaseFiltersFromBean(extendedFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - List filteredDevicesWithDetails = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + "AND " + column + " = ? "; - } - } - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " - + GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " WHERE TENANT_ID = ? " - + advancedSqlFiltering + "ORDER BY DEVICE_ID ASC OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - if (filters != null && filters.values().size() > 0) { - int i = 2; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - stmt.setInt(i, startIndex); - stmt.setInt(++i, resultCount); - } else { - stmt.setInt(2, startIndex); - stmt.setInt(3, resultCount); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - - // fetching total records count - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_1 + " WHERE TENANT_ID = ?"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("DEVICE_COUNT"); - } - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredDevicesWithDetails); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - - @Override - public PaginationResult getFeatureNonCompliantDevicesWithDetails(String featureCode, BasicFilterSet basicFilterSet, - int startIndex, int resultCount, String userName) throws InvalidFeatureCodeValueException, - InvalidStartIndexValueException, InvalidResultCountValueException, SQLException { - - if (featureCode == null || featureCode.isEmpty()) { - throw new InvalidFeatureCodeValueException("Feature code should not be either null or empty."); - } - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Map filters = this.extractDatabaseFiltersFromBean(basicFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - List filteredDevicesWithDetails = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + "AND " + column + " = ? "; - } - } - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? AND FEATURE_CODE = ? " + - advancedSqlFiltering + "ORDER BY DEVICE_ID ASC OFFSET ? ROWS FETCH NEXT ? ROWS ONLY"; - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - if (filters != null && filters.values().size() > 0) { - int i = 3; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - stmt.setInt(i, startIndex); - stmt.setInt(++i, resultCount); - } else { - stmt.setInt(3, startIndex); - stmt.setInt(4, resultCount); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - - // fetching total records count - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? AND FEATURE_CODE = ?"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("DEVICE_COUNT"); - } - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredDevicesWithDetails); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/PostgreSQLGadgetDataServiceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/PostgreSQLGadgetDataServiceDAOImpl.java deleted file mode 100644 index 5f859ec8b2..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/dao/impl/PostgreSQLGadgetDataServiceDAOImpl.java +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.dao.impl; - -import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceWithDetails; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceCountByGroup; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.BasicFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.ExtendedFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.AbstractGadgetDataServiceDAO; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.GadgetDataServiceDAOConstants; -import org.wso2.carbon.device.mgt.analytics.dashboard.exception.*; -import org.wso2.carbon.device.mgt.common.PaginationResult; -import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class PostgreSQLGadgetDataServiceDAOImpl extends AbstractGadgetDataServiceDAO { - - @Override - public PaginationResult getNonCompliantDeviceCountsByFeatures(int startIndex, int resultCount, String userName) - throws InvalidStartIndexValueException, InvalidResultCountValueException, SQLException { - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - List filteredNonCompliantDeviceCountsByFeatures = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql = "SELECT FEATURE_CODE, COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? GROUP BY FEATURE_CODE " + - "ORDER BY DEVICE_COUNT DESC OFFSET ? LIMIT ?"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - stmt.setInt(2, startIndex); - stmt.setInt(3, resultCount); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceCountByGroup filteredNonCompliantDeviceCountByFeature; - while (rs.next()) { - filteredNonCompliantDeviceCountByFeature = new DeviceCountByGroup(); - filteredNonCompliantDeviceCountByFeature.setGroup(rs.getString("FEATURE_CODE")); - filteredNonCompliantDeviceCountByFeature.setDisplayNameForGroup(rs.getString("FEATURE_CODE")); - filteredNonCompliantDeviceCountByFeature.setDeviceCount(rs.getInt("DEVICE_COUNT")); - filteredNonCompliantDeviceCountsByFeatures.add(filteredNonCompliantDeviceCountByFeature); - } - // fetching total records count - sql = "SELECT COUNT(FEATURE_CODE) AS NON_COMPLIANT_FEATURE_COUNT FROM " + - "(SELECT DISTINCT FEATURE_CODE FROM " + GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + - " WHERE TENANT_ID = ?) NON_COMPLIANT_FEATURE_CODE"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("NON_COMPLIANT_FEATURE_COUNT"); - } - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredNonCompliantDeviceCountsByFeatures); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - - @Override - public PaginationResult getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, int startIndex, int resultCount, String userName) - throws InvalidPotentialVulnerabilityValueException, InvalidStartIndexValueException, - InvalidResultCountValueException, SQLException { - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Map filters = this.extractDatabaseFiltersFromBean(extendedFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - List filteredDevicesWithDetails = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + "AND " + column + " = ? "; - } - } - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_1 + " WHERE TENANT_ID = ? " + - advancedSqlFiltering + "ORDER BY DEVICE_ID ASC OFFSET ? LIMIT ?"; - - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - if (filters != null && filters.values().size() > 0) { - int i = 2; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - stmt.setInt(i, startIndex); - stmt.setInt(++i, resultCount); - } else { - stmt.setInt(2, startIndex); - stmt.setInt(3, resultCount); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - - // fetching total records count - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_1 + " WHERE TENANT_ID = ?"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("DEVICE_COUNT"); - } - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredDevicesWithDetails); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - - @Override - public PaginationResult getFeatureNonCompliantDevicesWithDetails(String featureCode, BasicFilterSet basicFilterSet, - int startIndex, int resultCount, String userName) throws InvalidFeatureCodeValueException, - InvalidStartIndexValueException, InvalidResultCountValueException, SQLException { - - if (featureCode == null || featureCode.isEmpty()) { - throw new InvalidFeatureCodeValueException("Feature code should not be either null or empty."); - } - - if (startIndex < GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX) { - throw new InvalidStartIndexValueException("Start index should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_START_INDEX + " or greater than that."); - } - - if (resultCount < GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT) { - throw new InvalidResultCountValueException("Result count should be equal to " + - GadgetDataServiceDAOConstants.Pagination.MIN_RESULT_COUNT + " or greater than that."); - } - - Map filters = this.extractDatabaseFiltersFromBean(basicFilterSet); - - Connection con; - PreparedStatement stmt = null; - ResultSet rs = null; - int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(); - List filteredDevicesWithDetails = new ArrayList<>(); - int totalRecordsCount = 0; - try { - con = this.getConnection(); - String sql, advancedSqlFiltering = ""; - // appending filters if exist, to support advanced filtering options - // [1] appending filter columns, if exist - if (filters != null && filters.size() > 0) { - for (String column : filters.keySet()) { - advancedSqlFiltering = advancedSqlFiltering + "AND " + column + " = ? "; - } - } - sql = "SELECT DEVICE_ID, DEVICE_IDENTIFICATION, PLATFORM, OWNERSHIP, CONNECTIVITY_STATUS FROM " + - GadgetDataServiceDAOConstants.DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? AND FEATURE_CODE = ? " + - advancedSqlFiltering + "ORDER BY DEVICE_ID ASC OFFSET ? LIMIT ?"; - - stmt = con.prepareStatement(sql); - // [2] appending filter column values, if exist - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - if (filters != null && filters.values().size() > 0) { - int i = 3; - for (Object value : filters.values()) { - if (value instanceof Integer) { - stmt.setInt(i, (Integer) value); - } else if (value instanceof String) { - stmt.setString(i, (String) value); - } - i++; - } - stmt.setInt(i, startIndex); - stmt.setInt(++i, resultCount); - } else { - stmt.setInt(3, startIndex); - stmt.setInt(4, resultCount); - } - // executing query - rs = stmt.executeQuery(); - // fetching query results - DeviceWithDetails filteredDeviceWithDetails; - while (rs.next()) { - filteredDeviceWithDetails = new DeviceWithDetails(); - filteredDeviceWithDetails.setDeviceId(rs.getInt("DEVICE_ID")); - filteredDeviceWithDetails.setDeviceIdentification(rs.getString("DEVICE_IDENTIFICATION")); - filteredDeviceWithDetails.setPlatform(rs.getString("PLATFORM")); - filteredDeviceWithDetails.setOwnershipType(rs.getString("OWNERSHIP")); - filteredDeviceWithDetails.setConnectivityStatus(rs.getString("CONNECTIVITY_STATUS")); - filteredDevicesWithDetails.add(filteredDeviceWithDetails); - } - - // fetching total records count - sql = "SELECT COUNT(DEVICE_ID) AS DEVICE_COUNT FROM " + GadgetDataServiceDAOConstants. - DatabaseView.DEVICES_VIEW_2 + " WHERE TENANT_ID = ? AND FEATURE_CODE = ?"; - - stmt = con.prepareStatement(sql); - stmt.setInt(1, tenantId); - stmt.setString(2, featureCode); - - // executing query - rs = stmt.executeQuery(); - // fetching query results - while (rs.next()) { - totalRecordsCount = rs.getInt("DEVICE_COUNT"); - } - } finally { - DeviceManagementDAOUtil.cleanupResources(stmt, rs); - } - PaginationResult paginationResult = new PaginationResult(); - paginationResult.setData(filteredDevicesWithDetails); - paginationResult.setRecordsTotal(totalRecordsCount); - return paginationResult; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/DataAccessLayerException.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/DataAccessLayerException.java deleted file mode 100644 index 69bd5a9f6a..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/DataAccessLayerException.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.exception; - -/** - * Custom exception class for communicating data access layer issues - * relevant to Gadget Data Service DAO layer. - * (In this particular instance, SQL exceptions related to database access). - */ -public class DataAccessLayerException extends Exception { - - private String errorMessage; - private static final long serialVersionUID = 2021891706072918864L; - - /** - * Constructs a new exception with the specific error message and nested exception. - * @param errorMessage specific error message. - * @param nestedException Nested exception. - */ - @SuppressWarnings("unused") - public DataAccessLayerException(String errorMessage, Exception nestedException) { - super(errorMessage, nestedException); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param errorMessage Specific error message. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public DataAccessLayerException(String errorMessage, Throwable cause) { - super(errorMessage, cause); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message. - * @param errorMessage Specific error message. - */ - public DataAccessLayerException(String errorMessage) { - super(errorMessage); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public DataAccessLayerException(Throwable cause) { - super(cause); - } - - @SuppressWarnings("unused") - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidFeatureCodeValueException.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidFeatureCodeValueException.java deleted file mode 100644 index 0ba644a611..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidFeatureCodeValueException.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.exception; - -/** - * Custom exception class for catching invalid parameter values, - * relevant to Gadget Data Service DAO layer. - */ -public class InvalidFeatureCodeValueException extends Exception { - - private String errorMessage; - private static final long serialVersionUID = 2021891706072918864L; - - /** - * Constructs a new exception with the specific error message and nested exception. - * @param errorMessage specific error message. - * @param nestedException Nested exception. - */ - @SuppressWarnings("unused") - public InvalidFeatureCodeValueException(String errorMessage, Exception nestedException) { - super(errorMessage, nestedException); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param errorMessage Specific error message. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public InvalidFeatureCodeValueException(String errorMessage, Throwable cause) { - super(errorMessage, cause); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message. - * @param errorMessage Specific error message. - */ - public InvalidFeatureCodeValueException(String errorMessage) { - super(errorMessage); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public InvalidFeatureCodeValueException(Throwable cause) { - super(cause); - } - - @SuppressWarnings("unused") - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - -} - diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidPotentialVulnerabilityValueException.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidPotentialVulnerabilityValueException.java deleted file mode 100644 index a31b68f8fa..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidPotentialVulnerabilityValueException.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.exception; - -/** - * Custom exception class for catching invalid parameter values, - * relevant to Gadget Data Service DAO layer. - */ -public class InvalidPotentialVulnerabilityValueException extends Exception { - - private String errorMessage; - private static final long serialVersionUID = 2021891706072918864L; - - /** - * Constructs a new exception with the specific error message and nested exception. - * @param errorMessage specific error message. - * @param nestedException Nested exception. - */ - @SuppressWarnings("unused") - public InvalidPotentialVulnerabilityValueException(String errorMessage, Exception nestedException) { - super(errorMessage, nestedException); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param errorMessage Specific error message. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public InvalidPotentialVulnerabilityValueException(String errorMessage, Throwable cause) { - super(errorMessage, cause); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message. - * @param errorMessage Specific error message. - */ - public InvalidPotentialVulnerabilityValueException(String errorMessage) { - super(errorMessage); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public InvalidPotentialVulnerabilityValueException(Throwable cause) { - super(cause); - } - - @SuppressWarnings("unused") - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidResultCountValueException.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidResultCountValueException.java deleted file mode 100644 index 9d20a6971d..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidResultCountValueException.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.exception; - -/** - * Custom exception class for catching invalid parameter values, - * relevant to Gadget Data Service DAO layer. - */ -public class InvalidResultCountValueException extends Exception { - - private String errorMessage; - private static final long serialVersionUID = 2021891706072918864L; - - /** - * Constructs a new exception with the specific error message and nested exception. - * @param errorMessage specific error message. - * @param nestedException Nested exception. - */ - @SuppressWarnings("unused") - public InvalidResultCountValueException(String errorMessage, Exception nestedException) { - super(errorMessage, nestedException); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param errorMessage Specific error message. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public InvalidResultCountValueException(String errorMessage, Throwable cause) { - super(errorMessage, cause); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message. - * @param errorMessage Specific error message. - */ - public InvalidResultCountValueException(String errorMessage) { - super(errorMessage); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public InvalidResultCountValueException(Throwable cause) { - super(cause); - } - - @SuppressWarnings("unused") - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - -} - diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidStartIndexValueException.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidStartIndexValueException.java deleted file mode 100644 index 39370c0ab1..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/exception/InvalidStartIndexValueException.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.exception; - -/** - * Custom exception class for catching invalid parameter values, - * relevant to Gadget Data Service DAO layer. - */ -public class InvalidStartIndexValueException extends Exception { - - private String errorMessage; - private static final long serialVersionUID = 2021891706072918864L; - - /** - * Constructs a new exception with the specific error message and nested exception. - * @param errorMessage specific error message. - * @param nestedException Nested exception. - */ - @SuppressWarnings("unused") - public InvalidStartIndexValueException(String errorMessage, Exception nestedException) { - super(errorMessage, nestedException); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param errorMessage Specific error message. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public InvalidStartIndexValueException(String errorMessage, Throwable cause) { - super(errorMessage, cause); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message. - * @param errorMessage Specific error message. - */ - public InvalidStartIndexValueException(String errorMessage) { - super(errorMessage); - setErrorMessage(errorMessage); - } - - /** - * Constructs a new exception with the specific error message and cause. - * @param cause Cause of this exception. - */ - @SuppressWarnings("unused") - public InvalidStartIndexValueException(Throwable cause) { - super(cause); - } - - @SuppressWarnings("unused") - public String getErrorMessage() { - return errorMessage; - } - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - -} - diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/impl/GadgetDataServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/impl/GadgetDataServiceImpl.java deleted file mode 100644 index 9a392ab8df..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/impl/GadgetDataServiceImpl.java +++ /dev/null @@ -1,281 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.impl; - -import org.wso2.carbon.device.mgt.analytics.dashboard.GadgetDataService; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceCountByGroup; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.DeviceWithDetails; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.ExtendedFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.GadgetDataServiceDAOFactory; -import org.wso2.carbon.device.mgt.analytics.dashboard.bean.BasicFilterSet; -import org.wso2.carbon.device.mgt.analytics.dashboard.exception.*; -import org.wso2.carbon.device.mgt.common.PaginationResult; - -import java.sql.SQLException; -import java.util.List; - -/** - * Implementation class of GadgetDataService. - */ -public class GadgetDataServiceImpl implements GadgetDataService { - - @Override - public DeviceCountByGroup getDeviceCount(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, DataAccessLayerException { - DeviceCountByGroup filteredDeviceCount; - try { - - GadgetDataServiceDAOFactory.openConnection(); - filteredDeviceCount = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getDeviceCount(extendedFilterSet, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return filteredDeviceCount; - } - - @Override - public DeviceCountByGroup getFeatureNonCompliantDeviceCount(String featureCode, BasicFilterSet basicFilterSet, String userName) - throws InvalidFeatureCodeValueException, DataAccessLayerException { - DeviceCountByGroup featureNonCompliantDeviceCount; - try { - GadgetDataServiceDAOFactory.openConnection(); - featureNonCompliantDeviceCount = GadgetDataServiceDAOFactory. - getGadgetDataServiceDAO().getFeatureNonCompliantDeviceCount(featureCode, basicFilterSet, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return featureNonCompliantDeviceCount; - } - - @Override - public DeviceCountByGroup getTotalDeviceCount(String userName) throws DataAccessLayerException { - DeviceCountByGroup totalDeviceCount; - try { - GadgetDataServiceDAOFactory.openConnection(); - totalDeviceCount = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO().getTotalDeviceCount(userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return totalDeviceCount; - } - - @Override - public List getDeviceCountsByConnectivityStatuses(String userName) throws DataAccessLayerException { - List deviceCountsByConnectivityStatuses; - try { - GadgetDataServiceDAOFactory.openConnection(); - deviceCountsByConnectivityStatuses = GadgetDataServiceDAOFactory. - getGadgetDataServiceDAO().getDeviceCountsByConnectivityStatuses(userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return deviceCountsByConnectivityStatuses; - } - - @Override - public List getDeviceCountsByPotentialVulnerabilities(String userName) throws DataAccessLayerException { - List deviceCountsByPotentialVulnerabilities; - try { - GadgetDataServiceDAOFactory.openConnection(); - deviceCountsByPotentialVulnerabilities = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getDeviceCountsByPotentialVulnerabilities(userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return deviceCountsByPotentialVulnerabilities; - } - - @Override - public PaginationResult getNonCompliantDeviceCountsByFeatures(int startIndex, int resultCount, String userName) - throws InvalidStartIndexValueException, InvalidResultCountValueException, - DataAccessLayerException { - PaginationResult paginationResult; - try { - GadgetDataServiceDAOFactory.openConnection(); - paginationResult = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getNonCompliantDeviceCountsByFeatures(startIndex, resultCount, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return paginationResult; - } - - @Override - public List getDeviceCountsByPlatforms(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, DataAccessLayerException { - List deviceCountsByPlatforms; - try { - GadgetDataServiceDAOFactory.openConnection(); - deviceCountsByPlatforms = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getDeviceCountsByPlatforms(extendedFilterSet, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return deviceCountsByPlatforms; - } - - @Override - public List getFeatureNonCompliantDeviceCountsByPlatforms(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, - DataAccessLayerException { - List featureNonCompliantDeviceCountsByPlatforms; - try { - GadgetDataServiceDAOFactory.openConnection(); - featureNonCompliantDeviceCountsByPlatforms = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getFeatureNonCompliantDeviceCountsByPlatforms(featureCode, basicFilterSet, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return featureNonCompliantDeviceCountsByPlatforms; - } - - @Override - public List getDeviceCountsByOwnershipTypes(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, - DataAccessLayerException { - List deviceCountsByOwnershipTypes; - try { - GadgetDataServiceDAOFactory.openConnection(); - deviceCountsByOwnershipTypes = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getDeviceCountsByOwnershipTypes(extendedFilterSet, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return deviceCountsByOwnershipTypes; - } - - @Override - public List - getFeatureNonCompliantDeviceCountsByOwnershipTypes(String featureCode, BasicFilterSet basicFilterSet, String userName) - throws InvalidFeatureCodeValueException, DataAccessLayerException { - List featureNonCompliantDeviceCountsByOwnershipTypes; - try { - GadgetDataServiceDAOFactory.openConnection(); - featureNonCompliantDeviceCountsByOwnershipTypes = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getFeatureNonCompliantDeviceCountsByOwnershipTypes(featureCode, basicFilterSet, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return featureNonCompliantDeviceCountsByOwnershipTypes; - } - - @Override - public PaginationResult getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, int startIndex, int resultCount, String userName) - throws InvalidPotentialVulnerabilityValueException, DataAccessLayerException, - InvalidStartIndexValueException, InvalidResultCountValueException { - PaginationResult paginationResult; - try { - GadgetDataServiceDAOFactory.openConnection(); - paginationResult = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getDevicesWithDetails(extendedFilterSet, startIndex, resultCount, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return paginationResult; - } - - @Override - public PaginationResult getFeatureNonCompliantDevicesWithDetails(String featureCode, BasicFilterSet basicFilterSet, - int startIndex, int resultCount, String userName) throws InvalidFeatureCodeValueException, - DataAccessLayerException, InvalidStartIndexValueException, - InvalidResultCountValueException { - PaginationResult paginationResult; - try { - GadgetDataServiceDAOFactory.openConnection(); - paginationResult = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getFeatureNonCompliantDevicesWithDetails(featureCode, basicFilterSet, startIndex, resultCount, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return paginationResult; - } - - @Override - public List getDevicesWithDetails(ExtendedFilterSet extendedFilterSet, String userName) - throws InvalidPotentialVulnerabilityValueException, DataAccessLayerException { - List devicesWithDetails; - try { - GadgetDataServiceDAOFactory.openConnection(); - devicesWithDetails = GadgetDataServiceDAOFactory. - getGadgetDataServiceDAO().getDevicesWithDetails(extendedFilterSet, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return devicesWithDetails; - } - - @Override - public List getFeatureNonCompliantDevicesWithDetails(String featureCode, - BasicFilterSet basicFilterSet, String userName) throws InvalidFeatureCodeValueException, - DataAccessLayerException { - List featureNonCompliantDevicesWithDetails; - try { - GadgetDataServiceDAOFactory.openConnection(); - featureNonCompliantDevicesWithDetails = GadgetDataServiceDAOFactory.getGadgetDataServiceDAO(). - getFeatureNonCompliantDevicesWithDetails(featureCode, basicFilterSet, userName); - } catch (SQLException e) { - throw new DataAccessLayerException("Error in either opening a database connection or " + - "accessing the database to fetch corresponding results.", e); - } finally { - GadgetDataServiceDAOFactory.closeConnection(); - } - return featureNonCompliantDevicesWithDetails; - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/internal/GadgetDataServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/internal/GadgetDataServiceComponent.java deleted file mode 100644 index 5dda71d849..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/internal/GadgetDataServiceComponent.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.internal; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.osgi.service.component.ComponentContext; -import org.wso2.carbon.device.mgt.analytics.dashboard.GadgetDataService; -import org.wso2.carbon.device.mgt.analytics.dashboard.dao.GadgetDataServiceDAOFactory; -import org.wso2.carbon.device.mgt.analytics.dashboard.impl.GadgetDataServiceImpl; -import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager; -import org.wso2.carbon.device.mgt.core.config.DeviceManagementConfig; -import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig; -import org.wso2.carbon.ndatasource.core.DataSourceService; - -@SuppressWarnings("unused") -/** - * @scr.component name="org.wso2.carbon.device.mgt.analytics.dashboard.GadgetDataService" immediate="true" - * @scr.reference name="org.wso2.carbon.ndatasource" - * interface="org.wso2.carbon.ndatasource.core.DataSourceService" - * cardinality="1..1" - * policy="dynamic" - * bind="setDataSourceService" - * unbind="unsetDataSourceService" - */ -public class GadgetDataServiceComponent { - - private static final Log log = LogFactory.getLog(GadgetDataServiceComponent.class); - - protected void activate(ComponentContext componentContext) { - if (log.isDebugEnabled()) { - log.debug("Starting Device Management Dashboard Analytics Bundle..."); - } - try { - DeviceConfigurationManager.getInstance().initConfig(); - DeviceManagementConfig config = - DeviceConfigurationManager.getInstance().getDeviceManagementConfig(); - - DataSourceConfig dsConfig = config.getDeviceManagementConfigRepository().getDataSourceConfig(); - GadgetDataServiceDAOFactory.init(dsConfig); - //Register GadgetDataService to expose corresponding data to external parties. - componentContext.getBundleContext(). - registerService(GadgetDataService.class.getName(), new GadgetDataServiceImpl(), null); - if (log.isDebugEnabled()) { - log.debug("Device Management Dashboard Analytics Bundle has been started successfully."); - } - } catch (Throwable e) { - log.error("Error occurred while initializing the bundle.", e); - } - } - - protected void deactivate(ComponentContext componentContext) { - if (log.isDebugEnabled()) { - log.debug("Deactivating Device Management Dashboard Analytics Bundle..."); - } - //do nothing - } - - protected void setDataSourceService(DataSourceService dataSourceService) { - if (log.isDebugEnabled()) { - log.debug("Binding org.wso2.carbon.ndatasource.core.DataSourceService..."); - } - //do nothing - } - - protected void unsetDataSourceService(DataSourceService dataSourceService) { - if (log.isDebugEnabled()) { - log.debug("Unbinding org.wso2.carbon.ndatasource.core.DataSourceService..."); - } - //do nothing - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/util/APIUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/util/APIUtil.java deleted file mode 100644 index e9635e5d58..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard/src/main/java/org/wso2/carbon/device/mgt/analytics/dashboard/util/APIUtil.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. licenses this file to you under the Apache License, - * Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. - * you may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.wso2.carbon.device.mgt.analytics.dashboard.util; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.context.CarbonContext; -import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; -import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService; -import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService; -import org.wso2.carbon.user.api.UserStoreException; - -import java.net.SocketException; - - -/** - * This class provides utility functions used by REST-API. - */ -public class APIUtil { - - private static Log log = LogFactory.getLog(APIUtil.class); - - public static String getAuthenticatedUser() { - PrivilegedCarbonContext threadLocalCarbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - String username = threadLocalCarbonContext.getUsername(); - String tenantDomain = threadLocalCarbonContext.getTenantDomain(); - if (username.endsWith(tenantDomain)) { - return username.substring(0, username.lastIndexOf("@")); - } - return username; - } - - public static int getAuthenticatedUserTenantDomainId() { - PrivilegedCarbonContext threadLocalCarbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - return threadLocalCarbonContext.getTenantId(); - } - - public static boolean isDeviceAdminUser() throws DeviceAccessAuthorizationException { - return getDeviceAccessAuthorizationService().isDeviceAdminUser(); - } - - private static DeviceAccessAuthorizationService getDeviceAccessAuthorizationService() { - PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext(); - DeviceAccessAuthorizationService deviceAccessAuthorizationService = - (DeviceAccessAuthorizationService) ctx.getOSGiService(DeviceAccessAuthorizationService.class, null); - if (deviceAccessAuthorizationService == null) { - String msg = "DeviceAccessAuthorization service has not initialized."; - log.error(msg); - throw new IllegalStateException(msg); - } - return deviceAccessAuthorizationService; - } -} diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 472f7fb61e..e5a178be9f 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -37,7 +37,6 @@ org.wso2.carbon.device.mgt.common org.wso2.carbon.device.mgt.extensions org.wso2.carbon.device.mgt.ui - org.wso2.carbon.device.mgt.analytics.dashboard org.wso2.carbon.device.mgt.api org.wso2.carbon.device.mgt.analytics.data.publisher org.wso2.carbon.device.mgt.url.printer diff --git a/components/test-coverage/pom.xml b/components/test-coverage/pom.xml index 622689e669..74c56411b3 100644 --- a/components/test-coverage/pom.xml +++ b/components/test-coverage/pom.xml @@ -51,9 +51,6 @@ ${basedir}/../${device.mgt}/org.wso2.carbon.device.mgt.common ${basedir}/../${device.mgt}/org.wso2.carbon.device.mgt.api ${basedir}/../${device.mgt}/org.wso2.carbon.device.mgt.extensions - - ${basedir}/../${device.mgt}/org.wso2.carbon.device.mgt.analytics.dashboard - ${basedir}/../${device.mgt}/org.wso2.carbon.device.mgt.analytics.data.publisher @@ -214,14 +211,6 @@ - - - - - - - - diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml deleted file mode 100644 index 9c8c9fafad..0000000000 --- a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.dashboard.feature/pom.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - org.wso2.carbon.devicemgt - device-mgt-feature - 3.0.136-SNAPSHOT - ../pom.xml - - 4.0.0 - - org.wso2.carbon.device.mgt.analytics.dashboard.feature - 3.0.136-SNAPSHOT - pom - WSO2 Carbon - Device Management Dashboard Analytics Feature - WSO2 Carbon - Device Management Dashboard Analytics Feature - http://wso2.org - - - - org.wso2.carbon.devicemgt - org.wso2.carbon.device.mgt.analytics.dashboard - - - - - - - org.wso2.maven - carbon-p2-plugin - ${carbon.p2.plugin.version} - - - p2-feature-generation - package - - p2-feature-gen - - - org.wso2.carbon.device.mgt.analytics.dashboard - ../../../features/etc/feature.properties - - - org.wso2.carbon.p2.category.type:server - org.eclipse.equinox.p2.type.group:false - - - - - org.wso2.carbon.devicemgt:org.wso2.carbon.device.mgt.analytics.dashboard:${carbon.device.mgt.version} - - - - org.wso2.carbon.core.server:${carbon.kernel.version} - - - - - - - - - - \ No newline at end of file diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml index fb846b1ec2..46318ece65 100644 --- a/features/device-mgt/pom.xml +++ b/features/device-mgt/pom.xml @@ -39,7 +39,6 @@ org.wso2.carbon.device.mgt.feature org.wso2.carbon.device.mgt.extensions.feature org.wso2.carbon.device.mgt.analytics.data.publisher.feature - org.wso2.carbon.device.mgt.analytics.dashboard.feature \ No newline at end of file