diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml
index 11909fd5cf..c44e907445 100644
--- a/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml
+++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.annotations/pom.xml
@@ -22,13 +22,13 @@
apimgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.apimgt.annotations
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - API Management Annotations
WSO2 Carbon - API Management Custom Annotation Module
diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml
index a865012b98..c852d985b6 100644
--- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml
+++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.api/pom.xml
@@ -21,12 +21,12 @@
apimgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
org.wso2.carbon.apimgt.application.extension.api
war
WSO2 Carbon - API Application Management API
diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml
index 0acbc4c154..c749c90d52 100644
--- a/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml
+++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.application.extension/pom.xml
@@ -22,12 +22,12 @@
apimgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
org.wso2.carbon.apimgt.application.extension
bundle
WSO2 Carbon - API Application Management
diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/pom.xml
index fc0ec29d86..bccaa548bd 100644
--- a/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/pom.xml
+++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.handlers/pom.xml
@@ -21,13 +21,13 @@
apimgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.apimgt.handlers
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - API Security Handler Component
WSO2 Carbon - API Management Security Handler Module
diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.client/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.client/pom.xml
index c24a5c9983..245dcb65c1 100644
--- a/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.client/pom.xml
+++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.client/pom.xml
@@ -13,13 +13,13 @@
apimgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.apimgt.integration.client
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - API Management Integration Client
WSO2 Carbon - API Management Integration Client
diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.generated.client/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.generated.client/pom.xml
index bea9e5c414..7b0d297a3f 100644
--- a/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.generated.client/pom.xml
+++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.integration.generated.client/pom.xml
@@ -13,13 +13,13 @@
apimgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.apimgt.integration.generated.client
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - API Management Integration Generated Client
WSO2 Carbon - API Management Integration Client
diff --git a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml
index 4cda0dd7f8..7c965aea03 100644
--- a/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml
+++ b/components/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher/pom.xml
@@ -22,13 +22,13 @@
apimgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.apimgt.webapp.publisher
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - API Management Webapp Publisher
WSO2 Carbon - API Management Webapp Publisher
diff --git a/components/apimgt-extensions/pom.xml b/components/apimgt-extensions/pom.xml
index 400800865d..7ce429b6e2 100644
--- a/components/apimgt-extensions/pom.xml
+++ b/components/apimgt-extensions/pom.xml
@@ -22,13 +22,13 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
apimgt-extensions
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - API Management Extensions Component
http://wso2.org
diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml
index ee25617ca5..dc8e6ca2e8 100644
--- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml
+++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.api/pom.xml
@@ -22,7 +22,7 @@
certificate-mgt
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml
index 8418325fc3..f3142c811d 100644
--- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml
+++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api/pom.xml
@@ -22,7 +22,7 @@
certificate-mgt
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml
index a5dde4a1bd..d522e2b223 100644
--- a/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml
+++ b/components/certificate-mgt/org.wso2.carbon.certificate.mgt.core/pom.xml
@@ -21,13 +21,13 @@
org.wso2.carbon.devicemgt
certificate-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.certificate.mgt.core
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - Certificate Management Core
WSO2 Carbon - Certificate Management Core
diff --git a/components/certificate-mgt/pom.xml b/components/certificate-mgt/pom.xml
index 292fe9377b..9d2af0b316 100644
--- a/components/certificate-mgt/pom.xml
+++ b/components/certificate-mgt/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
org.wso2.carbon.devicemgt
certificate-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - Certificate Management Component
http://wso2.org
diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml
index 14449a334d..02df708b63 100644
--- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml
+++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer/pom.xml
@@ -22,7 +22,7 @@
device-mgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml
index 422acd97aa..da1da0fde5 100644
--- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml
+++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.pull.notification/pom.xml
@@ -22,7 +22,7 @@
device-mgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml
index d59dc7e8de..a2df62c320 100644
--- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml
+++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm/pom.xml
@@ -22,7 +22,7 @@
device-mgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml
index 1f937335c4..b61070c398 100644
--- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml
+++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http/pom.xml
@@ -22,7 +22,7 @@
device-mgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml
index a5044b0705..92a02d1696 100644
--- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml
+++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt/pom.xml
@@ -22,7 +22,7 @@
device-mgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml
index 4169e02087..b4c832a8a7 100644
--- a/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml
+++ b/components/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp/pom.xml
@@ -22,7 +22,7 @@
device-mgt-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt-extensions/pom.xml b/components/device-mgt-extensions/pom.xml
index adc13946e9..679d655a7e 100644
--- a/components/device-mgt-extensions/pom.xml
+++ b/components/device-mgt-extensions/pom.xml
@@ -22,7 +22,7 @@
carbon-devicemgt
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
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
index d0c2b0f3c8..e73348653d 100644
--- 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
@@ -3,7 +3,7 @@
org.wso2.carbon.devicemgt
device-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml
index ba0b71c3a4..57cf03630e 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
device-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml
index d9e99f508c..68fb2729b1 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/pom.xml
@@ -22,7 +22,7 @@
device-mgt
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml
index 97af171482..e5f84f067f 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/pom.xml
@@ -21,7 +21,7 @@
device-mgt
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml
index 0ca691f2d4..6d09e4f4ce 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
device-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java
index 51b6b63f2e..47b6caa11f 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/config/DeviceConfigurationManager.java
@@ -57,9 +57,9 @@ public class DeviceConfigurationManager {
return deviceConfigManager;
}
- public synchronized void initConfig() throws DeviceManagementException {
+ public synchronized void initConfig(String configLocation) throws DeviceManagementException {
try {
- File deviceMgtConfig = new File(DeviceConfigurationManager.DEVICE_MGT_CONFIG_PATH);
+ File deviceMgtConfig = new File(configLocation);
Document doc = DeviceManagerUtil.convertToDocument(deviceMgtConfig);
/* Un-marshaling Device Management configuration */
@@ -72,15 +72,8 @@ public class DeviceConfigurationManager {
}
}
- private static Schema getSchema() throws DeviceManagementException {
- try {
- File deviceManagementSchemaConfig = new File(DeviceConfigurationManager.DEVICE_MGT_CONFIG_SCHEMA_PATH);
- SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
- return factory.newSchema(deviceManagementSchemaConfig);
- } catch (SAXException e) {
- throw new DeviceManagementException("Error occurred while initializing the schema of " +
- "device-mgt-config.xml", e);
- }
+ public void initConfig() throws DeviceManagementException {
+ this.initConfig(DEVICE_MGT_CONFIG_PATH);
}
public DeviceManagementConfig getDeviceManagementConfig() {
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java
index 772c5268e5..ccb69a1e0b 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/OperationManagerImpl.java
@@ -141,7 +141,7 @@ public class OperationManagerImpl implements OperationManager {
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation operationDto =
OperationDAOUtil.convertOperation(operation);
int operationId = this.lookupOperationDAO(operation).addOperation(operationDto);
- boolean isScheduledOperation = this.isTaskScheduledOperation(operation, deviceIds);
+ boolean isScheduledOperation = this.isTaskScheduledOperation(operation);
boolean isNotRepeated = false;
boolean isScheduled = false;
@@ -344,18 +344,22 @@ public class OperationManagerImpl implements OperationManager {
PaginationResult paginationResult = null;
List operations = new ArrayList<>();
String owner = request.getOwner();
+ try {
+ if (!DeviceManagerUtil.isDeviceExists(deviceId)) {
+ throw new OperationManagementException("Device not found for given device " +
+ "Identifier:" + deviceId.getId() + " and given type : " +
+ deviceId.getType());
+ }
+ } catch (DeviceManagementException e) {
+ throw new OperationManagementException("Error while checking the existence of the device identifier - "
+ + deviceId.getId() + " of the device type - " + deviceId.getType(), e);
+ }
if (!isActionAuthorized(deviceId)) {
throw new OperationManagementException("User '" + getUser() + "' is not authorized to access the '" +
deviceId.getType() + "' device, which carries the identifier '" +
deviceId.getId() + "' of owner '" + owner + "'");
}
-
EnrolmentInfo enrolmentInfo = this.getEnrolmentInfo(deviceId, owner);
- if (enrolmentInfo == null) {
- throw new OperationManagementException("Device not found for given device " +
- "Identifier:" + deviceId.getId() + " and given type" +
- deviceId.getType());
- }
int enrolmentId = enrolmentInfo.getId();
try {
OperationManagementDAOFactory.openConnection();
@@ -530,9 +534,8 @@ public class OperationManagerImpl implements OperationManager {
try {
int enrolmentId = enrolmentInfo.getId();
OperationManagementDAOFactory.beginTransaction();
- boolean isUpdated = false;
if (operation.getStatus() != null) {
- isUpdated = operationDAO.updateOperationStatus(enrolmentId, operationId,
+ operationDAO.updateOperationStatus(enrolmentId, operationId,
org.wso2.carbon.device.mgt.core.dto.operation.mgt.
Operation.Status.valueOf(operation.getStatus().
toString()));
@@ -806,25 +809,6 @@ public class OperationManagerImpl implements OperationManager {
}
}
- private OperationDAO lookupOperationDAO(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation operation) {
-
- if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.CommandOperation ||
- operation.getType().equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.COMMAND)) {
- return commandOperationDAO;
- } else if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.ProfileOperation ||
- operation.getType().equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.PROFILE)) {
- return profileOperationDAO;
- } else if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.ConfigOperation ||
- operation.getType().equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.CONFIG)) {
- return configOperationDAO;
- } else if (operation instanceof org.wso2.carbon.device.mgt.core.dto.operation.mgt.PolicyOperation ||
- operation.getType().equals(org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Type.POLICY)) {
- return policyOperationDAO;
- } else {
- return operationDAO;
- }
- }
-
private String getUser() {
return CarbonContext.getThreadLocalCarbonContext().getUsername();
}
@@ -867,26 +851,6 @@ public class OperationManagerImpl implements OperationManager {
return isUserAuthorized;
}
- private int getEnrolmentByStatus(DeviceIdentifier deviceId,
- EnrolmentInfo.Status status) throws OperationManagementException {
- int enrolmentId;
- try {
- DeviceManagementDAOFactory.openConnection();
- int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
- enrolmentId = deviceDAO.getEnrolmentByStatus(deviceId, status, tenantId);
- } catch (DeviceManagementDAOException e) {
- throw new OperationManagementException("Error occurred while retrieving metadata of '" +
- deviceId.getType() + "' device carrying the identifier '" +
- deviceId.getId() + "'", e);
- } catch (SQLException e) {
- throw new OperationManagementException(
- "Error occurred while opening a connection to the data source", e);
- } finally {
- DeviceManagementDAOFactory.closeConnection();
- }
- return enrolmentId;
- }
-
private EnrolmentInfo getEnrolmentInfo(DeviceIdentifier deviceId, String owner) throws OperationManagementException {
EnrolmentInfo enrolmentInfo = null;
try {
@@ -959,39 +923,15 @@ public class OperationManagerImpl implements OperationManager {
return updateStatus;
}
- private boolean isTaskScheduledOperation(Operation operation, List deviceIds) {
+ private boolean isTaskScheduledOperation(Operation operation) {
DeviceManagementProviderService deviceManagementProviderService = DeviceManagementDataHolder.getInstance().
getDeviceManagementProvider();
-
List monitoringOperations = deviceManagementProviderService.getMonitoringOperationList(deviceType);//Get task list from each device type
-
for (MonitoringOperation op : monitoringOperations) {
if (operation.getCode().equals(op.getTaskName())) {
return true;
}
}
-
-// for(String dti : taskOperation){
-// if (dti.equals(deviceType)) {
-// monitoringOperations = deviceTypeSpecificTasks.get(dti);
-//
-// }
-// }
-//
-// for(DeviceIdentifier deviceIdentifier : deviceIds){
-// String deviceType = deviceIdentifier.getType();
-//
-//
-//
-// }
-
-// TaskConfiguration taskConfiguration = DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
-// getTaskConfiguration();
-// for (TaskConfiguration.Operation op : taskConfiguration.getOperations()) {
-// if (operation.getCode().equals(op.getOperationName())) {
-// return true;
-// }
-// }
return false;
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java
index bd5e6d5897..fe77b94180 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderService.java
@@ -510,8 +510,6 @@ public interface DeviceManagementProviderService {
boolean enrollDevice(Device device) throws DeviceManagementException;
- PlatformConfiguration getConfiguration() throws DeviceManagementException;
-
boolean saveConfiguration(PlatformConfiguration configuration) throws DeviceManagementException;
boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException;
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 da66d7c9b6..e5d065a196 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
@@ -129,11 +129,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
return dms.saveConfiguration(configuration);
}
- @Override
- public PlatformConfiguration getConfiguration() throws DeviceManagementException {
- return null;
- }
-
@Override
public PlatformConfiguration getConfiguration(String deviceType) throws DeviceManagementException {
DeviceManager dms =
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java
index 19ab94ca8a..bfb4826762 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java
@@ -474,6 +474,13 @@ public final class DeviceManagerUtil {
return true;
}
+ public static boolean isDeviceExists(DeviceIdentifier deviceIdentifier) throws DeviceManagementException {
+ Device device = DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().getDevice(deviceIdentifier,
+ false);
+ return !(device == null || device.getDeviceIdentifier() == null ||
+ device.getDeviceIdentifier().isEmpty() || device.getEnrolmentInfo() == null);
+ }
+
private static CacheManager getCacheManager() {
return Caching.getCacheManagerFactory().getCacheManager(DeviceManagementConstants.DM_CACHE_MANAGER);
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java
index fca34667aa..f83100b442 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/TestDeviceManagementService.java
@@ -31,10 +31,18 @@ public class TestDeviceManagementService implements DeviceManagementService {
private String providerType;
private String tenantDomain;
+ private String operationCode;
+
+ public TestDeviceManagementService(String deviceType, String tenantDomain, String operationCode) {
+ providerType = deviceType;
+ this.tenantDomain = tenantDomain;
+ this.operationCode = operationCode;
+ }
public TestDeviceManagementService(String deviceType, String tenantDomain) {
providerType = deviceType;
this.tenantDomain = tenantDomain;
+ this.operationCode = "default";
}
@Override
@@ -48,12 +56,10 @@ public class TestDeviceManagementService implements DeviceManagementService {
taskConfig.setEnabled(true);
taskConfig.setFrequency(3000);
List monitoringOperations = new ArrayList<>();
- for (int i = 0; i < 5; i++) {
- MonitoringOperation monitoringOperation = new MonitoringOperation();
- monitoringOperation.setTaskName("OPERATION-" + i);
- monitoringOperation.setRecurrentTimes(i);
- monitoringOperations.add(monitoringOperation);
- }
+ MonitoringOperation monitoringOperation = new MonitoringOperation();
+ monitoringOperation.setTaskName(operationCode);
+ monitoringOperation.setRecurrentTimes(2);
+ monitoringOperations.add(monitoringOperation);
taskConfig.setMonitoringOperation(monitoringOperations);
return taskConfig;
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/BaseDeviceManagementTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/BaseDeviceManagementTest.java
index e22cd0ac62..e5c21cdcd8 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/BaseDeviceManagementTest.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/BaseDeviceManagementTest.java
@@ -22,7 +22,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.tomcat.jdbc.pool.PoolProperties;
import org.testng.Assert;
-import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeSuite;
import org.w3c.dom.Document;
@@ -30,17 +29,31 @@ import org.wso2.carbon.base.MultitenantConstants;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
import org.wso2.carbon.device.mgt.core.TestUtils;
+import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
+import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
import org.wso2.carbon.device.mgt.core.dao.GroupManagementDAOFactory;
+import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
+import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent;
import org.wso2.carbon.device.mgt.core.notification.mgt.dao.NotificationManagementDAOFactory;
import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOFactory;
+import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
+import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl;
+import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl;
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
+import org.wso2.carbon.registry.core.config.RegistryContext;
+import org.wso2.carbon.registry.core.exceptions.RegistryException;
+import org.wso2.carbon.registry.core.internal.RegistryDataHolder;
+import org.wso2.carbon.registry.core.jdbc.realm.InMemoryRealmService;
+import org.wso2.carbon.registry.core.service.RegistryService;
+import org.wso2.carbon.user.core.service.RealmService;
import javax.sql.DataSource;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import java.io.File;
+import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
@@ -56,6 +69,7 @@ public abstract class BaseDeviceManagementTest {
this.initDataSource();
this.initSQLScript();
this.initializeCarbonContext();
+ this.initServices();
}
protected void initDataSource() throws Exception {
@@ -66,6 +80,27 @@ public abstract class BaseDeviceManagementTest {
NotificationManagementDAOFactory.init(dataSource);
}
+ private void initServices() throws DeviceManagementException, RegistryException {
+ DeviceConfigurationManager.getInstance().initConfig();
+ DeviceManagementProviderService deviceMgtService = new DeviceManagementProviderServiceImpl();
+ DeviceManagementServiceComponent.notifyStartupListeners();
+ DeviceManagementDataHolder.getInstance().setDeviceManagementProvider(deviceMgtService);
+ DeviceManagementDataHolder.getInstance().setRegistryService(getRegistryService());
+ DeviceManagementDataHolder.getInstance().setDeviceAccessAuthorizationService(new DeviceAccessAuthorizationServiceImpl());
+ DeviceManagementDataHolder.getInstance().setGroupManagementProviderService(new GroupManagementProviderServiceImpl());
+ DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService(null);
+ }
+
+ private RegistryService getRegistryService() throws RegistryException {
+ RealmService realmService = new InMemoryRealmService();
+ RegistryDataHolder.getInstance().setRealmService(realmService);
+ DeviceManagementDataHolder.getInstance().setRealmService(realmService);
+ InputStream is = this.getClass().getClassLoader().getResourceAsStream("carbon-home/repository/conf/registry.xml");
+ RegistryContext context = RegistryContext.getBaseInstance(is, realmService);
+ context.setSetup(true);
+ return context.getEmbeddedRegistryService();
+ }
+
@BeforeClass
public abstract void init() throws Exception;
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/OperationManagementTests.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/OperationManagementTests.java
index 3107e0448b..9ba56c160a 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/OperationManagementTests.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/OperationManagementTests.java
@@ -36,28 +36,17 @@ import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager;
import org.wso2.carbon.device.mgt.common.push.notification.NotificationStrategy;
import org.wso2.carbon.device.mgt.core.DeviceManagementConstants;
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
-import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
+import org.wso2.carbon.device.mgt.core.common.BaseDeviceManagementTest;
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
-import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
-import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent;
import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation;
import org.wso2.carbon.device.mgt.core.operation.mgt.ConfigOperation;
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl;
import org.wso2.carbon.device.mgt.core.operation.mgt.PolicyOperation;
import org.wso2.carbon.device.mgt.core.operation.mgt.ProfileOperation;
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
-import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl;
-import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl;
-import org.wso2.carbon.registry.core.config.RegistryContext;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.registry.core.internal.RegistryDataHolder;
-import org.wso2.carbon.registry.core.jdbc.realm.InMemoryRealmService;
-import org.wso2.carbon.registry.core.service.RegistryService;
-import org.wso2.carbon.user.core.service.RealmService;
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
-import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -67,7 +56,7 @@ import java.util.List;
/**
* This is the testcase which covers the methods from {@link OperationManager}
*/
-public class OperationManagementTests {
+public class OperationManagementTests extends BaseDeviceManagementTest {
private static final String DEVICE_TYPE = "OP_TEST_TYPE";
private static final String DEVICE_ID_PREFIX = "OP-TEST-DEVICE-ID-";
@@ -79,6 +68,7 @@ public class OperationManagementTests {
private static final int NO_OF_DEVICES = 5;
private static final String ADMIN_USER = "admin";
private static final String NON_ADMIN_USER = "test";
+ private static final String INVALID_DEVICE = "ThisIsInvalid";
private List deviceIds = new ArrayList<>();
private OperationManager operationMgtService;
@@ -87,18 +77,12 @@ public class OperationManagementTests {
@BeforeClass
public void init() throws Exception {
- DeviceConfigurationManager.getInstance().initConfig();
for (int i = 0; i < NO_OF_DEVICES; i++) {
deviceIds.add(new DeviceIdentifier(DEVICE_ID_PREFIX + i, DEVICE_TYPE));
}
List devices = TestDataHolder.generateDummyDeviceData(this.deviceIds);
- DeviceManagementProviderService deviceMgtService = new DeviceManagementProviderServiceImpl();
- DeviceManagementServiceComponent.notifyStartupListeners();
- DeviceManagementDataHolder.getInstance().setDeviceManagementProvider(deviceMgtService);
- DeviceManagementDataHolder.getInstance().setRegistryService(getRegistryService());
- DeviceManagementDataHolder.getInstance().setDeviceAccessAuthorizationService(new DeviceAccessAuthorizationServiceImpl());
- DeviceManagementDataHolder.getInstance().setGroupManagementProviderService(new GroupManagementProviderServiceImpl());
- DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService(null);
+ DeviceManagementProviderService deviceMgtService = DeviceManagementDataHolder.getInstance().
+ getDeviceManagementProvider();
deviceMgtService.registerDeviceType(new TestDeviceManagementService(DEVICE_TYPE,
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME));
for (Device device : devices) {
@@ -114,35 +98,59 @@ public class OperationManagementTests {
this.operationMgtService = new OperationManagerImpl(DEVICE_TYPE, notificationStrategy);
}
- private RegistryService getRegistryService() throws RegistryException {
- RealmService realmService = new InMemoryRealmService();
- RegistryDataHolder.getInstance().setRealmService(realmService);
- DeviceManagementDataHolder.getInstance().setRealmService(realmService);
- InputStream is = this.getClass().getClassLoader().getResourceAsStream("carbon-home/repository/conf/registry.xml");
- RegistryContext context = RegistryContext.getBaseInstance(is, realmService);
- context.setSetup(true);
- return context.getEmbeddedRegistryService();
- }
-
@Test
- public void addCommandOperation() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
- this.commandActivity = this.operationMgtService.addOperation(getOperation(new CommandOperation(), Operation.Type.COMMAND, COMMAND_OPERATON_CODE),
+ public void addCommandOperation() throws DeviceManagementException, OperationManagementException,
+ InvalidDeviceException {
+ this.commandActivity = this.operationMgtService.addOperation(
+ getOperation(new CommandOperation(), Operation.Type.COMMAND, COMMAND_OPERATON_CODE),
this.deviceIds);
validateOperationResponse(this.commandActivity, ActivityStatus.Status.PENDING);
}
+ @Test
+ public void addCommandOperationInvalidDeviceIds() throws DeviceManagementException, OperationManagementException,
+ InvalidDeviceException {
+ startTenantFlowAsNonAdmin();
+ try {
+ ArrayList invalidDevices = new ArrayList<>();
+ for (int i = 0; i < 3; i++) {
+ invalidDevices.add(new DeviceIdentifier(INVALID_DEVICE + i, DEVICE_TYPE));
+ }
+ invalidDevices.addAll(this.deviceIds);
+ Activity activity = this.operationMgtService.addOperation(getOperation(new CommandOperation(),
+ Operation.Type.COMMAND, COMMAND_OPERATON_CODE), invalidDevices);
+ Assert.assertEquals(activity.getActivityStatus().size(), invalidDevices.size(),
+ "The operation response for add operation only have - " + activity.getActivityStatus().size());
+ for (int i = 0; i < activity.getActivityStatus().size(); i++) {
+ ActivityStatus status = activity.getActivityStatus().get(i);
+ if (i < 3) {
+ Assert.assertEquals(status.getStatus(), ActivityStatus.Status.INVALID);
+ } else {
+ Assert.assertEquals(status.getStatus(), ActivityStatus.Status.UNAUTHORIZED);
+ }
+ }
+ } finally {
+ PrivilegedCarbonContext.endTenantFlow();
+ }
+ }
+
+
@Test(expectedExceptions = InvalidDeviceException.class)
- public void addEmptyDevicesCommandOperation() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
- this.operationMgtService.addOperation(getOperation(new CommandOperation(), Operation.Type.COMMAND, COMMAND_OPERATON_CODE),
+ public void addEmptyDevicesCommandOperation() throws DeviceManagementException, OperationManagementException,
+ InvalidDeviceException {
+ this.operationMgtService.addOperation(getOperation(new CommandOperation(), Operation.Type.COMMAND,
+ COMMAND_OPERATON_CODE),
new ArrayList<>());
}
@Test(expectedExceptions = InvalidDeviceException.class)
- public void addNonInitializedDevicesCommandOperation() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
+ public void addNonInitializedDevicesCommandOperation() throws DeviceManagementException, OperationManagementException,
+ InvalidDeviceException {
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
List deviceIdentifiers = new ArrayList<>();
deviceIdentifiers.add(deviceIdentifier);
- this.operationMgtService.addOperation(getOperation(new CommandOperation(), Operation.Type.COMMAND, COMMAND_OPERATON_CODE),
+ this.operationMgtService.addOperation(getOperation(new CommandOperation(), Operation.Type.COMMAND,
+ COMMAND_OPERATON_CODE),
deviceIdentifiers);
}
@@ -150,7 +158,8 @@ public class OperationManagementTests {
public void addNonAdminUserDevicesCommandOperation() throws DeviceManagementException, OperationManagementException,
InvalidDeviceException {
startTenantFlowAsNonAdmin();
- Activity activity = this.operationMgtService.addOperation(getOperation(new CommandOperation(), Operation.Type.COMMAND, COMMAND_OPERATON_CODE),
+ Activity activity = this.operationMgtService.addOperation(getOperation(new CommandOperation(),
+ Operation.Type.COMMAND, COMMAND_OPERATON_CODE),
deviceIds);
PrivilegedCarbonContext.endTenantFlow();
validateOperationResponse(activity, ActivityStatus.Status.UNAUTHORIZED);
@@ -163,27 +172,33 @@ public class OperationManagementTests {
}
@Test(dependsOnMethods = "addCommandOperation")
- public void addPolicyOperation() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
- Activity activity = this.operationMgtService.addOperation(getOperation(new PolicyOperation(), Operation.Type.POLICY, POLICY_OPERATION_CODE),
+ public void addPolicyOperation() throws DeviceManagementException, OperationManagementException,
+ InvalidDeviceException {
+ Activity activity = this.operationMgtService.addOperation(getOperation(new PolicyOperation(),
+ Operation.Type.POLICY, POLICY_OPERATION_CODE),
this.deviceIds);
validateOperationResponse(activity, ActivityStatus.Status.PENDING);
}
@Test(dependsOnMethods = "addPolicyOperation")
- public void addConfigOperation() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
- Activity activity = this.operationMgtService.addOperation(getOperation(new ConfigOperation(), Operation.Type.CONFIG, CONFIG_OPERATION_CODE),
+ public void addConfigOperation() throws DeviceManagementException, OperationManagementException,
+ InvalidDeviceException {
+ Activity activity = this.operationMgtService.addOperation(getOperation(new ConfigOperation(),
+ Operation.Type.CONFIG, CONFIG_OPERATION_CODE),
this.deviceIds);
validateOperationResponse(activity, ActivityStatus.Status.PENDING);
}
@Test(dependsOnMethods = "addConfigOperation")
- public void addProfileOperation() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
- Activity activity = this.operationMgtService.addOperation(getOperation(new ProfileOperation(), Operation.Type.PROFILE, PROFILE_OPERATION_CODE),
+ public void addProfileOperation() throws DeviceManagementException, OperationManagementException,
+ InvalidDeviceException {
+ Activity activity = this.operationMgtService.addOperation(getOperation(new ProfileOperation(),
+ Operation.Type.PROFILE, PROFILE_OPERATION_CODE),
this.deviceIds);
validateOperationResponse(activity, ActivityStatus.Status.PENDING);
}
- private Operation getOperation(Operation operation, Operation.Type type, String code) {
+ static Operation getOperation(Operation operation, Operation.Type type, String code) {
String date = new SimpleDateFormat(DATE_FORMAT_NOW).format(new Date());
operation.setCreatedTimeStamp(date);
operation.setType(type);
@@ -192,7 +207,7 @@ public class OperationManagementTests {
}
private void validateOperationResponse(Activity activity, ActivityStatus.Status expectedStatus) {
- Assert.assertEquals(activity.getActivityStatus().size(), NO_OF_DEVICES, "The operation reponse for add operation only have - " +
+ Assert.assertEquals(activity.getActivityStatus().size(), NO_OF_DEVICES, "The operation response for add operation only have - " +
activity.getActivityStatus().size());
for (ActivityStatus status : activity.getActivityStatus()) {
Assert.assertEquals(status.getStatus(), expectedStatus);
@@ -328,6 +343,17 @@ public class OperationManagementTests {
Assert.assertTrue(operation.getType().equals(Operation.Type.POLICY));
}
+ @Test(dependsOnMethods = "updateOperation", expectedExceptions = OperationManagementException.class)
+ public void getNextPendingOperationAsNonAdmin() throws OperationManagementException {
+ startTenantFlowAsNonAdmin();
+ try {
+ DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
+ this.operationMgtService.getNextPendingOperation(deviceIdentifier);
+ } finally {
+ PrivilegedCarbonContext.endTenantFlow();
+ }
+ }
+
@Test(dependsOnMethods = "getNextPendingOperation")
public void getOperationByDeviceAndOperationId() throws OperationManagementException {
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
@@ -438,4 +464,41 @@ public class OperationManagementTests {
Assert.assertTrue(this.operationMgtService.getNotificationStrategy() != null);
}
+ @Test(dependsOnMethods = {"getOperationByActivityIdAndDevice", "getOperationByActivityIdAndDeviceAsNonAdmin"})
+ public void getOperationForInactiveDevice() throws DeviceManagementException, OperationManagementException {
+ boolean disEnrolled = DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().
+ disenrollDevice(deviceIds.get(0));
+ Assert.assertTrue(disEnrolled);
+ List operations = this.operationMgtService.getOperations(deviceIds.get(0));
+ Assert.assertTrue(operations == null);
+ }
+
+ @Test(dependsOnMethods = "getOperationForInactiveDevice", expectedExceptions = OperationManagementException.class)
+ public void getPaginatedOperationDeviceForInvalidDevice() throws DeviceManagementException, OperationManagementException {
+ PrivilegedCarbonContext.startTenantFlow();
+ PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(MultitenantConstants.SUPER_TENANT_ID, true);
+ PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(ADMIN_USER);
+ try {
+ PaginationRequest request = new PaginationRequest(1, 2);
+ request.setDeviceType(DEVICE_TYPE);
+ request.setOwner(ADMIN_USER);
+ PaginationResult result = this.operationMgtService.getOperations(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE), request);
+ Assert.assertEquals(result.getRecordsFiltered(), 4);
+ Assert.assertEquals(result.getData().size(), 2);
+ Assert.assertEquals(result.getRecordsTotal(), 4);
+ } finally {
+ PrivilegedCarbonContext.endTenantFlow();
+ }
+ }
+
+ @Test(dependsOnMethods = "getOperationForInactiveDevice", expectedExceptions = OperationManagementException.class)
+ public void getPendingOperationDeviceForInvalidDevice() throws DeviceManagementException, OperationManagementException {
+ this.operationMgtService.getPendingOperations(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE));
+ }
+
+ @Test(dependsOnMethods = "getPendingOperationDeviceForInvalidDevice", expectedExceptions = OperationManagementException.class)
+ public void getNextPendingOperationDeviceForInvalidDevice() throws DeviceManagementException, OperationManagementException {
+ this.operationMgtService.getNextPendingOperation(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE));
+ }
+
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/ScheduledTaskOperationTests.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/ScheduledTaskOperationTests.java
new file mode 100644
index 0000000000..269563b3a8
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/ScheduledTaskOperationTests.java
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2017, 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.core.operation;
+
+import org.mockito.Mockito;
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import org.wso2.carbon.device.mgt.common.Device;
+import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
+import org.wso2.carbon.device.mgt.common.DeviceManagementException;
+import org.wso2.carbon.device.mgt.common.InvalidDeviceException;
+import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
+import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
+import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
+import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager;
+import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
+import org.wso2.carbon.device.mgt.core.TestTaskServiceImpl;
+import org.wso2.carbon.device.mgt.core.common.BaseDeviceManagementTest;
+import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
+import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
+import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
+import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation;
+import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl;
+import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
+import org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerService;
+import org.wso2.carbon.device.mgt.core.task.impl.DeviceTaskManagerServiceImpl;
+import org.wso2.carbon.ntask.core.internal.TasksDSComponent;
+import org.wso2.carbon.ntask.core.service.TaskService;
+import org.wso2.carbon.ntask.core.service.impl.TaskServiceImpl;
+import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
+
+import java.io.File;
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.wso2.carbon.device.mgt.core.operation.OperationManagementTests.getOperation;
+
+/**
+ * This class tests the tasks based operations of {@link OperationManager}
+ */
+public class ScheduledTaskOperationTests extends BaseDeviceManagementTest {
+ private static final String DEVICE_TYPE = "OP_SCHEDULE_TEST_TYPE";
+ private static final String DEVICE_ID_PREFIX = "OP-SCHEDULED_TEST-DEVICE-ID-";
+ private static final String COMMAND_OPERATON_CODE = "COMMAND-TEST";
+ private static final int NO_OF_DEVICES = 5;
+ private static final String DS_TASK_COMPONENT_FIELD = "taskService";
+ private static final String CDM_CONFIG_LOCATION = "src" + File.separator + "test" + File.separator + "resources" +
+ File.separator + "config" + File.separator + "operation" + File.separator + "cdm-config.xml";
+
+ private List deviceIds = new ArrayList<>();
+ private OperationManager operationMgtService;
+
+ @BeforeClass
+ public void init() throws Exception {
+ for (int i = 0; i < NO_OF_DEVICES; i++) {
+ deviceIds.add(new DeviceIdentifier(DEVICE_ID_PREFIX + i, DEVICE_TYPE));
+ }
+ List devices = TestDataHolder.generateDummyDeviceData(this.deviceIds);
+ DeviceManagementProviderService deviceMgtService = DeviceManagementDataHolder.getInstance().getDeviceManagementProvider();
+ initTaskService();
+ deviceMgtService.registerDeviceType(new TestDeviceManagementService(DEVICE_TYPE,
+ MultitenantConstants.SUPER_TENANT_DOMAIN_NAME, COMMAND_OPERATON_CODE));
+ for (Device device : devices) {
+ deviceMgtService.enrollDevice(device);
+ }
+ List returnedDevices = deviceMgtService.getAllDevices(DEVICE_TYPE);
+ for (Device device : returnedDevices) {
+ if (!device.getDeviceIdentifier().startsWith(DEVICE_ID_PREFIX)) {
+ throw new Exception("Incorrect device with ID - " + device.getDeviceIdentifier() + " returned!");
+ }
+ }
+ DeviceConfigurationManager.getInstance().initConfig(CDM_CONFIG_LOCATION);
+ TestNotificationStrategy notificationStrategy = new TestNotificationStrategy();
+ this.operationMgtService = new OperationManagerImpl(DEVICE_TYPE, notificationStrategy);
+ }
+
+
+ private void initTaskService() throws NoSuchFieldException, IllegalAccessException {
+ TaskService taskService = new TestTaskServiceImpl();
+ DeviceManagementDataHolder.getInstance().setTaskService(taskService);
+ DeviceTaskManagerService deviceTaskManager = new DeviceTaskManagerServiceImpl();
+ DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService(deviceTaskManager);
+ Field taskServiceField = TasksDSComponent.class.getDeclaredField(DS_TASK_COMPONENT_FIELD);
+ taskServiceField.setAccessible(true);
+ taskServiceField.set(null, Mockito.mock(TaskServiceImpl.class, Mockito.RETURNS_MOCKS));
+
+ }
+
+ @Test
+ public void addCommandOperation() throws DeviceManagementException, OperationManagementException,
+ InvalidDeviceException, NoSuchFieldException {
+ Activity activity = this.operationMgtService.addOperation(getOperation(new CommandOperation(), Operation.Type.COMMAND, COMMAND_OPERATON_CODE),
+ this.deviceIds);
+ Assert.assertEquals(activity.getActivityStatus(), null);
+ Assert.assertEquals(activity.getType(), Activity.Type.COMMAND);
+ }
+
+
+
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/TestNotificationStrategy.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/TestNotificationStrategy.java
index 28afa2da1f..c10fc0372f 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/TestNotificationStrategy.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/operation/TestNotificationStrategy.java
@@ -22,7 +22,14 @@ import org.wso2.carbon.device.mgt.common.push.notification.NotificationStrategy;
import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationExecutionFailedException;
+import java.util.HashMap;
+
public class TestNotificationStrategy implements NotificationStrategy {
+ private PushNotificationConfig pushNotificationConfig;
+
+ public TestNotificationStrategy(){
+ this.pushNotificationConfig = new PushNotificationConfig("TEST", true, new HashMap<>());
+ }
@Override
public void init() {
@@ -46,6 +53,6 @@ public class TestNotificationStrategy implements NotificationStrategy {
@Override
public PushNotificationConfig getConfig() {
- return null;
+ return pushNotificationConfig;
}
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceTest.java
index 144a3a4e6b..4cb26bc170 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceTest.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementProviderServiceTest.java
@@ -23,12 +23,12 @@ import org.testng.annotations.Test;
import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
import org.wso2.carbon.device.mgt.core.common.BaseDeviceManagementTest;
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
+import org.wso2.carbon.device.mgt.core.dto.DeviceType;
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent;
import org.wso2.carbon.registry.core.config.RegistryContext;
@@ -40,13 +40,14 @@ import org.wso2.carbon.user.core.service.RealmService;
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
import java.io.InputStream;
-import java.util.Date;
+import java.util.List;
public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTest {
private static final Log log = LogFactory.getLog(DeviceManagementProviderServiceTest.class);
private DeviceManagementProviderService providerService;
private static final String DEVICE_TYPE = "RANDOM_DEVICE_TYPE";
+ private static final String DEVICE_TYPE_2 = "RANDOM_DEVICE_TYPE";
DeviceManagementProviderService deviceMgtService;
@@ -77,6 +78,17 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
return context.getEmbeddedRegistryService();
}
+ @Test
+ public void testGetAvailableDeviceTypes() {
+ try {
+ List deviceTypes = deviceMgtService.getDeviceTypes();
+ Assert.assertTrue(deviceTypes.size() > 0);
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while getting the device types";
+ Assert.fail(msg, e);
+ }
+ }
+
@Test
public void testNullDeviceEnrollment() {
try {
@@ -87,17 +99,50 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
}
@Test
- public void testSuccessfullDeviceEnrollment() {
+ public void testSuccessfulDeviceEnrollment() {
Device device = TestDataHolder.generateDummyDeviceData(DEVICE_TYPE);
try {
boolean enrollmentStatus = deviceMgtService.enrollDevice(device);
Assert.assertTrue(enrollmentStatus);
} catch (DeviceManagementException e) {
- String msg = "Error Occured while enrolling device";
+ String msg = "Error occurred while enrolling device";
+ Assert.fail(msg, e);
+ }
+ }
+
+ @Test(dependsOnMethods = "testSuccessfulDeviceEnrollment")
+ public void testIsEnrolled() {
+ try {
+ DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
+ deviceIdentifier.setId(TestDataHolder.initialDeviceIdentifier);
+ deviceIdentifier.setType(DEVICE_TYPE);
+ boolean enrollmentStatus = deviceMgtService.isEnrolled(deviceIdentifier);
+ Assert.assertTrue(enrollmentStatus);
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while checking enrollment status.";
+ Assert.fail(msg, e);
+ }
+ }
+
+ @Test
+ public void testIsEnrolledForNonExistingDevice() {
+ try {
+ DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
+ deviceIdentifier.setId("34535235235235235");
+ deviceIdentifier.setType(DEVICE_TYPE);
+ boolean enrollmentStatus = deviceMgtService.isEnrolled(deviceIdentifier);
+ Assert.assertFalse(enrollmentStatus);
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while checking enrollment status.";
Assert.fail(msg, e);
}
}
+ @Test(expectedExceptions = DeviceManagementException.class)
+ public void testIsEnrolledForNullDevice() throws DeviceManagementException {
+ deviceMgtService.isEnrolled(null);
+ }
+
@Test
public void testNonExistentDeviceType() {
Device device = TestDataHolder.generateDummyDeviceData("abc");
@@ -105,13 +150,13 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
boolean enrollmentStatus = deviceMgtService.enrollDevice(device);
Assert.assertFalse(enrollmentStatus);
} catch (DeviceManagementException e) {
- String msg = "Error Occured while enrolling device";
+ String msg = "Error occurred while enrolling device";
Assert.fail(msg, e);
}
}
- @Test(dependsOnMethods = {"testSuccessfullDeviceEnrollment"})
+ @Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
public void testReEnrollmentofSameDeviceUnderSameUser() {
Device device = TestDataHolder.generateDummyDeviceData(DEVICE_TYPE);
@@ -120,7 +165,7 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
Assert.assertTrue(enrollment);
} catch (DeviceManagementException e) {
- String msg = "Error Occured while enrolling device";
+ String msg = "Error occurred while enrolling device";
Assert.fail(msg, e);
}
}
@@ -160,7 +205,6 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
@Test(dependsOnMethods = {"testReEnrollmentofSameDeviceUnderSameUser"})
public void testDisenrollment() {
Device device = TestDataHolder.generateDummyDeviceData(DEVICE_TYPE);
-
try {
boolean disenrollmentStatus = deviceMgtService.disenrollDevice(new DeviceIdentifier
(device
@@ -170,9 +214,111 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
Assert.assertTrue(disenrollmentStatus);
} catch (DeviceManagementException e) {
- String msg = "Error Occured while enrolling device";
+ String msg = "Error occurred while enrolling device";
+ Assert.fail(msg, e);
+ }
+ }
+
+ @Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
+ public void testGetDeviceCount() {
+ try {
+ int count = deviceMgtService.getDeviceCount();
+ Assert.assertTrue(count > 0);
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while getting the device count";
+ Assert.fail(msg, e);
+ }
+ }
+
+ @Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
+ public void testGetDeviceCountForUser() {
+ try {
+ int count = deviceMgtService.getDeviceCount(TestDataHolder.OWNER);
+ Assert.assertTrue(count > 0);
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while getting the device count";
Assert.fail(msg, e);
}
}
-}
+ @Test
+ public void testGetDeviceCountForNonExistingUser() {
+ try {
+ int count = deviceMgtService.getDeviceCount("ABCD");
+ Assert.assertEquals(count, 0);
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while getting the device count";
+ Assert.fail(msg, e);
+ }
+ }
+
+ @Test(expectedExceptions = DeviceManagementException.class)
+ public void testGetDeviceCountForNullUser() throws DeviceManagementException {
+ deviceMgtService.getDeviceCount(null);
+ }
+
+ @Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
+ public void testIsActive() {
+ try {
+ DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
+ deviceIdentifier.setId(TestDataHolder.initialDeviceIdentifier);
+ deviceIdentifier.setType(DEVICE_TYPE);
+ Assert.assertTrue(deviceMgtService.isActive(deviceIdentifier));
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while checking the device status";
+ Assert.fail(msg, e);
+ }
+ }
+
+ @Test
+ public void testIsActiveForNonExistingDevice() {
+ try {
+ DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
+ deviceIdentifier.setId("34535235235235235");
+ deviceIdentifier.setType("TEST_TYPE");
+ Assert.assertFalse(deviceMgtService.isActive(deviceIdentifier));
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while checking the device status";
+ Assert.fail(msg, e);
+ }
+ }
+
+ @Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
+ public void testSetActive() {
+ try {
+ DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
+ deviceIdentifier.setId(TestDataHolder.initialDeviceIdentifier);
+ deviceIdentifier.setType(DEVICE_TYPE);
+ Assert.assertFalse(deviceMgtService.setActive(deviceIdentifier, true));
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while updating the device status";
+ Assert.fail(msg, e);
+ }
+ }
+
+ @Test
+ public void testSetActiveForNonExistingDevice() {
+ try {
+ DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
+ deviceIdentifier.setId("34535235235235235");
+ deviceIdentifier.setType("TEST_TYPE");
+ Assert.assertFalse(deviceMgtService.setActive(deviceIdentifier, true));
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while updating the device status for non-existing device";
+ Assert.fail(msg, e);
+ }
+ }
+
+ @Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
+ public void testGetDeviceEnrolledTenants() {
+ try {
+ List tenants = deviceMgtService.getDeviceEnrolledTenants();
+ Assert.assertEquals(tenants.size(), 1);
+ } catch (DeviceManagementException e) {
+ String msg = "Error occurred while updating the device status";
+ Assert.fail(msg, e);
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/config/operation/cdm-config.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/config/operation/cdm-config.xml
new file mode 100644
index 0000000000..d4e1acb139
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/config/operation/cdm-config.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+ jdbc/DM_DS
+
+
+
+
+ 2
+ 2000
+ 2000
+ true
+
+ org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.FCMBasedPushNotificationProvider
+
+ org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.MQTTBasedPushNotificationProvider
+ org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.HTTPBasedPushNotificationProvider
+ org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.XMPPBasedPushNotificationProvider
+
+
+
+ false
+
+
+ https://localhost:9443
+ admin
+ admin
+
+
+ org.wso2.carbon.policy.mgt
+ true
+ 60000
+ 5
+ 8
+ 20
+
+
+
+ Simple
+
+
+
+ 20
+ 20
+ 20
+ 20
+ 20
+ 20
+
+
+
+ true
+
+
+
+ false
+ 600
+
+ 10000
+
+
+ false
+ 86400
+
+
+ false
+ false
+
+ BYOD,COPE
+
+
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml
index b77715ab91..c2f9229db8 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml
@@ -42,6 +42,7 @@
+
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml
index 53d6ed8633..b6d56c8adb 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/pom.xml
@@ -22,7 +22,7 @@
device-mgt
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManager.java
index b0c4f8312e..1f0915bd90 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManager.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManager.java
@@ -189,6 +189,9 @@ public class DeviceTypeManager implements DeviceManager {
@Override
public boolean saveConfiguration(PlatformConfiguration tenantConfiguration)
throws DeviceManagementException {
+ if (tenantConfiguration == null) {
+ throw new DeviceManagementException("Platform configuration is null. Cannot save the configuration");
+ }
try {
if (log.isDebugEnabled()) {
log.debug("Persisting " + deviceType + " configurations in Registry");
@@ -246,6 +249,9 @@ public class DeviceTypeManager implements DeviceManager {
@Override
public boolean enrollDevice(Device device) throws DeviceManagementException {
+ if (device == null) {
+ throw new DeviceManagementException("Device is null. Cannot enroll the device.");
+ }
if (propertiesExist) {
boolean status = false;
boolean isEnrolled = this.isEnrolled(
@@ -313,6 +319,9 @@ public class DeviceTypeManager implements DeviceManager {
@Override
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
+ if (deviceId == null) {
+ throw new DeviceManagementException("Cannot check the enrollment status of a null device");
+ }
if (propertiesExist) {
boolean isEnrolled = false;
try {
@@ -347,6 +356,9 @@ public class DeviceTypeManager implements DeviceManager {
@Override
public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
+ if (deviceId == null) {
+ throw new DeviceManagementException("Cannot get the device. DeviceIdentifier is null");
+ }
if (propertiesExist) {
Device device;
try {
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/DeviceTypePluginDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/DeviceTypePluginDAOImpl.java
index e705661daa..755cb0397b 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/DeviceTypePluginDAOImpl.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/DeviceTypePluginDAOImpl.java
@@ -44,7 +44,6 @@ public class DeviceTypePluginDAOImpl implements PluginDAO {
private String selectDBQueryForGetDevice;
private String createDBqueryForAddDevice;
private String updateDBQueryForUpdateDevice;
- private String deleteDBQueryToRemoveDevicd;
private String selectDBQueryToGetAllDevice;
public DeviceTypePluginDAOImpl(DeviceDAODefinition deviceDAODefinition,
@@ -158,33 +157,6 @@ public class DeviceTypePluginDAOImpl implements PluginDAO {
return status;
}
- public boolean deleteDevice(String deviceId) throws DeviceTypeMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = deviceTypeDAOHandler.getConnection();
- stmt = conn.prepareStatement(deleteDBQueryToRemoveDevicd);
- stmt.setString(1, deviceId);
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("device " + deviceId + " data has deleted from the " +
- deviceDAODefinition.getDeviceTableName() + " table.");
- }
- }
- } catch (SQLException e) {
- String msg =
- "Error occurred while deleting " + deviceDAODefinition.getDeviceTableName() + " device " + deviceId;
- log.error(msg, e);
- throw new DeviceTypeMgtPluginException(msg, e);
- } finally {
- DeviceTypeUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
public List getAllDevices() throws DeviceTypeMgtPluginException {
Connection conn;
PreparedStatement stmt = null;
@@ -264,10 +236,6 @@ public class DeviceTypePluginDAOImpl implements PluginDAO {
updateDBQueryForUpdateDevice = "UPDATE " + deviceDAODefinition.getDeviceTableName() + " SET "
+ getDeviceTableColumnNamesForUpdateQuery() + " WHERE " + deviceDAODefinition.getPrimaryKey() + " = ?";
- deleteDBQueryToRemoveDevicd =
- "DELETE FROM " + deviceDAODefinition.getDeviceTableName() + " WHERE " + deviceDAODefinition
- .getPrimaryKey() + " = ?";
-
selectDBQueryToGetAllDevice =
"SELECT " + getDeviceTableColumnNames() + "," + deviceDAODefinition.getPrimaryKey() + " FROM "
+ deviceDAODefinition.getDeviceTableName();
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/PluginDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/PluginDAO.java
index 2ffd37f8f4..47606fe6a6 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/PluginDAO.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/PluginDAO.java
@@ -30,7 +30,5 @@ public interface PluginDAO {
boolean updateDevice(Device device) throws DeviceTypeMgtPluginException;
- boolean deleteDevice(String deviceId) throws DeviceTypeMgtPluginException;
-
List getAllDevices() throws DeviceTypeMgtPluginException;
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/PropertyBasedPluginDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/PropertyBasedPluginDAOImpl.java
index 227c352a82..ceedeb7454 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/PropertyBasedPluginDAOImpl.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/device/type/template/dao/PropertyBasedPluginDAOImpl.java
@@ -158,36 +158,6 @@ public class PropertyBasedPluginDAOImpl implements PluginDAO {
}
}
- public boolean deleteDevice(String deviceId) throws DeviceTypeMgtPluginException {
- boolean status = false;
- Connection conn = null;
- PreparedStatement stmt = null;
- try {
- conn = deviceTypeDAOHandler.getConnection();
- stmt = conn.prepareStatement("DELETE FROM DM_DEVICE_PROPERTIES WHERE DEVICE_TYPE_NAME = ? " +
- "AND DEVICE_IDENTIFICATION = ? AND TENANT_ID = ?");
- stmt.setString(1, deviceType);
- stmt.setString(2, deviceId);
- stmt.setInt(3, PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId(true));
- int rows = stmt.executeUpdate();
- if (rows > 0) {
- status = true;
- if (log.isDebugEnabled()) {
- log.debug("device " + deviceId + " data has deleted from the " +
- deviceType + " table.");
- }
- }
- } catch (SQLException e) {
- String msg =
- "Error occurred while deleting " + deviceType + " device " + deviceId;
- log.error(msg, e);
- throw new DeviceTypeMgtPluginException(msg, e);
- } finally {
- DeviceTypeUtils.cleanupResources(stmt, null);
- }
- return status;
- }
-
public List getAllDevices() throws DeviceTypeMgtPluginException {
Connection conn;
PreparedStatement stmt = null;
@@ -220,7 +190,7 @@ public class PropertyBasedPluginDAOImpl implements PluginDAO {
log.debug(
"All device details have fetched from " + deviceType + " table.");
}
- return Arrays.asList((Device[])deviceMap.values().toArray());
+ return new ArrayList<>(deviceMap.values());
} catch (SQLException e) {
String msg =
"Error occurred while fetching all " + deviceType + " device data'";
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerServiceTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerServiceTest.java
index 2e1b1a52ac..286f21c931 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerServiceTest.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerServiceTest.java
@@ -305,12 +305,12 @@ public class DeviceTypeManagerServiceTest {
DeviceTypeConfigurationException, JAXBException {
ClassLoader classLoader = getClass().getClassLoader();
URL resourceUrl = classLoader.getResource("arduino.xml");
- File raspberrypiConfiguration = null;
+ File arduinoConfiguration = null;
if (resourceUrl != null) {
- raspberrypiConfiguration = new File(resourceUrl.getFile());
+ arduinoConfiguration = new File(resourceUrl.getFile());
}
- arduinoDeviceTypeConfiguration = Utils.getDeviceTypeConfiguration(raspberrypiConfiguration);
- arduinoDeviceTypeManagerService = new DeviceTypeManagerService(new
- DeviceTypeConfigIdentifier("arduino", "carbon.super"), arduinoDeviceTypeConfiguration);
+ arduinoDeviceTypeConfiguration = Utils.getDeviceTypeConfiguration(arduinoConfiguration);
+ arduinoDeviceTypeManagerService = new DeviceTypeManagerService(
+ new DeviceTypeConfigIdentifier("arduino", "carbon.super"), arduinoDeviceTypeConfiguration);
}
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerTest.java
index 137640f5d8..afdf2d560f 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerTest.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerTest.java
@@ -26,12 +26,16 @@ import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
+import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DeviceDetails;
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DeviceTypeConfiguration;
+import org.wso2.carbon.device.mgt.extensions.device.type.template.config.Properties;
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.exception.DeviceTypeConfigurationException;
import org.wso2.carbon.device.mgt.extensions.device.type.template.dao.DeviceDAODefinition;
import org.wso2.carbon.device.mgt.extensions.device.type.template.dao.DeviceTypeDAOHandler;
import org.wso2.carbon.device.mgt.extensions.device.type.template.dao.DeviceTypePluginDAOImpl;
import org.wso2.carbon.device.mgt.extensions.device.type.template.dao.DeviceTypePluginDAOManager;
+import org.wso2.carbon.device.mgt.extensions.device.type.template.dao.PluginDAO;
+import org.wso2.carbon.device.mgt.extensions.device.type.template.dao.PropertyBasedPluginDAOImpl;
import org.wso2.carbon.device.mgt.extensions.utils.Utils;
import org.wso2.carbon.registry.core.exceptions.RegistryException;
import org.xml.sax.SAXException;
@@ -47,17 +51,26 @@ import java.net.URL;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
/**
- * This class tests the {@link DeviceTypeManager}
+ * This class tests the {@link DeviceTypeManager}.
*/
public class DeviceTypeManagerTest {
private DeviceTypeManager androidDeviceTypeManager;
+ private DeviceTypeManager customDeviceTypeManager;
private DeviceIdentifier nonExistingDeviceIdentifier;
private Device sampleDevice1;
private Device sampleDevice2;
+ private Device customDevice;
private String androidDeviceType;
+ private String customDeviceType = "customDeviceType";
+ private Field datasourceField;
+ private Field currentConnection;
+ private Field deviceTypePluginDAOField;
+ private Field deviceTypeDAOHandlerField;
+ private String[] customDeviceTypeProperties = {"custom_property", "custom_property2"};
@BeforeTest(description = "Mocking the classes for testing")
public void setup() throws NoSuchFieldException, IllegalAccessException, IOException, SQLException, SAXException,
@@ -67,26 +80,33 @@ public class DeviceTypeManagerTest {
androidDeviceType = "android";
File androidDatabaseScript = null;
javax.sql.DataSource dataSource = null;
- File carbonHome = new File("src/test/resources/carbon-home");
+ File androidConfiguration = null;
if (resourceUrl != null) {
androidDatabaseScript = new File(resourceUrl.getFile());
}
- if (carbonHome.exists()) {
- System.setProperty("carbon.home", carbonHome.getAbsolutePath());
- }
resourceUrl = classLoader.getResource("android.xml");
- File androidConfiguration = null;
+
if (resourceUrl != null) {
androidConfiguration = new File(resourceUrl.getFile());
}
+ datasourceField = DeviceTypeDAOHandler.class.getDeclaredField("dataSource");
+ datasourceField.setAccessible(true);
+ currentConnection = DeviceTypeDAOHandler.class.getDeclaredField("currentConnection");
+ currentConnection.setAccessible(true);
+ deviceTypePluginDAOField = DeviceTypePluginDAOManager.class.getDeclaredField("deviceTypePluginDAO");
+ deviceTypePluginDAOField.setAccessible(true);
+ deviceTypeDAOHandlerField = DeviceTypePluginDAOManager.class.getDeclaredField("deviceTypeDAOHandler");
+ deviceTypeDAOHandlerField.setAccessible(true);
+
DeviceTypeConfiguration androidDeviceConfiguration = Utils.getDeviceTypeConfiguration(androidConfiguration);
androidDeviceTypeManager = Mockito.mock(DeviceTypeManager.class, Mockito.CALLS_REAL_METHODS);
+ customDeviceTypeManager = Mockito.mock(DeviceTypeManager.class, Mockito.CALLS_REAL_METHODS);
if (androidDatabaseScript != null) {
- dataSource = Utils.createDataTables("deviceType", androidDatabaseScript.getAbsolutePath());
+ dataSource = Utils.createDataTables("customDeviceType", androidDatabaseScript.getAbsolutePath());
}
- DeviceTypePluginDAOManager deviceTypePluginDAOManager = createMockDeviceTypePluginDAOManager(dataSource,
+ DeviceTypePluginDAOManager deviceTypePluginDAOManager = createandroidDeviceTypePluginDAOManager(dataSource,
androidDeviceConfiguration);
Field deviceTypePluginDAOManagerField = DeviceTypeManager.class.getDeclaredField("deviceTypePluginDAOManager");
deviceTypePluginDAOManagerField.setAccessible(true);
@@ -96,9 +116,16 @@ public class DeviceTypeManagerTest {
propertiesExist.setAccessible(true);
Field deviceType = DeviceTypeManager.class.getDeclaredField("deviceType");
deviceType.setAccessible(true);
+
deviceType.set(androidDeviceTypeManager, androidDeviceType);
propertiesExist.set(androidDeviceTypeManager, true);
- createDevice();
+ createAndroidDevice();
+
+ DeviceTypePluginDAOManager propertyBasedPluginDAOManager = createPluginBasedDeviceTypeManager();
+ deviceTypePluginDAOManagerField.set(customDeviceTypeManager, propertyBasedPluginDAOManager);
+ deviceType.set(customDeviceTypeManager, customDeviceType);
+ propertiesExist.set(customDeviceTypeManager, true);
+ createCustomDevice();
}
@Test(description = "This test case tests IsEnrolled method of the DeviceTypeManager",
@@ -106,10 +133,17 @@ public class DeviceTypeManagerTest {
public void testIsEnrolled() throws DeviceManagementException {
DeviceIdentifier deviceIdentifier = new DeviceIdentifier(sampleDevice2.getDeviceIdentifier(),
sampleDevice2.getType());
- Assert.assertTrue(!androidDeviceTypeManager.isEnrolled(nonExistingDeviceIdentifier),
- "Device with " + "NON-Existing ID is not enrolled, but this shows as enrolled");
+ DeviceIdentifier nonExistingCustomDeviceIdentifier = new DeviceIdentifier(sampleDevice2.getDeviceIdentifier(),
+ customDevice.getType());
+
+ Assert.assertFalse(androidDeviceTypeManager.isEnrolled(nonExistingDeviceIdentifier),
+ "Device with NON-Existing ID is not enrolled, but this shows as enrolled");
Assert.assertTrue(androidDeviceTypeManager.isEnrolled(deviceIdentifier),
"Enrolled device is shown as un-enrolled");
+ Assert.assertFalse(customDeviceTypeManager.isEnrolled(nonExistingCustomDeviceIdentifier),
+ "Custom device type manager returns an non-existing device as enrolled");
+ Assert.assertTrue(customDeviceTypeManager.isEnrolled(new DeviceIdentifier(customDeviceType, customDeviceType))
+ , "Enrolled device is shown as un-enrolled in custom device type manager");
}
@Test(description = "This test case tests the getDevcie method of the DeviceTypeManager", dependsOnMethods =
@@ -120,20 +154,37 @@ public class DeviceTypeManagerTest {
Assert.assertNull(androidDeviceTypeManager.getDevice(nonExistingDeviceIdentifier),
"Non existing sampleDevice was retrieved");
Assert.assertNotNull(androidDeviceTypeManager.getDevice(existingDeviceIdntifier),
- "Existing sampleDevice was retrieved");
+ "Existing sampleDevice was not retrieved");
+ Device customDevice1 = customDeviceTypeManager
+ .getDevice(new DeviceIdentifier(customDeviceType, customDeviceType));
+ Assert.assertEquals(customDevice1.getProperties().size(), 2,
+ "GetDevice call" + " failed in custom deviceTypeManager");
}
@Test(description = "This test case tests the enrollment of the device")
public void testEnrollDevice() throws DeviceManagementException {
- Assert.assertTrue(androidDeviceTypeManager.enrollDevice(sampleDevice1));
- Assert.assertTrue(!androidDeviceTypeManager.enrollDevice(sampleDevice2));
+ Assert.assertTrue(androidDeviceTypeManager.enrollDevice(sampleDevice1), "New android device enrollment failed");
+ Assert.assertFalse(androidDeviceTypeManager.enrollDevice(sampleDevice2),
+ "Modification to existing android " + "device enrollment failed");
+ Assert.assertTrue(customDeviceTypeManager.enrollDevice(customDevice), "Custom device type enrollment failed.");
+ List properties = customDevice.getProperties();
+ Device.Property property = new Device.Property();
+ property.setName("test");
+ property.setValue("test");
+ properties.add(property);
+ customDevice.setProperties(properties);
+ Assert.assertFalse(customDeviceTypeManager.enrollDevice(customDevice),
+ "Custom device type re-enrollment " + "failed.");
+
}
@Test(description = "This test case tests the get all devices method of the DeviceTypeManager", dependsOnMethods
= {"testEnrollDevice"})
public void testGetAllDevices() throws DeviceManagementException {
Assert.assertEquals(androidDeviceTypeManager.getAllDevices().size(), 1,
- "All the added devices are not fetched " + "from the database");
+ "All the added devices are not fetched from the database");
+ Assert.assertEquals(customDeviceTypeManager.getAllDevices().size(), 1,
+ "All the added devices are not fetched from the database");
}
@Test(description = "This test case tests the addition of platform configuration and retrieval of the same")
@@ -147,6 +198,7 @@ public class DeviceTypeManagerTest {
"Platform Configuration saved and retrieved correctly in " + "DeviceType Manager");
Assert.assertEquals(actualPlatformConfiguration.getType(), androidDeviceType,
"Platform Configuration saved and " + "retrieved correctly in DeviceType Manager");
+ Assert.assertNull(customDeviceTypeManager.getConfiguration());
}
@Test (description = "This test case tests the getDefaultConfiguration method")
@@ -169,9 +221,9 @@ public class DeviceTypeManagerTest {
}
/**
- * To create a sample sampleDevice to add to DAO Layer.
+ * To create sample android devices to add to DAO Layer.
*/
- private void createDevice() {
+ private void createAndroidDevice() {
nonExistingDeviceIdentifier = new DeviceIdentifier("NON-EXISTING", androidDeviceType);
List list = new ArrayList<>();
@@ -190,6 +242,21 @@ public class DeviceTypeManagerTest {
sampleDevice2 = new Device("testdevice1", androidDeviceType, "test", "testdevice", null, null, list);
}
+ /**
+ * To create a sample custom device.
+ */
+ private void createCustomDevice () {
+ List list = new ArrayList<>();
+ for(String customProperty : customDeviceTypeProperties) {
+ Device.Property property = new Device.Property();
+ property.setName(customProperty);
+ property.setValue(customProperty);
+ list.add(property);
+ }
+ customDevice = new Device(customDeviceType, customDeviceType, customDeviceType, customDeviceType, null,
+ null, list);
+ }
+
/*
* To create a mock sampleDevice type plugin dao manager.
* @param dataSource DataSource for the DAO layer
@@ -198,13 +265,8 @@ public class DeviceTypeManagerTest {
* @throws NoSuchFieldException No Such Field Exception
* @throws IllegalAccessException Illegal Access Exception
*/
- private DeviceTypePluginDAOManager createMockDeviceTypePluginDAOManager(javax.sql.DataSource dataSource,
+ private DeviceTypePluginDAOManager createandroidDeviceTypePluginDAOManager(javax.sql.DataSource dataSource,
DeviceTypeConfiguration androidDeviceConfiguration) throws NoSuchFieldException, IllegalAccessException {
- Field datasourceField = DeviceTypeDAOHandler.class.getDeclaredField("dataSource");
- datasourceField.setAccessible(true);
- Field currentConnection = DeviceTypeDAOHandler.class.getDeclaredField("currentConnection");
- currentConnection.setAccessible(true);
-
DeviceTypeDAOHandler deviceTypeDAOHandler = Mockito
.mock(DeviceTypeDAOHandler.class, Mockito.CALLS_REAL_METHODS);
datasourceField.set(deviceTypeDAOHandler, dataSource);
@@ -213,13 +275,52 @@ public class DeviceTypeManagerTest {
DeviceDAODefinition deviceDAODefinition = Utils.getDeviceDAODefinition(androidDeviceConfiguration);
DeviceTypePluginDAOImpl deviceTypePluginDAO = new DeviceTypePluginDAOImpl(deviceDAODefinition,
deviceTypeDAOHandler);
+ DeviceTypePluginDAOManager deviceTypePluginDAOManager = Mockito
+ .mock(DeviceTypePluginDAOManager.class, Mockito.CALLS_REAL_METHODS);
+ deviceTypePluginDAOField.set(deviceTypePluginDAOManager, deviceTypePluginDAO);
+ deviceTypeDAOHandlerField.set(deviceTypePluginDAOManager, deviceTypeDAOHandler);
+
+ return deviceTypePluginDAOManager;
+ }
+
+ /**
+ * To create a plugin based device type manager.
+ *
+ * @return Plugin based device type manager.
+ * @throws IOException IO Exception.
+ * @throws SQLException SQL Exception
+ * @throws NoSuchFieldException No Such File Exception.
+ * @throws IllegalAccessException Illegal Access Exception.
+ */
+ private DeviceTypePluginDAOManager createPluginBasedDeviceTypeManager()
+ throws IOException, SQLException, NoSuchFieldException, IllegalAccessException {
+ ClassLoader classLoader = getClass().getClassLoader();
+ URL resourceUrl = classLoader.getResource("h2.sql");
+ File cdmDataScript = null;
+ javax.sql.DataSource dataSource = null;
+ if (resourceUrl != null) {
+ cdmDataScript = new File(resourceUrl.getFile());
+ }
+ if (cdmDataScript != null) {
+ dataSource = Utils.createDataTables(customDeviceType, cdmDataScript.getAbsolutePath());
+ }
+
+ DeviceDetails deviceDetails = new DeviceDetails();
+ List propertyList = new ArrayList<>();
+ propertyList.addAll(Arrays.asList(customDeviceTypeProperties));
+ Properties properties = new Properties();
+ properties.addProperties(propertyList);
+ deviceDetails.setProperties(properties);
+
+ DeviceTypeDAOHandler deviceTypeDAOHandler = Mockito
+ .mock(DeviceTypeDAOHandler.class, Mockito.CALLS_REAL_METHODS);
+ datasourceField.set(deviceTypeDAOHandler, dataSource);
+ currentConnection.set(deviceTypeDAOHandler, new ThreadLocal());
+ PluginDAO deviceTypePluginDAO = new PropertyBasedPluginDAOImpl(deviceDetails, deviceTypeDAOHandler,
+ customDeviceType);
DeviceTypePluginDAOManager deviceTypePluginDAOManager = Mockito
.mock(DeviceTypePluginDAOManager.class, Mockito.CALLS_REAL_METHODS);
- Field deviceTypePluginDAOField = DeviceTypePluginDAOManager.class.getDeclaredField("deviceTypePluginDAO");
- deviceTypePluginDAOField.setAccessible(true);
- Field deviceTypeDAOHandlerField = DeviceTypePluginDAOManager.class.getDeclaredField("deviceTypeDAOHandler");
- deviceTypeDAOHandlerField.setAccessible(true);
deviceTypePluginDAOField.set(deviceTypePluginDAOManager, deviceTypePluginDAO);
deviceTypeDAOHandlerField.set(deviceTypePluginDAOManager, deviceTypeDAOHandler);
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest.java
index 461b9d9f72..14e87a6703 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest.java
@@ -21,34 +21,19 @@ package org.wso2.carbon.device.mgt.extensions.device.type.template;
import org.testng.Assert;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
-import org.wso2.carbon.CarbonConstants;
-import org.wso2.carbon.base.MultitenantConstants;
-import org.wso2.carbon.context.PrivilegedCarbonContext;
-import org.wso2.carbon.context.RegistryType;
-import org.wso2.carbon.context.internal.OSGiDataHolder;
import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
import org.wso2.carbon.device.mgt.common.license.mgt.License;
import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService;
import org.wso2.carbon.device.mgt.common.type.mgt.DeviceTypeMetaDefinition;
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DeviceTypeConfiguration;
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.Feature;
-import org.wso2.carbon.device.mgt.extensions.device.type.template.config.Operation;
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.PushNotificationProvider;
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.exception.DeviceTypeConfigurationException;
-import org.wso2.carbon.device.mgt.extensions.internal.DeviceTypeExtensionDataHolder;
-import org.wso2.carbon.device.mgt.extensions.license.mgt.registry.RegistryBasedLicenseManager;
import org.wso2.carbon.device.mgt.extensions.utils.Utils;
-import org.wso2.carbon.governance.api.util.GovernanceArtifactConfiguration;
-import org.wso2.carbon.governance.api.util.GovernanceUtils;
-import org.wso2.carbon.registry.core.Registry;
import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.registry.core.service.RegistryService;
-import org.wso2.carbon.registry.core.session.UserRegistry;
-import org.wso2.carbon.utils.FileUtil;
import org.xml.sax.SAXException;
import javax.xml.bind.JAXBException;
@@ -59,8 +44,6 @@ import java.net.URL;
import java.util.ArrayList;
import java.util.List;
-import static org.wso2.carbon.governance.api.util.GovernanceUtils.getGovernanceArtifactConfiguration;
-
/**
* This test case contains the tests for {@link HTTPDeviceTypeManagerService} and {@link DeviceTypeGeneratorServiceImpl}
*/
@@ -69,7 +52,6 @@ public class HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest {
private HTTPDeviceTypeManagerService httpDeviceTypeManagerService;
private DeviceTypeGeneratorServiceImpl deviceTypeGeneratorService;
private String androidSenseDeviceType = "androidsense";
- private String sampleDeviceType = "sample";
@BeforeTest
public void setup() throws RegistryException, IOException, SAXException, ParserConfigurationException,
@@ -100,12 +82,38 @@ public class HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest {
@Test(description = "This test case tests the populate device management service method")
public void testPopulateDeviceManagementService() {
+ String sampleDeviceType = "sample";
DeviceManagementService deviceManagementService = deviceTypeGeneratorService
.populateDeviceManagementService(sampleDeviceType, deviceTypeMetaDefinition);
Assert.assertEquals(deviceManagementService.getType(), sampleDeviceType,
"DeviceTypeGeneration for the " + "sample device type failed");
}
+
+ @Test(description = "This test case tests the negative scenarios when saving the platform configurations",
+ expectedExceptions = {DeviceManagementException.class})
+ public void testSaveConfiguration() throws DeviceManagementException {
+ httpDeviceTypeManagerService.getDeviceManager().saveConfiguration(null);
+ }
+
+ @Test(description = "This test case tests the negative scenarios when getting a device",
+ expectedExceptions = {DeviceManagementException.class})
+ public void testGetDevice() throws DeviceManagementException {
+ httpDeviceTypeManagerService.getDeviceManager().getDevice(null);
+ }
+
+ @Test(description = "This test case tests the negative scenario when checking whether a device has enrolled",
+ expectedExceptions = {DeviceManagementException.class})
+ public void testIsEnrolled() throws DeviceManagementException {
+ httpDeviceTypeManagerService.getDeviceManager().isEnrolled(null);
+ }
+
+ @Test(description = "This test case tests the negative scenario when enrolling a device",
+ expectedExceptions = {DeviceManagementException.class})
+ public void testEnroll() throws DeviceManagementException {
+ httpDeviceTypeManagerService.getDeviceManager().enrollDevice(null);
+ }
+
/**
* To create a sample device type meta defintion.
* @throws SAXException SAX Exception.
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/resources/h2.sql b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/resources/h2.sql
new file mode 100644
index 0000000000..686d0a6b3b
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/resources/h2.sql
@@ -0,0 +1,531 @@
+CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE (
+ ID INT AUTO_INCREMENT NOT NULL,
+ NAME VARCHAR(300) NULL DEFAULT NULL,
+ DEVICE_TYPE_META VARCHAR(20000) NULL DEFAULT NULL,
+ LAST_UPDATED_TIMESTAMP TIMESTAMP NOT NULL,
+ PROVIDER_TENANT_ID INTEGER DEFAULT 0,
+ SHARED_WITH_ALL_TENANTS BOOLEAN NOT NULL DEFAULT FALSE,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_GROUP (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ GROUP_NAME VARCHAR(100) DEFAULT NULL,
+ DESCRIPTION TEXT DEFAULT NULL,
+ OWNER VARCHAR(45) DEFAULT NULL,
+ TENANT_ID INTEGER DEFAULT 0,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_ROLE_GROUP_MAP (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ GROUP_ID INTEGER DEFAULT NULL,
+ ROLE VARCHAR(45) DEFAULT NULL,
+ TENANT_ID INTEGER DEFAULT 0,
+ PRIMARY KEY (ID),
+ CONSTRAINT fk_DM_ROLE_GROUP_MAP_DM_GROUP2 FOREIGN KEY (GROUP_ID)
+ REFERENCES DM_GROUP (ID) ON DELETE CASCADE ON UPDATE CASCADE
+);
+
+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_IDENTIFICATION VARCHAR(300) DEFAULT NULL,
+ LAST_UPDATED_TIMESTAMP TIMESTAMP NOT NULL,
+ TENANT_ID INTEGER DEFAULT 0,
+ PRIMARY KEY (ID),
+ CONSTRAINT fk_DM_DEVICE_DM_DEVICE_TYPE2 FOREIGN KEY (DEVICE_TYPE_ID)
+ REFERENCES DM_DEVICE_TYPE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT uk_DM_DEVICE UNIQUE (NAME, DEVICE_TYPE_ID, DEVICE_IDENTIFICATION, TENANT_ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_DEVICE_PROPERTIES (
+ DEVICE_TYPE_NAME VARCHAR(300) NOT NULL,
+ DEVICE_IDENTIFICATION VARCHAR(300) NOT NULL,
+ PROPERTY_NAME VARCHAR(100) DEFAULT 0,
+ PROPERTY_VALUE VARCHAR(100) DEFAULT NULL,
+ TENANT_ID VARCHAR(100),
+ PRIMARY KEY (DEVICE_TYPE_NAME, DEVICE_IDENTIFICATION, PROPERTY_NAME, TENANT_ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_DEVICE_GROUP_MAP (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ DEVICE_ID INTEGER DEFAULT NULL,
+ GROUP_ID INTEGER DEFAULT NULL,
+ TENANT_ID INTEGER DEFAULT 0,
+ PRIMARY KEY (ID),
+ CONSTRAINT fk_DM_DEVICE_GROUP_MAP_DM_DEVICE2 FOREIGN KEY (DEVICE_ID)
+ REFERENCES DM_DEVICE (ID) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT fk_DM_DEVICE_GROUP_MAP_DM_GROUP2 FOREIGN KEY (GROUP_ID)
+ REFERENCES DM_GROUP (ID) ON DELETE CASCADE ON UPDATE CASCADE
+);
+
+CREATE TABLE IF NOT EXISTS DM_OPERATION (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ TYPE VARCHAR(50) NOT NULL,
+ CREATED_TIMESTAMP TIMESTAMP NOT NULL,
+ RECEIVED_TIMESTAMP TIMESTAMP NULL,
+ OPERATION_CODE VARCHAR(1000) NOT NULL,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_CONFIG_OPERATION (
+ OPERATION_ID INTEGER NOT NULL,
+ OPERATION_CONFIG BLOB DEFAULT NULL,
+ ENABLED BOOLEAN NOT NULL DEFAULT FALSE,
+ PRIMARY KEY (OPERATION_ID),
+ CONSTRAINT fk_dm_operation_config FOREIGN KEY (OPERATION_ID) REFERENCES
+ DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_COMMAND_OPERATION (
+ OPERATION_ID INTEGER NOT NULL,
+ ENABLED BOOLEAN NOT NULL DEFAULT FALSE,
+ PRIMARY KEY (OPERATION_ID),
+ CONSTRAINT fk_dm_operation_command FOREIGN KEY (OPERATION_ID) REFERENCES
+ DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_POLICY_OPERATION (
+ OPERATION_ID INTEGER NOT NULL,
+ ENABLED INTEGER NOT NULL DEFAULT 0,
+ OPERATION_DETAILS BLOB DEFAULT NULL,
+ PRIMARY KEY (OPERATION_ID),
+ CONSTRAINT fk_dm_operation_policy FOREIGN KEY (OPERATION_ID) REFERENCES
+ DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_PROFILE_OPERATION (
+ OPERATION_ID INTEGER NOT NULL,
+ ENABLED INTEGER NOT NULL DEFAULT 0,
+ OPERATION_DETAILS BLOB DEFAULT NULL,
+ PRIMARY KEY (OPERATION_ID),
+ CONSTRAINT fk_dm_operation_profile FOREIGN KEY (OPERATION_ID) REFERENCES
+ DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_ENROLMENT (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ DEVICE_ID INTEGER NOT NULL,
+ OWNER VARCHAR(50) NOT NULL,
+ OWNERSHIP VARCHAR(45) DEFAULT NULL,
+ STATUS VARCHAR(50) NULL,
+ DATE_OF_ENROLMENT TIMESTAMP DEFAULT NULL,
+ DATE_OF_LAST_UPDATE TIMESTAMP DEFAULT NULL,
+ TENANT_ID INT NOT NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT fk_dm_device_enrolment FOREIGN KEY (DEVICE_ID) REFERENCES
+ DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT uk_dm_device_enrolment UNIQUE (DEVICE_ID, OWNER, OWNERSHIP, TENANT_ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ ENROLMENT_ID INTEGER NOT NULL,
+ OPERATION_ID INTEGER NOT NULL,
+ STATUS VARCHAR(50) NULL,
+ PUSH_NOTIFICATION_STATUS VARCHAR(50) NULL,
+ CREATED_TIMESTAMP INT NOT NULL,
+ UPDATED_TIMESTAMP INT NOT NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT fk_dm_device_operation_mapping_device FOREIGN KEY (ENROLMENT_ID) REFERENCES
+ DM_ENROLMENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT fk_dm_device_operation_mapping_operation FOREIGN KEY (OPERATION_ID) REFERENCES
+ DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_DEVICE_OPERATION_RESPONSE (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ ENROLMENT_ID INTEGER NOT NULL,
+ OPERATION_ID INTEGER NOT NULL,
+ EN_OP_MAP_ID INTEGER NOT NULL,
+ OPERATION_RESPONSE LONGBLOB DEFAULT NULL,
+ RECEIVED_TIMESTAMP TIMESTAMP NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT fk_dm_device_operation_response_enrollment FOREIGN KEY (ENROLMENT_ID) REFERENCES
+ DM_ENROLMENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT fk_dm_device_operation_response_operation FOREIGN KEY (OPERATION_ID) REFERENCES
+ DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT fk_dm_en_op_map_response FOREIGN KEY (EN_OP_MAP_ID) REFERENCES
+ DM_ENROLMENT_OP_MAPPING (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
+);
+
+-- POLICY RELATED TABLES --
+
+CREATE TABLE IF NOT EXISTS DM_PROFILE (
+ ID INT NOT NULL AUTO_INCREMENT ,
+ PROFILE_NAME VARCHAR(45) NOT NULL ,
+ TENANT_ID INT NOT NULL ,
+ DEVICE_TYPE VARCHAR(300) NOT NULL ,
+ CREATED_TIME DATETIME NOT NULL ,
+ UPDATED_TIME DATETIME NOT NULL ,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_POLICY (
+ ID INT(11) NOT NULL AUTO_INCREMENT ,
+ NAME VARCHAR(45) DEFAULT NULL ,
+ DESCRIPTION VARCHAR(1000) NULL,
+ TENANT_ID INT(11) NOT NULL ,
+ PROFILE_ID INT(11) NOT NULL ,
+ OWNERSHIP_TYPE VARCHAR(45) NULL,
+ COMPLIANCE VARCHAR(100) NULL,
+ PRIORITY INT NOT NULL,
+ ACTIVE INT(2) NOT NULL,
+ UPDATED INT(1) NULL,
+ PRIMARY KEY (ID) ,
+ CONSTRAINT FK_DM_PROFILE_DM_POLICY
+ FOREIGN KEY (PROFILE_ID )
+ REFERENCES DM_PROFILE (ID )
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+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,
+ DEVICE BLOB NOT NULL,
+ POLICY_ID INT(11) NOT NULL ,
+ PRIMARY KEY (ID) ,
+ CONSTRAINT FK_POLICY_DEVICE_POLICY
+ FOREIGN KEY (POLICY_ID )
+ REFERENCES DM_POLICY (ID )
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION,
+ CONSTRAINT FK_DEVICE_DEVICE_POLICY
+ FOREIGN KEY (DEVICE_ID )
+ REFERENCES DM_DEVICE (ID )
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
+ ID INT(11) NOT NULL ,
+ DEVICE_TYPE VARCHAR(300) NOT NULL ,
+ POLICY_ID INT(11) NOT NULL ,
+ PRIMARY KEY (ID) ,
+ CONSTRAINT FK_DEVICE_TYPE_POLICY
+ FOREIGN KEY (POLICY_ID )
+ REFERENCES DM_POLICY (ID )
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES (
+ ID INT(11) NOT NULL AUTO_INCREMENT,
+ PROFILE_ID INT(11) NOT NULL,
+ FEATURE_CODE VARCHAR(100) NOT NULL,
+ DEVICE_TYPE VARCHAR(300) NOT NULL,
+ TENANT_ID INT(11) NOT NULL ,
+ CONTENT BLOB NULL DEFAULT NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT FK_DM_PROFILE_DM_POLICY_FEATURES
+ FOREIGN KEY (PROFILE_ID)
+ REFERENCES DM_PROFILE (ID)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_ROLE_POLICY (
+ ID INT(11) NOT NULL AUTO_INCREMENT ,
+ ROLE_NAME VARCHAR(45) NOT NULL ,
+ POLICY_ID INT(11) NOT NULL ,
+ PRIMARY KEY (ID) ,
+ CONSTRAINT FK_ROLE_POLICY_POLICY
+ FOREIGN KEY (POLICY_ID )
+ REFERENCES DM_POLICY (ID )
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_USER_POLICY (
+ ID INT NOT NULL AUTO_INCREMENT ,
+ POLICY_ID INT NOT NULL ,
+ USERNAME VARCHAR(45) NOT NULL ,
+ PRIMARY KEY (ID) ,
+ CONSTRAINT DM_POLICY_USER_POLICY
+ FOREIGN KEY (POLICY_ID )
+ REFERENCES DM_POLICY (ID )
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+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,
+ POLICY_ID INT NOT NULL ,
+ POLICY_CONTENT BLOB NULL ,
+ TENANT_ID INT NOT NULL,
+ APPLIED TINYINT(1) NULL ,
+ CREATED_TIME TIMESTAMP NULL ,
+ UPDATED_TIME TIMESTAMP NULL ,
+ APPLIED_TIME TIMESTAMP NULL ,
+ PRIMARY KEY (ID) ,
+ CONSTRAINT FK_DM_POLICY_DEVCIE_APPLIED
+ FOREIGN KEY (DEVICE_ID )
+ REFERENCES DM_DEVICE (ID )
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_CRITERIA (
+ ID INT NOT NULL AUTO_INCREMENT,
+ TENANT_ID INT NOT NULL,
+ NAME VARCHAR(50) NULL,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_POLICY_CRITERIA (
+ ID INT NOT NULL AUTO_INCREMENT,
+ CRITERIA_ID INT NOT NULL,
+ POLICY_ID INT NOT NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT FK_CRITERIA_POLICY_CRITERIA
+ FOREIGN KEY (CRITERIA_ID)
+ REFERENCES DM_CRITERIA (ID)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION,
+ CONSTRAINT FK_POLICY_POLICY_CRITERIA
+ FOREIGN KEY (POLICY_ID)
+ REFERENCES DM_POLICY (ID)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_POLICY_CRITERIA_PROPERTIES (
+ ID INT NOT NULL AUTO_INCREMENT,
+ POLICY_CRITERION_ID INT NOT NULL,
+ PROP_KEY VARCHAR(45) NULL,
+ PROP_VALUE VARCHAR(100) NULL,
+ CONTENT BLOB NULL COMMENT 'This is used to ',
+ PRIMARY KEY (ID),
+ CONSTRAINT FK_POLICY_CRITERIA_PROPERTIES
+ FOREIGN KEY (POLICY_CRITERION_ID)
+ REFERENCES DM_POLICY_CRITERIA (ID)
+ ON DELETE CASCADE
+ ON UPDATE NO ACTION
+);
+
+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,
+ POLICY_ID INT NOT NULL,
+ TENANT_ID INT NOT NULL,
+ STATUS INT NULL,
+ LAST_SUCCESS_TIME TIMESTAMP NULL,
+ LAST_REQUESTED_TIME TIMESTAMP NULL,
+ LAST_FAILED_TIME TIMESTAMP NULL,
+ ATTEMPTS INT NULL,
+ PRIMARY KEY (ID)
+);
+
+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,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_FEATURES (
+ ID INT NOT NULL AUTO_INCREMENT,
+ COMPLIANCE_STATUS_ID INT NOT NULL,
+ TENANT_ID INT NOT NULL,
+ FEATURE_CODE VARCHAR(100) NOT NULL,
+ STATUS INT NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS
+ FOREIGN KEY (COMPLIANCE_STATUS_ID)
+ REFERENCES DM_POLICY_COMPLIANCE_STATUS (ID)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_APPLICATION (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ NAME VARCHAR(150) NOT NULL,
+ APP_IDENTIFIER VARCHAR(150) NOT NULL,
+ PLATFORM VARCHAR(50) DEFAULT NULL,
+ CATEGORY VARCHAR(50) NULL,
+ VERSION VARCHAR(50) NULL,
+ TYPE VARCHAR(50) NULL,
+ LOCATION_URL VARCHAR(100) DEFAULT NULL,
+ IMAGE_URL VARCHAR(100) DEFAULT NULL,
+ APP_PROPERTIES BLOB NULL,
+ MEMORY_USAGE INTEGER(10) NULL,
+ IS_ACTIVE BOOLEAN NOT NULL DEFAULT FALSE,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_DEVICE_APPLICATION_MAPPING (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ DEVICE_ID INTEGER NOT NULL,
+ APPLICATION_ID INTEGER NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT fk_dm_device FOREIGN KEY (DEVICE_ID) REFERENCES
+ DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT fk_dm_application FOREIGN KEY (APPLICATION_ID) REFERENCES
+ DM_APPLICATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
+);
+
+-- POLICY RELATED TABLES FINISHED --
+
+-- NOTIFICATION TABLE --
+CREATE TABLE IF NOT EXISTS DM_NOTIFICATION (
+ NOTIFICATION_ID INTEGER AUTO_INCREMENT NOT NULL,
+ DEVICE_ID INTEGER NOT NULL,
+ OPERATION_ID INTEGER NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ STATUS VARCHAR(10) NULL,
+ DESCRIPTION VARCHAR(1000) NULL,
+ PRIMARY KEY (NOTIFICATION_ID),
+ CONSTRAINT fk_dm_device_notification FOREIGN KEY (DEVICE_ID) REFERENCES
+ DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
+ CONSTRAINT fk_dm_operation_notification FOREIGN KEY (OPERATION_ID) REFERENCES
+ DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
+);
+-- NOTIFICATION TABLE END --
+
+CREATE TABLE IF NOT EXISTS DM_DEVICE_INFO (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ DEVICE_ID INT NULL,
+ KEY_FIELD VARCHAR(45) NULL,
+ VALUE_FIELD VARCHAR(100) NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT DM_DEVICE_INFO_DEVICE
+ FOREIGN KEY (DEVICE_ID)
+ REFERENCES DM_DEVICE (ID)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_DEVICE_LOCATION (
+ ID INTEGER AUTO_INCREMENT NOT NULL,
+ DEVICE_ID INT NULL,
+ LATITUDE DOUBLE NULL,
+ LONGITUDE DOUBLE NULL,
+ STREET1 VARCHAR(255) NULL,
+ STREET2 VARCHAR(45) NULL,
+ CITY VARCHAR(45) NULL,
+ ZIP VARCHAR(10) NULL,
+ STATE VARCHAR(45) NULL,
+ COUNTRY VARCHAR(45) NULL,
+ UPDATE_TIMESTAMP BIGINT(15) NOT NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT DM_DEVICE_LOCATION_DEVICE
+ FOREIGN KEY (DEVICE_ID)
+ REFERENCES DM_DEVICE (ID)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
+ ID INT NOT NULL AUTO_INCREMENT,
+ DEVICE_ID INT NOT NULL,
+ DEVICE_MODEL VARCHAR(45) NULL,
+ VENDOR VARCHAR(45) NULL,
+ OS_VERSION VARCHAR(45) NULL,
+ OS_BUILD_DATE VARCHAR(100) NULL,
+ BATTERY_LEVEL DECIMAL(4) NULL,
+ INTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL,
+ INTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL,
+ EXTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL,
+ EXTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL,
+ CONNECTION_TYPE VARCHAR(50) NULL,
+ SSID VARCHAR(45) NULL,
+ 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,
+ PRIMARY KEY (ID),
+ CONSTRAINT FK_DM_DEVICE_DETAILS_DEVICE
+ FOREIGN KEY (DEVICE_ID)
+ REFERENCES DM_DEVICE (ID)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+
+-- POLICY AND DEVICE GROUP MAPPING --
+CREATE TABLE IF NOT EXISTS DM_DEVICE_GROUP_POLICY (
+ ID INT NOT NULL AUTO_INCREMENT,
+ DEVICE_GROUP_ID INT NOT NULL,
+ POLICY_ID INT NOT NULL,
+ TENANT_ID INT NOT NULL,
+ PRIMARY KEY (ID),
+ CONSTRAINT FK_DM_DEVICE_GROUP_POLICY
+ FOREIGN KEY (DEVICE_GROUP_ID)
+ REFERENCES DM_GROUP (ID)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE ,
+ CONSTRAINT FK_DM_DEVICE_GROUP_DM_POLICY
+ FOREIGN KEY (POLICY_ID)
+ REFERENCES DM_POLICY (ID)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+);
+-- END OF POLICY AND DEVICE GROUP MAPPING --
+
+-- DASHBOARD RELATED VIEWS --
+CREATE VIEW POLICY_COMPLIANCE_INFO AS
+SELECT
+DEVICE_INFO.DEVICE_ID,
+DEVICE_INFO.DEVICE_IDENTIFICATION,
+DEVICE_INFO.PLATFORM,
+DEVICE_INFO.OWNERSHIP,
+DEVICE_INFO.CONNECTIVITY_STATUS,
+IFNULL(DEVICE_WITH_POLICY_INFO.POLICY_ID, -1) AS POLICY_ID,
+IFNULL(DEVICE_WITH_POLICY_INFO.IS_COMPLIANT, -1) AS IS_COMPLIANT,
+DEVICE_INFO.TENANT_ID
+FROM
+(SELECT
+DM_DEVICE.ID AS DEVICE_ID,
+DM_DEVICE.DEVICE_IDENTIFICATION,
+DM_DEVICE_TYPE.NAME AS PLATFORM,
+DM_ENROLMENT.OWNERSHIP,
+DM_ENROLMENT.STATUS AS CONNECTIVITY_STATUS,
+DM_DEVICE.TENANT_ID
+FROM DM_DEVICE, DM_DEVICE_TYPE, DM_ENROLMENT
+WHERE DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID AND DM_DEVICE.ID = DM_ENROLMENT.DEVICE_ID) DEVICE_INFO
+LEFT JOIN
+(SELECT
+DEVICE_ID,
+POLICY_ID,
+STATUS AS IS_COMPLIANT
+FROM DM_POLICY_COMPLIANCE_STATUS) DEVICE_WITH_POLICY_INFO
+ON DEVICE_INFO.DEVICE_ID = DEVICE_WITH_POLICY_INFO.DEVICE_ID
+ORDER BY DEVICE_INFO.DEVICE_ID;
+
+CREATE VIEW FEATURE_NON_COMPLIANCE_INFO AS
+SELECT
+DM_DEVICE.ID AS DEVICE_ID,
+DM_DEVICE.DEVICE_IDENTIFICATION,
+DM_DEVICE_DETAIL.DEVICE_MODEL,
+DM_DEVICE_DETAIL.VENDOR,
+DM_DEVICE_DETAIL.OS_VERSION,
+DM_ENROLMENT.OWNERSHIP,
+DM_ENROLMENT.OWNER,
+DM_ENROLMENT.STATUS AS CONNECTIVITY_STATUS,
+DM_POLICY_COMPLIANCE_STATUS.POLICY_ID,
+DM_DEVICE_TYPE.NAME AS PLATFORM,
+DM_POLICY_COMPLIANCE_FEATURES.FEATURE_CODE,
+DM_POLICY_COMPLIANCE_FEATURES.STATUS AS IS_COMPLAINT,
+DM_DEVICE.TENANT_ID
+FROM
+DM_POLICY_COMPLIANCE_FEATURES, DM_POLICY_COMPLIANCE_STATUS, DM_ENROLMENT, DM_DEVICE, DM_DEVICE_TYPE, DM_DEVICE_DETAIL
+WHERE
+DM_POLICY_COMPLIANCE_FEATURES.COMPLIANCE_STATUS_ID = DM_POLICY_COMPLIANCE_STATUS.ID AND
+DM_POLICY_COMPLIANCE_STATUS.ENROLMENT_ID = DM_ENROLMENT.ID AND
+DM_POLICY_COMPLIANCE_STATUS.DEVICE_ID = DM_DEVICE.ID AND
+DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID AND
+DM_DEVICE.ID = DM_DEVICE_DETAIL.DEVICE_ID
+ORDER BY TENANT_ID, DEVICE_ID;
+
+-- END OF DASHBOARD RELATED VIEWS --
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml
index 4add72b05a..d616157b5b 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.ui/pom.xml
@@ -22,7 +22,7 @@
device-mgt
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml
index b4f9f2ff48..55b9b413a0 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.url.printer/pom.xml
@@ -23,7 +23,7 @@
device-mgt
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml
index 7a4819b67b..1447e59de1 100644
--- a/components/device-mgt/pom.xml
+++ b/components/device-mgt/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
diff --git a/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml b/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml
index f4da29cfb6..9c8030a8a0 100644
--- a/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml
+++ b/components/email-sender/org.wso2.carbon.email.sender.core/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
email-sender
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/email-sender/pom.xml b/components/email-sender/pom.xml
index d42a6bbf83..68fa5cfb1b 100644
--- a/components/email-sender/pom.xml
+++ b/components/email-sender/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
diff --git a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml
index 441008555f..00ff564357 100644
--- a/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml
+++ b/components/identity-extensions/org.wso2.carbon.device.mgt.oauth.extensions/pom.xml
@@ -22,13 +22,13 @@
org.wso2.carbon.devicemgt
identity-extensions
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.oauth.extensions
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - OAuth Extensions
http://wso2.org
diff --git a/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml
index 7796f032ad..20b7f3d80b 100644
--- a/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml
+++ b/components/identity-extensions/org.wso2.carbon.identity.authenticator.backend.oauth/pom.xml
@@ -21,7 +21,7 @@
identity-extensions
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
4.0.0
diff --git a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml
index 92fd8421e1..d94ac07588 100644
--- a/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml
+++ b/components/identity-extensions/org.wso2.carbon.identity.jwt.client.extension/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
identity-extensions
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/components/identity-extensions/pom.xml b/components/identity-extensions/pom.xml
index 5f559949af..f952379a24 100644
--- a/components/identity-extensions/pom.xml
+++ b/components/identity-extensions/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
diff --git a/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml
index ac38782457..0d297c0d0d 100644
--- a/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml
+++ b/components/policy-mgt/org.wso2.carbon.complex.policy.decision.point/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
policy-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.devicemgt
org.wso2.carbon.complex.policy.decision.point
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - Policy Decision Point
WSO2 Carbon - Policy Decision Point
diff --git a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml
index 93d44acd50..26d5ae38bd 100644
--- a/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml
+++ b/components/policy-mgt/org.wso2.carbon.policy.decision.point/pom.xml
@@ -3,14 +3,14 @@
org.wso2.carbon.devicemgt
policy-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.devicemgt
org.wso2.carbon.policy.decision.point
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - Policy Decision Point
WSO2 Carbon - Policy Decision Point
diff --git a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml
index f3e8835fad..28ebbcf36d 100644
--- a/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml
+++ b/components/policy-mgt/org.wso2.carbon.policy.information.point/pom.xml
@@ -3,7 +3,7 @@
org.wso2.carbon.devicemgt
policy-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
@@ -11,7 +11,7 @@
4.0.0
org.wso2.carbon.devicemgt
org.wso2.carbon.policy.information.point
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - Policy Information Point
WSO2 Carbon - Policy Information Point
diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml
index 4ccdb6d360..f22cec1ec8 100644
--- a/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml
+++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.common/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
policy-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.devicemgt
org.wso2.carbon.policy.mgt.common
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - Policy Management Common
WSO2 Carbon - Policy Management Common
diff --git a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml
index ba2f44593c..09b34abf72 100644
--- a/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml
+++ b/components/policy-mgt/org.wso2.carbon.policy.mgt.core/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
policy-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.devicemgt
org.wso2.carbon.policy.mgt.core
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - Policy Management Core
WSO2 Carbon - Policy Management Core
diff --git a/components/policy-mgt/pom.xml b/components/policy-mgt/pom.xml
index 9accb9006b..d42f5e2a62 100644
--- a/components/policy-mgt/pom.xml
+++ b/components/policy-mgt/pom.xml
@@ -23,13 +23,13 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
policy-mgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - Policy Management Component
http://wso2.org
diff --git a/components/test-coverage/pom.xml b/components/test-coverage/pom.xml
index 80b05f2777..58452b360a 100644
--- a/components/test-coverage/pom.xml
+++ b/components/test-coverage/pom.xml
@@ -21,7 +21,7 @@
carbon-devicemgt
org.wso2.carbon.devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
diff --git a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml
index a6ab1f42b8..b9afaa585d 100644
--- a/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml
+++ b/components/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework/pom.xml
@@ -21,14 +21,14 @@
org.wso2.carbon.devicemgt
webapp-authenticator-framework
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.devicemgt
org.wso2.carbon.webapp.authenticator.framework
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
bundle
WSO2 Carbon - Web Application Authenticator Framework Bundle
WSO2 Carbon - Web Application Authenticator Framework Bundle
diff --git a/components/webapp-authenticator-framework/pom.xml b/components/webapp-authenticator-framework/pom.xml
index b8986a852e..6201086289 100644
--- a/components/webapp-authenticator-framework/pom.xml
+++ b/components/webapp-authenticator-framework/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
org.wso2.carbon.devicemgt
webapp-authenticator-framework
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - Webapp Authenticator Framework
http://wso2.org
diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml
index 3ed7f6cf52..bc7912ba3d 100644
--- a/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml
+++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.application.extension.feature/pom.xml
@@ -21,14 +21,14 @@
org.wso2.carbon.devicemgt
apimgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.apimgt.application.extension.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - API Management Application Extension Feature
http://wso2.org
This feature contains an implementation of a api application registration, which takes care of subscription
diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.handler.server.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.handler.server.feature/pom.xml
index 05f1314f04..77733405e0 100644
--- a/features/apimgt-extensions/org.wso2.carbon.apimgt.handler.server.feature/pom.xml
+++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.handler.server.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
apimgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.apimgt.handler.server.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Device Management - APIM handler Server Feature
http://wso2.org
This feature contains the handler for the api authentications
diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.integration.client.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.integration.client.feature/pom.xml
index 8db411c066..e63b464f95 100644
--- a/features/apimgt-extensions/org.wso2.carbon.apimgt.integration.client.feature/pom.xml
+++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.integration.client.feature/pom.xml
@@ -21,13 +21,13 @@
org.wso2.carbon.devicemgt
apimgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.apimgt.integration.client.feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - APIM Integration Client Feature
http://wso2.org
diff --git a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml
index 2917b8e89b..5f780a27b8 100644
--- a/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml
+++ b/features/apimgt-extensions/org.wso2.carbon.apimgt.webapp.publisher.feature/pom.xml
@@ -21,14 +21,14 @@
org.wso2.carbon.devicemgt
apimgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.apimgt.webapp.publisher.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - API Management Webapp Publisher Feature
http://wso2.org
This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing
diff --git a/features/apimgt-extensions/pom.xml b/features/apimgt-extensions/pom.xml
index c524786070..e12507cd7b 100644
--- a/features/apimgt-extensions/pom.xml
+++ b/features/apimgt-extensions/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
org.wso2.carbon.devicemgt
apimgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - API Management Extensions Feature
http://wso2.org
diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml
index 60e533a774..a0a215c540 100644
--- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml
+++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.api.feature/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
certificate-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml
index 495839216a..334cf576ab 100644
--- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml
+++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.cert.admin.api.feature/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
certificate-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml
index 4c7d87698a..d52cb89081 100644
--- a/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml
+++ b/features/certificate-mgt/org.wso2.carbon.certificate.mgt.server.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
certificate-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.certificate.mgt.server.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Certificate Management Server Feature
http://wso2.org
This feature contains the core bundles required for back-end Certificate Management functionality
diff --git a/features/certificate-mgt/pom.xml b/features/certificate-mgt/pom.xml
index 762024f6bb..6962f9717a 100644
--- a/features/certificate-mgt/pom.xml
+++ b/features/certificate-mgt/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
org.wso2.carbon.devicemgt
certificate-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - Certificate Management Feature
http://wso2.org
diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml
index fb5d66eece..84729b9399 100644
--- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml
+++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
device-mgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Device Type Deployer Feature
http://wso2.org
WSO2 Carbon - Device Type Deployer Feature
diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml
index 5b37e1f708..a63a9e4244 100644
--- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml
+++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
device-mgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - FCM Based Push Notification Provider Feature
http://wso2.org
WSO2 Carbon - MQTT Based Push Notification Provider Feature
diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml
index e071f07488..628f7c59ee 100644
--- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml
+++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
device-mgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - MQTT Based Push Notification Provider Feature
http://wso2.org
WSO2 Carbon - MQTT Based Push Notification Provider Feature
diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml
index d42c5d09a4..05a3dfefc8 100644
--- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml
+++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
device-mgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - MQTT Based Push Notification Provider Feature
http://wso2.org
WSO2 Carbon - MQTT Based Push Notification Provider Feature
diff --git a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml
index f1b7763b29..228f9b0602 100644
--- a/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml
+++ b/features/device-mgt-extensions/org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
device-mgt-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - XMPP Based Push Notification Provider Feature
http://wso2.org
WSO2 Carbon - XMPP Based Push Notification Provider Feature
diff --git a/features/device-mgt-extensions/pom.xml b/features/device-mgt-extensions/pom.xml
index 4cf7e1198c..1b114594ff 100644
--- a/features/device-mgt-extensions/pom.xml
+++ b/features/device-mgt-extensions/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
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
index 97d6cedd2b..ec0c7b1275 100644
--- 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
@@ -3,13 +3,13 @@
org.wso2.carbon.devicemgt
device-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.analytics.dashboard.feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - Device Management Dashboard Analytics Feature
WSO2 Carbon - Device Management Dashboard Analytics Feature
diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml
index 7d09ba4769..793e87f256 100644
--- a/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml
+++ b/features/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
device-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.analytics.data.publisher.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Device Management Server Feature
http://wso2.org
This feature contains bundles related to device analytics data publisher
diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml
index 413677d2a3..a2b9f70824 100644
--- a/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml
+++ b/features/device-mgt/org.wso2.carbon.device.mgt.api.feature/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
device-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml
index 0550c240c6..2c23263529 100644
--- a/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml
+++ b/features/device-mgt/org.wso2.carbon.device.mgt.extensions.feature/pom.xml
@@ -4,14 +4,14 @@
org.wso2.carbon.devicemgt
device-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.extensions.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Device Management Extensions Feature
http://wso2.org
This feature contains common extensions used by key device management functionalities
diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml
index 8fd2ef5df5..83281047a8 100644
--- a/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml
+++ b/features/device-mgt/org.wso2.carbon.device.mgt.feature/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
device-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml
index ba876ae491..8f8945c9c9 100644
--- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml
+++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
device-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.server.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Device Management Server Feature
http://wso2.org
This feature contains the core bundles required for Back-end Device Management functionality
diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml b/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml
index 2782b9304c..fe78ac9b6f 100644
--- a/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml
+++ b/features/device-mgt/org.wso2.carbon.device.mgt.ui.feature/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
device-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
diff --git a/features/device-mgt/pom.xml b/features/device-mgt/pom.xml
index 9b71abb5a7..2a1271ccae 100644
--- a/features/device-mgt/pom.xml
+++ b/features/device-mgt/pom.xml
@@ -22,7 +22,7 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
diff --git a/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml b/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml
index 80cfeab85c..4ba961f3ec 100644
--- a/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml
+++ b/features/email-sender/org.wso2.carbon.email.sender.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
email-sender-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.email.sender.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Email Sender Feature
http://wso2.org
This feature contains the core bundles required for email sender related functionality
diff --git a/features/email-sender/pom.xml b/features/email-sender/pom.xml
index d312ca3046..626af78f98 100644
--- a/features/email-sender/pom.xml
+++ b/features/email-sender/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
org.wso2.carbon.devicemgt
email-sender-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - Email Sender Feature
http://wso2.org
diff --git a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml
index ec78ce205c..0c9f4ba403 100644
--- a/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml
+++ b/features/jwt-client/org.wso2.carbon.identity.jwt.client.extension.feature/pom.xml
@@ -23,14 +23,14 @@
org.wso2.carbon.devicemgt
jwt-client-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.identity.jwt.client.extension.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - JWT Client Feature
http://wso2.org
This feature contains jwt client implementation from which we can get a access token using the jwt
diff --git a/features/jwt-client/pom.xml b/features/jwt-client/pom.xml
index bda2b0c6ab..f6c78fe577 100644
--- a/features/jwt-client/pom.xml
+++ b/features/jwt-client/pom.xml
@@ -23,13 +23,13 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
jwt-client-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - JWT Client Extension Feature
http://wso2.org
diff --git a/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml b/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml
index edcf9a7413..31d8442fd5 100644
--- a/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml
+++ b/features/oauth-extensions/org.wso2.carbon.device.mgt.oauth.extensions.feature/pom.xml
@@ -23,14 +23,14 @@
org.wso2.carbon.devicemgt
oauth-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.device.mgt.oauth.extensions.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Device Mgt OAuth Extensions Feature
http://wso2.org
This feature contains devicemgt related OAuth extensions
diff --git a/features/oauth-extensions/pom.xml b/features/oauth-extensions/pom.xml
index 1ed6ca3898..6357534bac 100644
--- a/features/oauth-extensions/pom.xml
+++ b/features/oauth-extensions/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
org.wso2.carbon.devicemgt
oauth-extensions-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - Device Management OAuth Extensions Feature
http://wso2.org
diff --git a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml
index 200bb6b719..90dcde94de 100644
--- a/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml
+++ b/features/policy-mgt/org.wso2.carbon.policy.mgt.server.feature/pom.xml
@@ -23,14 +23,14 @@
org.wso2.carbon.devicemgt
policy-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.policy.mgt.server.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Policy Management Server Feature
http://wso2.org
This feature contains the core bundles required for Back-end Device Management functionality
diff --git a/features/policy-mgt/pom.xml b/features/policy-mgt/pom.xml
index 61ab1fb365..025bee5168 100644
--- a/features/policy-mgt/pom.xml
+++ b/features/policy-mgt/pom.xml
@@ -23,14 +23,14 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
org.wso2.carbon.devicemgt
policy-mgt-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - Policy Management Feature
http://wso2.org
diff --git a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml
index d98c8cb55a..7833d95537 100644
--- a/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml
+++ b/features/webapp-authenticator-framework/org.wso2.carbon.webapp.authenticator.framework.server.feature/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
webapp-authenticator-framework-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../pom.xml
4.0.0
org.wso2.carbon.webapp.authenticator.framework.server.feature
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Webapp Authenticator Framework Server Feature
http://wso2.org
This feature contains the core bundles required for Back-end Device Management functionality
diff --git a/features/webapp-authenticator-framework/pom.xml b/features/webapp-authenticator-framework/pom.xml
index cb459e91ee..59b8d17ec6 100644
--- a/features/webapp-authenticator-framework/pom.xml
+++ b/features/webapp-authenticator-framework/pom.xml
@@ -22,14 +22,14 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
../../pom.xml
4.0.0
org.wso2.carbon.devicemgt
webapp-authenticator-framework-feature
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
pom
WSO2 Carbon - Webapp Authenticator Framework Feature
http://wso2.org
diff --git a/pom.xml b/pom.xml
index e97823185f..9e717e6e2c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
org.wso2.carbon.devicemgt
carbon-devicemgt
pom
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
WSO2 Carbon - Device Management - Parent
http://wso2.org
WSO2 Connected Device Manager Components
@@ -1851,7 +1851,7 @@
1.2.11.wso2v10
- 3.0.121-SNAPSHOT
+ 3.0.124-SNAPSHOT
4.4.8