From 125ee626d9248be84b1fdbd7e4b43c0e3cf0c076 Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Fri, 30 Jun 2023 12:04:07 +0530 Subject: [PATCH 1/4] improve code to use service call for operations --- .../device/AddOperationFunctionProcessor.java | 38 ++++--------------- 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/main/java/io/entgra/device/mgt/plugins/extension/siddhi/device/AddOperationFunctionProcessor.java b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/main/java/io/entgra/device/mgt/plugins/extension/siddhi/device/AddOperationFunctionProcessor.java index 1c0d30c2f..81a9b127b 100644 --- a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/main/java/io/entgra/device/mgt/plugins/extension/siddhi/device/AddOperationFunctionProcessor.java +++ b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/main/java/io/entgra/device/mgt/plugins/extension/siddhi/device/AddOperationFunctionProcessor.java @@ -18,23 +18,13 @@ package io.entgra.device.mgt.plugins.extension.siddhi.device; -import feign.Feign; -import feign.Logger; -import feign.gson.GsonDecoder; -import feign.gson.GsonEncoder; -import feign.jaxrs.JAXRSContract; -import feign.okhttp.OkHttpClient; -import feign.slf4j.Slf4jLogger; +import io.entgra.device.mgt.core.device.mgt.common.DeviceIdentifier; +import io.entgra.device.mgt.core.device.mgt.common.operation.mgt.Activity; +import io.entgra.device.mgt.core.device.mgt.common.operation.mgt.Operation; +import io.entgra.device.mgt.plugins.extension.siddhi.device.utils.DeviceUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.json.JSONArray; -import io.entgra.device.mgt.core.device.mgt.common.operation.mgt.Activity; -import io.entgra.device.mgt.core.device.mgt.common.operation.mgt.Operation; -import io.entgra.device.mgt.plugins.extension.siddhi.device.client.OAuthRequestInterceptor; -import io.entgra.device.mgt.plugins.extension.siddhi.device.client.configs.SiddhiExtensionConfigReader; -import io.entgra.device.mgt.plugins.extension.siddhi.device.client.dto.OperationRequest; -import io.entgra.device.mgt.plugins.extension.siddhi.device.client.services.OperationService; -import io.entgra.device.mgt.plugins.extension.siddhi.device.utils.ClientUtils; import org.wso2.siddhi.core.config.ExecutionPlanContext; import org.wso2.siddhi.core.exception.ExecutionPlanRuntimeException; import org.wso2.siddhi.core.executor.ExpressionExecutor; @@ -53,17 +43,6 @@ public class AddOperationFunctionProcessor extends StreamFunctionProcessor { private static final Log log = LogFactory.getLog(AddOperationFunctionProcessor.class); private static final String DATE_FORMAT_NOW = "yyyy-MM-dd HH:mm:ss"; private static final String DEVICE_MGT_BASE_CONTEXT = "/api/device-mgt/v1.0"; - private OperationService operationService; - - public AddOperationFunctionProcessor() { - operationService = Feign.builder().client(new OkHttpClient(ClientUtils.getSSLClient())) - .logger(new Slf4jLogger()) - .logLevel(Logger.Level.FULL).requestInterceptor(new OAuthRequestInterceptor()) - .contract(new JAXRSContract()).encoder(new GsonEncoder()).decoder(new GsonDecoder()) - .target(OperationService.class, ClientUtils.replaceProperties( - SiddhiExtensionConfigReader.getInstance().getConfig().getGatewayEndpoint() + - DEVICE_MGT_BASE_CONTEXT)); - } /** * The init method of the StreamProcessor, this method will be called before other methods @@ -138,9 +117,9 @@ public class AddOperationFunctionProcessor extends StreamFunctionProcessor { JSONArray deviceIds = new JSONArray((String) data[0]); String deviceType = (String) data[1]; - List deviceIdentifiers = new ArrayList<>(); + List deviceIdentifiers = new ArrayList<>(); for (int i = 0; i < deviceIds.length(); i++) { - deviceIdentifiers.add(deviceIds.getString(i)); + deviceIdentifiers.add(new DeviceIdentifier(deviceIds.getString(i), deviceType)); } Operation operation = new Operation(); @@ -154,11 +133,8 @@ public class AddOperationFunctionProcessor extends StreamFunctionProcessor { String date = new SimpleDateFormat(DATE_FORMAT_NOW).format(new Date()); operation.setCreatedTimeStamp(date); - OperationRequest operationRequest = new OperationRequest(); - operationRequest.setDeviceIdentifiers(deviceIdentifiers); - operationRequest.setOperation(operation); try { - Activity activity = operationService.addOperation(deviceType, operationRequest); + Activity activity = DeviceUtils.getDeviceManagementProviderService().addOperation(deviceType, operation, deviceIdentifiers); return new Object[]{activity.getActivityId()}; } catch (Exception e) { log.error("Error occurred while adding the operation " + operation.toString(), e); From 36ab4ff98b7659ef8add5cd67f679671c60e37de Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Fri, 30 Jun 2023 14:45:39 +0530 Subject: [PATCH 2/4] fixed input event adaptor mqtt xmpp not installing issue --- .../pom.xml | 1 - .../pom.xml | 1 - .../pom.xml | 1 - .../pom.xml | 42 +++++++++---------- 4 files changed, 21 insertions(+), 24 deletions(-) diff --git a/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.http/pom.xml b/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.http/pom.xml index 9a19f08b1..489faf46e 100644 --- a/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.http/pom.xml +++ b/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.http/pom.xml @@ -164,7 +164,6 @@ org.apache.log4j;version="[1.2,2)", org.osgi.framework.*;version="${imp.package.version.osgi.framework}", org.osgi.service.*;version="${imp.package.version.osgi.service}", - org.osgi.service.http;version="[1.2,2)", org.wso2.carbon.base;version="[1.0,2)", org.wso2.carbon.context;version="[4.8,5)", org.wso2.carbon.core.util;version="[4.8,5)", diff --git a/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.mqtt/pom.xml b/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.mqtt/pom.xml index 33cb913ee..4044f649b 100644 --- a/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.mqtt/pom.xml +++ b/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.mqtt/pom.xml @@ -149,7 +149,6 @@ org.eclipse.paho.client.mqttv3.persist;version="[1.0,2)", org.osgi.framework.*;version="${imp.package.version.osgi.framework}", org.osgi.service.*;version="${imp.package.version.osgi.service}", - org.osgi.service.http;version="[1.2,2)", org.wso2.carbon.context;version="[4.8,5)", org.wso2.carbon.core;version="[4.8,5)", org.wso2.carbon.core.multitenancy.utils;version="[4.8,5)", diff --git a/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.xmpp/pom.xml b/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.xmpp/pom.xml index a6d0c13dc..3be8da46f 100644 --- a/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.xmpp/pom.xml +++ b/components/extensions/cdmf-transport-adapters/input/io.entgra.device.mgt.plugins.input.adapter.xmpp/pom.xml @@ -119,7 +119,6 @@ org.jivesoftware.smack.packet, org.osgi.framework.*;version="${imp.package.version.osgi.framework}", org.osgi.service.*;version="${imp.package.version.osgi.service}", - org.osgi.service.http;version="[1.2,2)", org.wso2.carbon.context;version="[4.8,5)", org.wso2.carbon.core;version="[4.8,5)", org.wso2.carbon.event.input.adapter.core;version="[5.3,6)", diff --git a/features/extensions-feature/io.entgra.device.mgt.plugins.adapter.feature/pom.xml b/features/extensions-feature/io.entgra.device.mgt.plugins.adapter.feature/pom.xml index 75938f7bb..8466ce46d 100644 --- a/features/extensions-feature/io.entgra.device.mgt.plugins.adapter.feature/pom.xml +++ b/features/extensions-feature/io.entgra.device.mgt.plugins.adapter.feature/pom.xml @@ -173,18 +173,18 @@ io.entgra.device.mgt.plugins:io.entgra.device.mgt.plugins.input.adapter.extension:${io.entgra.device.mgt.plugins.version} - - - - - io.entgra.device.mgt.plugins:io.entgra.device.mgt.plugins.input.adapter.thrift:${io.entgra.device.mgt.plugins.version} - - - org.wso2.carbon.analytics-common:org.wso2.carbon.event.input.adapter.wso2event:${carbon.analytics.common.version} - - - - + + io.entgra.device.mgt.plugins:io.entgra.device.mgt.plugins.input.adapter.mqtt:${io.entgra.device.mgt.plugins.version} + + + io.entgra.device.mgt.plugins:io.entgra.device.mgt.plugins.input.adapter.thrift:${io.entgra.device.mgt.plugins.version} + + + org.wso2.carbon.analytics-common:org.wso2.carbon.event.input.adapter.wso2event:${carbon.analytics.common.version} + + + io.entgra.device.mgt.plugins:io.entgra.device.mgt.plugins.input.adapter.xmpp:${io.entgra.device.mgt.plugins.version} + io.entgra.device.mgt.plugins:io.entgra.device.mgt.plugins.output.adapter.websocket:${io.entgra.device.mgt.plugins.version} @@ -204,15 +204,15 @@ com.jayway.jsonpath:json-path - - io.github.openfeign:feign-core:${io.github.openfeign.version} - - - io.github.openfeign:feign-slf4j:${io.github.openfeign.version} - - - io.github.openfeign:feign-gson:${io.github.openfeign.version} - + + io.github.openfeign:feign-core:${io.github.openfeign.version} + + + io.github.openfeign:feign-slf4j:${io.github.openfeign.version} + + + io.github.openfeign:feign-gson:${io.github.openfeign.version} + From a93c5ac4b0804903d5437afc951fcb8cc5fe16ff Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Tue, 4 Jul 2023 09:43:34 +0530 Subject: [PATCH 3/4] fixed unit tests --- .../pom.xml | 7 +++++++ .../pom.xml | 11 +++++++++++ pom.xml | 13 ++++++++++++- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.execution.json/pom.xml b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.execution.json/pom.xml index 278373665..08b5f5af1 100644 --- a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.execution.json/pom.xml +++ b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.execution.json/pom.xml @@ -99,12 +99,19 @@ org.apache.maven.plugins maven-surefire-plugin + + --add-opens=java.xml/jdk.xml.internal=ALL-UNNAMED + --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED + file:src/test/resources/log4j.properties src/test/resources/testng.xml + + org.ops4j.pax.logging + diff --git a/components/mobile-plugins/android-plugin/io.entgra.device.mgt.plugins.mobile.android.api/pom.xml b/components/mobile-plugins/android-plugin/io.entgra.device.mgt.plugins.mobile.android.api/pom.xml index 66335e9a7..bc64543e5 100644 --- a/components/mobile-plugins/android-plugin/io.entgra.device.mgt.plugins.mobile.android.api/pom.xml +++ b/components/mobile-plugins/android-plugin/io.entgra.device.mgt.plugins.mobile.android.api/pom.xml @@ -75,12 +75,19 @@ org.apache.maven.plugins maven-surefire-plugin + + --add-opens=java.xml/jdk.xml.internal=ALL-UNNAMED + --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED + file:src/test/resources/log4j.properties src/test/resources/testng.xml + + org.ops4j.pax.logging + @@ -342,4 +349,8 @@ jackson-core-asl + + + true + diff --git a/pom.xml b/pom.xml index 91586ba12..c89775a74 100644 --- a/pom.xml +++ b/pom.xml @@ -1086,7 +1086,7 @@ 6.0.53 2.6.0.wso2v1 1.2.4 - + 2.22.0 @@ -1171,6 +1171,17 @@ --> + + org.apache.maven.plugins + maven-surefire-plugin + ${maven.surefire.plugin.version} + + + ${basedir}/target/coverage-reports/jacoco-ut.exec + + + + org.apache.maven.plugins maven-assembly-plugin From 2821413519340b79d50443224a2ee94732d47d0e Mon Sep 17 00:00:00 2001 From: Amalka Subasinghe Date: Tue, 4 Jul 2023 10:37:37 +0530 Subject: [PATCH 4/4] fixed unit tests in io.entgra.device.mgt.plugins.extension.siddhi.device --- .../pom.xml | 11 +- .../siddhi/device/ExtensionTestCase.java | 16 +- .../repository/conf/cdm-config.xml | 143 +++++++++++++-- .../config/datasource/data-source-config.xml | 2 +- .../src/test/resources/sql/h2.sql | 166 +++++++++++------- 5 files changed, 251 insertions(+), 87 deletions(-) diff --git a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/pom.xml b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/pom.xml index 96f1aa2bf..2306a1d4b 100644 --- a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/pom.xml +++ b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/pom.xml @@ -32,10 +32,6 @@ WSO2 Siddhi Execution Extension - Device management Core functionality as Siddhi extension http://entgra.io - - true - - org.apache.felix @@ -252,12 +248,19 @@ org.apache.maven.plugins maven-surefire-plugin + + --add-opens=java.xml/jdk.xml.internal=ALL-UNNAMED + --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED + file:src/test/resources/log4j.properties src/test/resources/testng.xml + + org.ops4j.pax.logging + diff --git a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/java/io/entgra/device/mgt/plugins/extension/siddhi/device/ExtensionTestCase.java b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/java/io/entgra/device/mgt/plugins/extension/siddhi/device/ExtensionTestCase.java index 1cefb7d0b..ad2199ed9 100644 --- a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/java/io/entgra/device/mgt/plugins/extension/siddhi/device/ExtensionTestCase.java +++ b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/java/io/entgra/device/mgt/plugins/extension/siddhi/device/ExtensionTestCase.java @@ -18,10 +18,6 @@ package io.entgra.device.mgt.plugins.extension.siddhi.device; -import org.apache.log4j.Logger; -import org.testng.Assert; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; import io.entgra.device.mgt.core.device.mgt.common.Device; import io.entgra.device.mgt.core.device.mgt.common.DeviceIdentifier; import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException; @@ -38,6 +34,14 @@ import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProvide import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderServiceImpl; import io.entgra.device.mgt.core.device.mgt.core.service.GroupManagementProviderService; import io.entgra.device.mgt.core.device.mgt.core.service.GroupManagementProviderServiceImpl; +import io.entgra.device.mgt.plugins.extension.siddhi.device.util.SiddhiTestHelper; +import io.entgra.device.mgt.plugins.extension.siddhi.device.util.TestDataHolder; +import io.entgra.device.mgt.plugins.extension.siddhi.device.util.TestDeviceManagementService; +import io.entgra.device.mgt.plugins.extension.siddhi.device.utils.DeviceUtils; +import org.apache.log4j.Logger; +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; import org.wso2.carbon.registry.core.config.RegistryContext; import org.wso2.carbon.registry.core.exceptions.RegistryException; import org.wso2.carbon.registry.core.internal.RegistryDataHolder; @@ -46,10 +50,6 @@ import org.wso2.carbon.registry.core.service.RegistryService; import org.wso2.carbon.user.core.UserStoreException; import org.wso2.carbon.user.core.service.RealmService; import org.wso2.carbon.utils.multitenancy.MultitenantConstants; -import io.entgra.device.mgt.plugins.extension.siddhi.device.util.SiddhiTestHelper; -import io.entgra.device.mgt.plugins.extension.siddhi.device.util.TestDataHolder; -import io.entgra.device.mgt.plugins.extension.siddhi.device.util.TestDeviceManagementService; -import io.entgra.device.mgt.plugins.extension.siddhi.device.utils.DeviceUtils; import org.wso2.siddhi.core.ExecutionPlanRuntime; import org.wso2.siddhi.core.SiddhiManager; import org.wso2.siddhi.core.event.Event; diff --git a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/carbon-home/repository/conf/cdm-config.xml b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/carbon-home/repository/conf/cdm-config.xml index d4360a04e..3ce48daef 100644 --- a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/carbon-home/repository/conf/cdm-config.xml +++ b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/carbon-home/repository/conf/cdm-config.xml @@ -32,22 +32,26 @@ true io.entgra.device.mgt.core.device.mgt.extensions.push.notification.provider.fcm.FCMBasedPushNotificationProvider - io.entgra.device.mgt.core.device.mgt.extensions.push.notification.provider.mqtt.MQTTBasedPushNotificationProvider - io.entgra.device.mgt.core.device.mgt.extensions.push.notification.provider.http.HTTPBasedPushNotificationProvider + io.entgra.device.mgt.core.device.mgt.extensions.push.notification.provider.http.HTTPBasedPushNotificationProvider io.entgra.device.mgt.core.device.mgt.extensions.push.notification.provider.xmpp.XMPPBasedPushNotificationProvider - - false - + + false + https://localhost:9443 - admin - admin + ${admin.username} + ${admin.username} + + https://localhost:9443 + ${admin.username} + ${admin.username} + - org.wso2.carbon.policy.mgt + io.entgra.device.mgt.core.policy.mgt true 60000 5 @@ -57,6 +61,7 @@ Simple + true @@ -66,6 +71,7 @@ 20 20 20 + 20 @@ -76,21 +82,134 @@ device caching for upto configured expiry-time in seconds. In clustered setup all worker nodes can enable the device-cache to improve performance. --> - false + true 600 10000 + + true + 600 + 10000 + + + true + 600 + 10000 + + + true + - false + true 86400 + + + + jdbc/DM_ARCHIVAL_DS + + + + false + false + + DM_DB + ARCHIVAL_DB + + io.entgra.device.mgt.core.device.mgt.core.task.impl.ArchivalTask + + 0 0 0 1/1 * ? * + + 30 + 1000 + + false + io.entgra.device.mgt.core.device.mgt.core.task.impl.ArchivedDataDeletionTask + + 0 0 3 1/1 * ? * + + 365 + + + - false - false + false + + false + false + + false + + + + + * + + + + + + true + ws://localhost:9763 + 2 + 100 + 20 + 15 + 640 + BYOD,COPE + + false + false + io.entgra.device.mgt.core.device.mgt.common.enrollment.notification.EnrollmentNotifier + http://localhost:8280 + + + false + + + test_role + + /permission/admin/Login + + + + + + + + <a href='https://entgra.io' target='_blank'> + Entgra + </a> + IoT Server 5.2.0 | © 2023 + , All Rights Reserved. + + Entgra + + repository/resources/whitelabel + favicon.png + logo.png + icon.png + default + + + + + + + + + + false + Replace with mail + diff --git a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/config/datasource/data-source-config.xml b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/config/datasource/data-source-config.xml index f37cc19b1..60ba7b5d8 100644 --- a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/config/datasource/data-source-config.xml +++ b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/config/datasource/data-source-config.xml @@ -18,7 +18,7 @@ --> - jdbc:h2:mem:cdm-test-db;DB_CLOSE_ON_EXIT=FALSE;MVCC=true + jdbc:h2:mem:cdm-test-db;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000 org.h2.Driver wso2carbon wso2carbon diff --git a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/sql/h2.sql b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/sql/h2.sql index 72e673eaf..df3277920 100644 --- a/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/sql/h2.sql +++ b/components/extensions/siddhi-extensions/io.entgra.device.mgt.plugins.extension.siddhi.device/src/test/resources/sql/h2.sql @@ -42,7 +42,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE ( ID INTEGER auto_increment NOT NULL, DESCRIPTION TEXT DEFAULT NULL, NAME VARCHAR(100) DEFAULT NULL, - DEVICE_TYPE_ID INT(11) DEFAULT NULL, + DEVICE_TYPE_ID INT DEFAULT NULL, DEVICE_IDENTIFICATION VARCHAR(300) DEFAULT NULL, LAST_UPDATED_TIMESTAMP TIMESTAMP NOT NULL, TENANT_ID INTEGER DEFAULT 0, @@ -52,17 +52,6 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE ( CONSTRAINT uk_DM_DEVICE UNIQUE (NAME, DEVICE_TYPE_ID, DEVICE_IDENTIFICATION, TENANT_ID) ); -CREATE TABLE IF NOT EXISTS DM_BILLING ( - INVOICE_ID INTEGER auto_increment NOT NULL, - TENANT_ID INTEGER default 0, - DEVICE_ID INT default NULL, - BILLING_START TIMESTAMP not null, - BILLING_END TIMESTAMP not null, - PRIMARY KEY (INVOICE_ID), - CONSTRAINT FK_DM_BILLING_DM_DEVICE - FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) -); - CREATE TABLE IF NOT EXISTS DM_DEVICE_PROPERTIES ( DEVICE_TYPE_NAME VARCHAR(300) NOT NULL, DEVICE_IDENTIFICATION VARCHAR(300) NOT NULL, @@ -114,7 +103,6 @@ CREATE TABLE IF NOT EXISTS DM_ENROLMENT ( DATE_OF_ENROLMENT TIMESTAMP DEFAULT NULL, DATE_OF_LAST_UPDATE TIMESTAMP DEFAULT NULL, TENANT_ID INT NOT NULL, - LAST_BILLED_DATE BIGINT DEFAULT 0, PRIMARY KEY (ID), CONSTRAINT fk_dm_device_enrolment FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, @@ -200,17 +188,17 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE ( ); CREATE TABLE IF NOT EXISTS DM_POLICY ( - ID INT(11) NOT NULL AUTO_INCREMENT , + ID INT NOT NULL AUTO_INCREMENT , NAME VARCHAR(45) DEFAULT NULL , DESCRIPTION VARCHAR(1000) NULL, PAYLOAD_VERSION VARCHAR (45) NULL, - TENANT_ID INT(11) NOT NULL , - PROFILE_ID INT(11) NOT NULL , + TENANT_ID INT NOT NULL , + PROFILE_ID INT NOT NULL , OWNERSHIP_TYPE VARCHAR(45) NULL, COMPLIANCE VARCHAR(100) NULL, PRIORITY INT NOT NULL, - ACTIVE INT(2) NOT NULL, - UPDATED INT(1) NULL, + ACTIVE INT NOT NULL, + UPDATED INT NULL, POLICY_TYPE VARCHAR(45) NULL, PRIMARY KEY (ID) , CONSTRAINT FK_DM_PROFILE_DM_POLICY @@ -221,11 +209,11 @@ CREATE TABLE IF NOT EXISTS DM_POLICY ( ); CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY ( - ID INT(11) NOT NULL AUTO_INCREMENT , - DEVICE_ID INT(11) NOT NULL , - ENROLMENT_ID INT(11) NOT NULL, + ID INT NOT NULL AUTO_INCREMENT , + DEVICE_ID INT NOT NULL , + ENROLMENT_ID INT NOT NULL, DEVICE BLOB NOT NULL, - POLICY_ID INT(11) NOT NULL , + POLICY_ID INT NOT NULL , PRIMARY KEY (ID) , CONSTRAINT FK_POLICY_DEVICE_POLICY FOREIGN KEY (POLICY_ID ) @@ -240,9 +228,9 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY ( ); CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY ( - ID INT(11) NOT NULL , + ID INT NOT NULL , DEVICE_TYPE VARCHAR(300) NOT NULL , - POLICY_ID INT(11) NOT NULL , + POLICY_ID INT NOT NULL , PRIMARY KEY (ID) , CONSTRAINT FK_DEVICE_TYPE_POLICY FOREIGN KEY (POLICY_ID ) @@ -252,11 +240,11 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY ( ); CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES ( - ID INT(11) NOT NULL AUTO_INCREMENT, - PROFILE_ID INT(11) NOT NULL, + ID INT NOT NULL AUTO_INCREMENT, + PROFILE_ID INT NOT NULL, FEATURE_CODE VARCHAR(100) NOT NULL, DEVICE_TYPE VARCHAR(300) NOT NULL, - TENANT_ID INT(11) NOT NULL , + TENANT_ID INT NOT NULL , CONTENT BLOB NULL DEFAULT NULL, PRIMARY KEY (ID), CONSTRAINT FK_DM_PROFILE_DM_POLICY_FEATURES @@ -267,11 +255,11 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES ( ); CREATE TABLE IF NOT EXISTS DM_POLICY_CORRECTIVE_ACTION ( - ID INT(11) NOT NULL AUTO_INCREMENT, + ID INT NOT NULL AUTO_INCREMENT, ACTION_TYPE VARCHAR(45) NOT NULL, - CORRECTIVE_POLICY_ID INT(11) DEFAULT NULL, - POLICY_ID INT(11) NOT NULL, - FEATURE_ID INT(11) DEFAULT NULL, + CORRECTIVE_POLICY_ID INT DEFAULT NULL, + POLICY_ID INT NOT NULL, + FEATURE_ID INT DEFAULT NULL, IS_REACTIVE BOOLEAN NOT NULL DEFAULT FALSE, PRIMARY KEY (ID), CONSTRAINT FK_DM_POLICY_DM_POLICY_CORRECTIVE_ACTION @@ -282,9 +270,9 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_CORRECTIVE_ACTION ( ); CREATE TABLE IF NOT EXISTS DM_ROLE_POLICY ( - ID INT(11) NOT NULL AUTO_INCREMENT , + ID INT NOT NULL AUTO_INCREMENT , ROLE_NAME VARCHAR(45) NOT NULL , - POLICY_ID INT(11) NOT NULL , + POLICY_ID INT NOT NULL , PRIMARY KEY (ID) , CONSTRAINT FK_ROLE_POLICY_POLICY FOREIGN KEY (POLICY_ID ) @@ -308,11 +296,11 @@ CREATE TABLE IF NOT EXISTS DM_USER_POLICY ( CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY_APPLIED ( ID INT NOT NULL AUTO_INCREMENT , DEVICE_ID INT NOT NULL , - ENROLMENT_ID INT(11) NOT NULL, + ENROLMENT_ID INT NOT NULL, POLICY_ID INT NOT NULL , POLICY_CONTENT BLOB NULL , TENANT_ID INT NOT NULL, - APPLIED TINYINT(1) NULL , + APPLIED TINYINT NULL , CREATED_TIME TIMESTAMP NULL , UPDATED_TIME TIMESTAMP NULL , APPLIED_TIME TIMESTAMP NULL , @@ -365,7 +353,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_CRITERIA_PROPERTIES ( CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_STATUS ( ID INT NOT NULL AUTO_INCREMENT, DEVICE_ID INT NOT NULL, - ENROLMENT_ID INT(11) NOT NULL, + ENROLMENT_ID INT NOT NULL, POLICY_ID INT NOT NULL, TENANT_ID INT NOT NULL, STATUS INT NULL, @@ -380,7 +368,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_CHANGE_MGT ( ID INT NOT NULL AUTO_INCREMENT, POLICY_ID INT NOT NULL, DEVICE_TYPE VARCHAR(300) NOT NULL , - TENANT_ID INT(11) NOT NULL, + TENANT_ID INT NOT NULL, PRIMARY KEY (ID) ); @@ -409,7 +397,7 @@ CREATE TABLE IF NOT EXISTS DM_APPLICATION ( LOCATION_URL VARCHAR(100) DEFAULT NULL, IMAGE_URL VARCHAR(100) DEFAULT NULL, APP_PROPERTIES BLOB NULL, - MEMORY_USAGE INTEGER(10) NULL, + MEMORY_USAGE INTEGER NULL, IS_ACTIVE BOOLEAN NOT NULL DEFAULT FALSE, DEVICE_ID INTEGER NOT NULL, ENROLMENT_ID INTEGER NOT NULL, @@ -429,6 +417,16 @@ CREATE TABLE IF NOT EXISTS DM_APPLICATION ( -- POLICY RELATED TABLES FINISHED -- +CREATE TABLE IF NOT EXISTS DM_APP_ICONS ( + ID INTEGER AUTO_INCREMENT NOT NULL, + ICON_PATH VARCHAR(150) DEFAULT NULL, + PACKAGE_NAME VARCHAR(150) NOT NULL, + VERSION VARCHAR(50) DEFAULT '1.1.0', + CREATED_TIMESTAMP TIMESTAMP NOT NULL, + TENANT_ID INTEGER NOT NULL, + PRIMARY KEY (ID) +); + -- NOTIFICATION TABLE -- CREATE TABLE IF NOT EXISTS DM_NOTIFICATION ( NOTIFICATION_ID INTEGER AUTO_INCREMENT NOT NULL, @@ -478,7 +476,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_LOCATION ( STATE VARCHAR(45) NULL, COUNTRY VARCHAR(45) NULL, GEO_HASH VARCHAR(45) NULL, - UPDATE_TIMESTAMP BIGINT(15) NOT NULL, + UPDATE_TIMESTAMP BIGINT NOT NULL, ALTITUDE DOUBLE NULL, SPEED FLOAT NULL, BEARING FLOAT NULL, @@ -515,8 +513,8 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL ( CPU_USAGE DECIMAL(5) NULL, TOTAL_RAM_MEMORY DECIMAL(30,3) NULL, AVAILABLE_RAM_MEMORY DECIMAL(30,3) NULL, - PLUGGED_IN INT(1) NULL, - UPDATE_TIMESTAMP BIGINT(15) NOT NULL, + PLUGGED_IN INT NULL, + UPDATE_TIMESTAMP BIGINT NOT NULL, PRIMARY KEY (ID), CONSTRAINT FK_DM_DEVICE_DETAILS_DEVICE FOREIGN KEY (DEVICE_ID) @@ -543,7 +541,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_HISTORY_LAST_SEVEN_DAYS LONGITUDE DOUBLE NULL, SPEED FLOAT NULL, HEADING FLOAT NULL, - TIMESTAMP BIGINT(15) NOT NULL, + TIMESTAMP BIGINT NOT NULL, GEO_HASH VARCHAR(45) NULL, DEVICE_OWNER VARCHAR(45) NULL, DEVICE_ALTITUDE DOUBLE NULL, @@ -612,8 +610,7 @@ CREATE TABLE IF NOT EXISTS DM_OTP_DATA ( CREATED_AT TIMESTAMP NOT NULL, EXPIRY_TIME INT NOT NULL DEFAULT 3600, IS_EXPIRED BOOLEAN DEFAULT false, - PRIMARY KEY (ID), - CONSTRAINT email_type_uk UNIQUE (EMAIL, EMAIL_TYPE) + PRIMARY KEY (ID) ); -- END OF DM_OTP_DATA TABLE -- @@ -747,24 +744,6 @@ CREATE TABLE IF NOT EXISTS DM_GEOFENCE_EVENT_MAPPING ( DM_DEVICE_EVENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION ); -/* - * Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved. - * - * Entgra (Pvt) Ltd. 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. - */ - -- END OF DM_GEOFENCE_GROUP_MAPPING TABLE-- -- DM_EXT_GROUP_MAPPING TABLE-- @@ -795,3 +774,66 @@ CREATE TABLE IF NOT EXISTS DM_EXT_PERMISSION_MAPPING ( TRACCAR_USER_ID INT DEFAULT 0 ); -- END OF DM_EXT_PERMISSION_MAPPING TABLE-- + +-- DYNAMIC TASK TABLES-- +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK ( + DYNAMIC_TASK_ID INTEGER AUTO_INCREMENT NOT NULL, + NAME VARCHAR(300) DEFAULT NULL , + CRON VARCHAR(8000) DEFAULT NULL, + IS_ENABLED BOOLEAN NOT NULL DEFAULT FALSE, + TASK_CLASS_NAME VARCHAR(8000) DEFAULT NULL, + TENANT_ID INTEGER DEFAULT 0, + PRIMARY KEY (DYNAMIC_TASK_ID) +); + +CREATE TABLE IF NOT EXISTS DYNAMIC_TASK_PROPERTIES ( + DYNAMIC_TASK_ID INTEGER NOT NULL, + PROPERTY_NAME VARCHAR(100) DEFAULT 0, + PROPERTY_VALUE VARCHAR(100) DEFAULT NULL, + TENANT_ID VARCHAR(100), + PRIMARY KEY (DYNAMIC_TASK_ID, PROPERTY_NAME, TENANT_ID), + CONSTRAINT FK_DYNAMIC_TASK_TASK_PROPERTIES FOREIGN KEY (DYNAMIC_TASK_ID) REFERENCES + DYNAMIC_TASK (DYNAMIC_TASK_ID) ON DELETE CASCADE ON UPDATE CASCADE +); +-- END OF DYNAMIC TASK TABLE-- + +-- DM_DEVICE_SUB_TYPE TABLE-- +CREATE TABLE IF NOT EXISTS DM_DEVICE_SUB_TYPE ( + TENANT_ID INT DEFAULT 0, + SUB_TYPE_ID VARCHAR(45) NOT NULL, + DEVICE_TYPE VARCHAR(25) NOT NULL, + SUB_TYPE_NAME VARCHAR(45) NOT NULL, + TYPE_DEFINITION TEXT NOT NULL, + PRIMARY KEY (SUB_TYPE_ID,DEVICE_TYPE) +); +-- END OF DM_DEVICE_SUB_TYPE TABLE-- + +-- DM_TRACCAR_UNSYNCED_DEVICES TABLE -- +CREATE TABLE IF NOT EXISTS DM_TRACCAR_UNSYNCED_DEVICES ( + ID INT NOT NULL AUTO_INCREMENT, + DEVICE_NAME VARCHAR(100) NOT NULL, + IOTS_DEVICE_IDENTIFIER VARCHAR(300) DEFAULT NULL UNIQUE, + TRACCAR_DEVICE_UNIQUE_ID INT NOT NULL, + TRACCAR_USENAME VARCHAR(100) NULL, + STATUS VARCHAR(100) NULL, + TENANT_ID INTEGER DEFAULT 0, + PRIMARY KEY (ID) +); +-- END OF DM_TRACCAR_UNSYNCED_DEVICES TABLE -- + +-- SUB_OPERATION_TEMPLATE TABLE-- +CREATE TABLE IF NOT EXISTS SUB_OPERATION_TEMPLATE ( + SUB_OPERATION_TEMPLATE_ID INT NOT NULL AUTO_INCREMENT, + OPERATION_DEFINITION TEXT NOT NULL, + OPERATION_CODE VARCHAR(100) NOT NULL, + SUB_TYPE_ID INT NOT NULL, + DEVICE_TYPE VARCHAR(25) NOT NULL, + CREATE_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, + UPDATE_TIMESTAMP TIMESTAMP NULL DEFAULT NULL, + PRIMARY KEY (SUB_OPERATION_TEMPLATE_ID), + CONSTRAINT uk_sub_operation_template UNIQUE (SUB_TYPE_ID, OPERATION_CODE, DEVICE_TYPE), +-- UNIQUE KEY SUB_OPERATION_TEMPLATE (SUB_TYPE_ID, OPERATION_CODE, DEVICE_TYPE), + CONSTRAINT fk_SUB_OPERATION_TEMPLATE_DM_DEVICE_SUB_TYPE FOREIGN KEY (SUB_TYPE_ID, DEVICE_TYPE) REFERENCES DM_DEVICE_SUB_TYPE (SUB_TYPE_ID, DEVICE_TYPE) +); + +-- END OF SUB_OPERATION_TEMPLATE TABLE--