From b5a143370992914b60714275ebcc2e7e7a4c9415 Mon Sep 17 00:00:00 2001 From: lasanthaDLPDS Date: Fri, 18 Oct 2019 16:49:37 +0530 Subject: [PATCH] Improve SQL queries in APPM --- .../core/impl/SubscriptionManagerImpl.java | 18 ++++++---- .../carbon/device/mgt/common/app/mgt/App.java | 10 ------ .../DeviceManagementProviderServiceImpl.java | 8 ++--- .../core/util/MDMAndroidOperationUtil.java | 4 +-- .../dbscripts/cdm/application-mgt/h2.sql | 10 +++--- .../dbscripts/cdm/application-mgt/mssql.sql | 10 +++--- .../dbscripts/cdm/application-mgt/mysql.sql | 34 +++++++++---------- 7 files changed, 45 insertions(+), 49 deletions(-) diff --git a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/SubscriptionManagerImpl.java b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/SubscriptionManagerImpl.java index 83ce469ba33..8c6c69f4175 100644 --- a/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/SubscriptionManagerImpl.java +++ b/components/application-mgt/org.wso2.carbon.device.application.mgt.core/src/main/java/org/wso2/carbon/device/application/mgt/core/impl/SubscriptionManagerImpl.java @@ -692,15 +692,13 @@ public class SubscriptionManagerImpl implements SubscriptionManager { App app = new App(); MobileAppTypes mobileAppType = MobileAppTypes.valueOf(application.getType()); if (DeviceTypes.ANDROID.toString().equalsIgnoreCase(deviceType)) { + app.setType(mobileAppType); + app.setLocation(application.getApplicationReleases().get(0).getInstallerPath()); + app.setIdentifier(application.getPackageName()); + app.setName(application.getName()); if (SubAction.INSTALL.toString().equalsIgnoreCase(action)) { - app.setType(mobileAppType); - app.setLocation(application.getApplicationReleases().get(0).getInstallerPath()); - app.setIdentifier(application.getPackageName()); - app.setName(application.getName()); return MDMAndroidOperationUtil.createInstallAppOperation(app); } else if (SubAction.UNINSTALL.toString().equalsIgnoreCase(action)) { - app.setType(mobileAppType); - app.setAppIdentifier(application.getPackageName()); return MDMAndroidOperationUtil.createAppUninstallOperation(app); } else { String msg = "Invalid Action is found. Action: " + action; @@ -817,6 +815,14 @@ public class SubscriptionManagerImpl implements SubscriptionManager { for (DeviceSubscriptionDTO deviceIds : deviceSubscriptionDTOS) { deviceIdList.add(deviceIds.getDeviceId()); } + + if (deviceIdList.isEmpty()){ + PaginationResult paginationResult = new PaginationResult(); + paginationResult.setData(deviceIdList); + paginationResult.setRecordsFiltered(0); + paginationResult.setRecordsTotal(0); + return paginationResult; + } //pass the device id list to device manager service method try { PaginationResult deviceDetails = deviceManagementProviderService diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/app/mgt/App.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/app/mgt/App.java index a7a9d95c6b2..7b3b34ded4d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/app/mgt/App.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/app/mgt/App.java @@ -59,8 +59,6 @@ public class App { "tab and you will see the package name under the respective " + "application..", required = true) private String packageName; - @ApiModelProperty(name = "appIdentifier", value = "The package name of the application.", required = true) - private String appIdentifier; private String location; @ApiModelProperty(name = "properties", value = "List of meta data.", required = true) private Properties properties; @@ -129,14 +127,6 @@ public class App { this.packageName = packageName; } - public String getAppIdentifier() { - return appIdentifier; - } - - public void setAppIdentifier(String appIdentifier) { - this.appIdentifier = appIdentifier; - } - public String getLocation() { return location; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java index d4732d172da..b700a53bdb4 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceImpl.java @@ -3734,12 +3734,12 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } PaginationResult paginationResult = new PaginationResult(); int count; - List SubscribedDeviceDetails; + List subscribedDeviceDetails; try { DeviceManagementDAOFactory.openConnection(); - SubscribedDeviceDetails = deviceDAO + subscribedDeviceDetails = deviceDAO .getSubscribedDevices(offsetValue, limitValue, devicesIds, tenantId, status); - count = SubscribedDeviceDetails.size(); + count = subscribedDeviceDetails.size(); } catch (DeviceManagementDAOException e) { String msg = "Error occurred while retrieving device list for device ids " + devicesIds; @@ -3752,7 +3752,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv } finally { DeviceManagementDAOFactory.closeConnection(); } - paginationResult.setData(getAllDeviceInfo(SubscribedDeviceDetails)); + paginationResult.setData(getAllDeviceInfo(subscribedDeviceDetails)); paginationResult.setRecordsFiltered(count); paginationResult.setRecordsTotal(count); return paginationResult; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/MDMAndroidOperationUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/MDMAndroidOperationUtil.java index 20d7fda28cf..f9c90d6d1ae 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/MDMAndroidOperationUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/MDMAndroidOperationUtil.java @@ -91,14 +91,14 @@ public class MDMAndroidOperationUtil { EnterpriseApplication enterpriseApplication = new EnterpriseApplication(); enterpriseApplication.setType(application.getType().toString()); - enterpriseApplication.setAppIdentifier(application.getAppIdentifier()); + enterpriseApplication.setAppIdentifier(application.getIdentifier()); operation.setPayLoad(enterpriseApplication.toJSON()); break; case PUBLIC: AppStoreApplication appStoreApplication = new AppStoreApplication(); appStoreApplication.setType(application.getType().toString()); - appStoreApplication.setAppIdentifier(application.getAppIdentifier()); + appStoreApplication.setAppIdentifier(application.getIdentifier()); operation.setPayLoad(appStoreApplication.toJSON()); break; case WEBAPP: diff --git a/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/h2.sql b/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/h2.sql index 4dd5d3af245..148ea46385a 100644 --- a/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/h2.sql +++ b/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/h2.sql @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS AP_APP_RELEASE( TENANT_ID INTEGER NOT NULL, UUID VARCHAR(200) NOT NULL, RELEASE_TYPE VARCHAR(45) NOT NULL, - PACKAGE_NAME VARCHAR(45) NOT NULL, + PACKAGE_NAME VARCHAR(150) NOT NULL, APP_PRICE DECIMAL(6, 2) NULL DEFAULT NULL, INSTALLER_LOCATION VARCHAR(100) NOT NULL, ICON_LOCATION VARCHAR(100) NOT NULL, @@ -107,7 +107,7 @@ CREATE TABLE IF NOT EXISTS AP_DEVICE_SUBSCRIPTION( TENANT_ID INTEGER NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL, - UNSUBSCRIBED BOOLEAN NULL DEFAULT NULL, + UNSUBSCRIBED BOOLEAN NOT NULL DEFAULT false, UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, ACTION_TRIGGERED_FROM VARCHAR(45) NOT NULL, @@ -129,7 +129,7 @@ CREATE TABLE IF NOT EXISTS AP_GROUP_SUBSCRIPTION( TENANT_ID INTEGER NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL, - UNSUBSCRIBED BOOLEAN NULL DEFAULT NULL, + UNSUBSCRIBED BOOLEAN NOT NULL DEFAULT false, UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, GROUP_NAME VARCHAR(100) NOT NULL, @@ -150,7 +150,7 @@ CREATE TABLE IF NOT EXISTS AP_ROLE_SUBSCRIPTION( ROLE_NAME VARCHAR(100) NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL, - UNSUBSCRIBED BOOLEAN NULL DEFAULT NULL, + UNSUBSCRIBED BOOLEAN NOT NULL DEFAULT false, UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, AP_APP_RELEASE_ID INTEGER NOT NULL, @@ -185,7 +185,7 @@ CREATE TABLE IF NOT EXISTS AP_USER_SUBSCRIPTION( USER_NAME VARCHAR(100) NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL, - UNSUBSCRIBED BOOLEAN NULL DEFAULT NULL, + UNSUBSCRIBED BOOLEAN NOT NULL DEFAULT false, UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, AP_APP_RELEASE_ID INTEGER NOT NULL, diff --git a/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql b/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql index 99330c303b6..dbaffe47333 100644 --- a/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql +++ b/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mssql.sql @@ -25,7 +25,7 @@ CREATE TABLE AP_APP_RELEASE( TENANT_ID INTEGER NOT NULL, UUID VARCHAR(200) NOT NULL, RELEASE_TYPE VARCHAR(45) NOT NULL, - PACKAGE_NAME VARCHAR(45) NOT NULL, + PACKAGE_NAME VARCHAR(150) NOT NULL, APP_PRICE DECIMAL(6, 2) NULL DEFAULT NULL, INSTALLER_LOCATION VARCHAR(100) NOT NULL, ICON_LOCATION VARCHAR(100) NOT NULL, @@ -108,7 +108,7 @@ CREATE TABLE AP_DEVICE_SUBSCRIPTION( TENANT_ID INTEGER NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP DATETIME2(0) NOT NULL, - UNSUBSCRIBED BIT NULL DEFAULT NULL, + UNSUBSCRIBED BIT NOT NULL DEFAULT 'false', UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP DATETIME2(0) NULL DEFAULT NULL, ACTION_TRIGGERED_FROM VARCHAR(45) NOT NULL, @@ -130,7 +130,7 @@ CREATE TABLE AP_GROUP_SUBSCRIPTION( TENANT_ID INTEGER NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP DATETIME2(0) NOT NULL, - UNSUBSCRIBED BIT NULL DEFAULT NULL, + UNSUBSCRIBED BIT NOT NULL DEFAULT 'false', UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP DATETIME2(0) NULL DEFAULT NULL, GROUP_NAME VARCHAR(100) NOT NULL, @@ -151,7 +151,7 @@ CREATE TABLE AP_ROLE_SUBSCRIPTION( ROLE_NAME VARCHAR(100) NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP DATETIME2(0) NOT NULL, - UNSUBSCRIBED BIT NULL DEFAULT NULL, + UNSUBSCRIBED BIT NOT NULL DEFAULT 'false', UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP DATETIME2(0) NULL DEFAULT NULL, AP_APP_RELEASE_ID INTEGER NOT NULL, @@ -186,7 +186,7 @@ CREATE TABLE AP_USER_SUBSCRIPTION( USER_NAME VARCHAR(100) NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP DATETIME2(0) NOT NULL, - UNSUBSCRIBED BIT NULL DEFAULT NULL, + UNSUBSCRIBED BIT NOT NULL DEFAULT 'false', UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP DATETIME2(0) NULL DEFAULT NULL, AP_APP_RELEASE_ID INTEGER NOT NULL, diff --git a/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mysql.sql b/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mysql.sql index 52d880cb026..383210ef9fe 100644 --- a/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mysql.sql +++ b/features/application-mgt/org.wso2.carbon.device.application.mgt.server.feature/src/main/resources/dbscripts/cdm/application-mgt/mysql.sql @@ -25,7 +25,7 @@ CREATE TABLE IF NOT EXISTS AP_APP_RELEASE( TENANT_ID INTEGER NOT NULL, UUID VARCHAR(200) NOT NULL, RELEASE_TYPE VARCHAR(45) NOT NULL, - PACKAGE_NAME VARCHAR(45) NOT NULL, + PACKAGE_NAME VARCHAR(150) NOT NULL, APP_PRICE DECIMAL(6, 2) NULL DEFAULT NULL, INSTALLER_LOCATION VARCHAR(100) NOT NULL, ICON_LOCATION VARCHAR(100) NOT NULL, @@ -107,7 +107,7 @@ CREATE TABLE IF NOT EXISTS AP_DEVICE_SUBSCRIPTION( TENANT_ID INTEGER NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL, - UNSUBSCRIBED BOOLEAN NULL DEFAULT NULL, + UNSUBSCRIBED BOOLEAN NOT NULL DEFAULT false, UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, ACTION_TRIGGERED_FROM VARCHAR(45) NOT NULL, @@ -129,7 +129,7 @@ CREATE TABLE IF NOT EXISTS AP_GROUP_SUBSCRIPTION( TENANT_ID INTEGER NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL, - UNSUBSCRIBED BOOLEAN NULL DEFAULT NULL, + UNSUBSCRIBED BOOLEAN NOT NULL DEFAULT false, UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, GROUP_NAME VARCHAR(100) NOT NULL, @@ -145,19 +145,19 @@ CREATE INDEX fk_AP_GROUP_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_GROUP_SUBSCRIPTI -- Table AP_ROLE_SUBSCRIPTION -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS AP_ROLE_SUBSCRIPTION( -ID INTEGER NOT NULL AUTO_INCREMENT, -TENANT_ID INTEGER NOT NULL, -ROLE_NAME VARCHAR(100) NOT NULL, -SUBSCRIBED_BY VARCHAR(100) NOT NULL, -SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL, -UNSUBSCRIBED BOOLEAN NULL DEFAULT NULL, -UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, -UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, -AP_APP_RELEASE_ID INTEGER NOT NULL, -PRIMARY KEY (ID), -CONSTRAINT fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1 - FOREIGN KEY (AP_APP_RELEASE_ID) - REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION + ID INTEGER NOT NULL AUTO_INCREMENT, + TENANT_ID INTEGER NOT NULL, + ROLE_NAME VARCHAR(100) NOT NULL, + SUBSCRIBED_BY VARCHAR(100) NOT NULL, + SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL, + UNSUBSCRIBED BOOLEAN NOT NULL DEFAULT false, + UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, + UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, + AP_APP_RELEASE_ID INTEGER NOT NULL, + PRIMARY KEY (ID), + CONSTRAINT fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1 + FOREIGN KEY (AP_APP_RELEASE_ID) + REFERENCES AP_APP_RELEASE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE INDEX fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_ROLE_SUBSCRIPTION (AP_APP_RELEASE_ID ASC); @@ -185,7 +185,7 @@ CREATE TABLE IF NOT EXISTS AP_USER_SUBSCRIPTION( USER_NAME VARCHAR(100) NOT NULL, SUBSCRIBED_BY VARCHAR(100) NOT NULL, SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL, - UNSUBSCRIBED BOOLEAN NULL DEFAULT NULL, + UNSUBSCRIBED BOOLEAN NOT NULL DEFAULT false, UNSUBSCRIBED_BY VARCHAR(100) NULL DEFAULT NULL, UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, AP_APP_RELEASE_ID INTEGER NOT NULL,