mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
Merge branch 'master' of https://gitlab.com/entgra/carbon-device-mgt-plugins
This commit is contained in:
commit
1df1967ac5
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>iot-analytics</artifactId>
|
<artifactId>iot-analytics</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>iot-analytics</artifactId>
|
<artifactId>iot-analytics</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>iot-analytics</artifactId>
|
<artifactId>iot-analytics</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>iot-analytics</artifactId>
|
<artifactId>iot-analytics</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>analytics</artifactId>
|
<artifactId>analytics</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>androidsense-plugin</artifactId>
|
<artifactId>androidsense-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>androidsense-plugin</artifactId>
|
<artifactId>androidsense-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>androidsense-plugin</artifactId>
|
<artifactId>androidsense-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>device-types</artifactId>
|
<artifactId>device-types</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>arduino-plugin</artifactId>
|
<artifactId>arduino-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>arduino-plugin</artifactId>
|
<artifactId>arduino-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>arduino-plugin</artifactId>
|
<artifactId>arduino-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>device-types</artifactId>
|
<artifactId>device-types</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>raspberrypi-plugin</artifactId>
|
<artifactId>raspberrypi-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>raspberrypi-plugin</artifactId>
|
<artifactId>raspberrypi-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>raspberrypi-plugin</artifactId>
|
<artifactId>raspberrypi-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>device-types</artifactId>
|
<artifactId>device-types</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
<artifactId>virtual-fire-alarm-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>device-types</artifactId>
|
<artifactId>device-types</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>cdmf-transport-adapters</artifactId>
|
<artifactId>cdmf-transport-adapters</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>extensions</artifactId>
|
<artifactId>extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>mb-extensions</artifactId>
|
<artifactId>mb-extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>mb-extensions</artifactId>
|
<artifactId>mb-extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>extensions</artifactId>
|
<artifactId>extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>pull-notification-listeners</artifactId>
|
<artifactId>pull-notification-listeners</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>extensions</artifactId>
|
<artifactId>extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>remote-session-extension</artifactId>
|
<artifactId>remote-session-extension</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>remote-session-extension</artifactId>
|
<artifactId>remote-session-extension</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>extensions</artifactId>
|
<artifactId>extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>siddhi-extensions</artifactId>
|
<artifactId>siddhi-extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>siddhi-extensions</artifactId>
|
<artifactId>siddhi-extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>siddhi-extensions</artifactId>
|
<artifactId>siddhi-extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>extensions</artifactId>
|
<artifactId>extensions</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>android-plugin</artifactId>
|
<artifactId>android-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,65 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
|
||||||
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
|
* in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||||
|
* either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.wso2.carbon.mdm.services.android.bean;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class represents the information of configuring display message operation.
|
||||||
|
*/
|
||||||
|
@ApiModel(value = "LockScreenMessage", description = "This class represents the information of configuring wifi operation")
|
||||||
|
public class DisplayMessage extends AndroidOperation implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "lockScreenMessage", value = "The message of the lock screen that you wish to configure",
|
||||||
|
required = true)
|
||||||
|
private String lockScreenMessage;
|
||||||
|
@ApiModelProperty(name = "settingAppSupportMessage", value = "The message of the administrators applications that you wish to configure",
|
||||||
|
required = true)
|
||||||
|
private String settingAppSupportMessage;
|
||||||
|
@ApiModelProperty(name = "disabledSettingSupportMessage", value = "The password to connect to the specified Wifi network",
|
||||||
|
required = true)
|
||||||
|
private String disabledSettingSupportMessage;
|
||||||
|
|
||||||
|
public String getLockScreenMessage() {
|
||||||
|
return lockScreenMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLockScreenMessage(String lockScreenMessage) {
|
||||||
|
this.lockScreenMessage = lockScreenMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSettingAppSupportMessage() {
|
||||||
|
return settingAppSupportMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSettingAppSupportMessage(String settingAppSupportMessage) {
|
||||||
|
this.settingAppSupportMessage = settingAppSupportMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDisabledSettingSupportMessage() {
|
||||||
|
return disabledSettingSupportMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisabledSettingSupportMessage(String disabledSettingSupportMessage) {
|
||||||
|
this.disabledSettingSupportMessage = disabledSettingSupportMessage;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
|
||||||
|
* Version 2.0 (the "License"); you may not use this file except
|
||||||
|
* in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
||||||
|
* either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.wso2.carbon.mdm.services.android.bean.wrapper;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import org.wso2.carbon.mdm.services.android.bean.DisplayMessage;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is used to wrap the Wifi bean with devices.
|
||||||
|
*/
|
||||||
|
@ApiModel(value = "DisplayMessageBeanWrapper",
|
||||||
|
description = "Mapping between display message operation and device list to be applied.")
|
||||||
|
public class DisplayMessageBeanWrapper {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "operation", value = "Information of configuring display message operation", required = true)
|
||||||
|
private DisplayMessage operation;
|
||||||
|
@ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true)
|
||||||
|
private List<String> deviceIDs;
|
||||||
|
|
||||||
|
public DisplayMessage getOperation() {
|
||||||
|
return operation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOperation(DisplayMessage operation) {
|
||||||
|
this.operation = operation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getDeviceIDs() {
|
||||||
|
return deviceIDs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeviceIDs(List<String> deviceIDs) {
|
||||||
|
this.deviceIDs = deviceIDs;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1332,64 +1332,60 @@ public interface AndroidEnterpriseService {
|
|||||||
name = "applicationPolicyDTO",
|
name = "applicationPolicyDTO",
|
||||||
value = "Enterprise managed conf.") ApplicationPolicyDTO applicationPolicyDTO);
|
value = "Enterprise managed conf.") ApplicationPolicyDTO applicationPolicyDTO);
|
||||||
|
|
||||||
|
|
||||||
//######################################################################################################################
|
//######################################################################################################################
|
||||||
//######################################################################################################################
|
//######################################################################################################################
|
||||||
//######################################################################################################################
|
//######################################################################################################################
|
||||||
|
|
||||||
@PUT
|
@GET
|
||||||
@Path("/unenroll")
|
@Path("/wipe-device")
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
consumes = MediaType.APPLICATION_JSON,
|
httpMethod = "GET",
|
||||||
httpMethod = "PUT",
|
value = "Getting managed configs",
|
||||||
value = "Unenroll an enterprise from EMM",
|
notes = "Getting managed configs.",
|
||||||
notes = "Unenroll an enterprise from EMM.",
|
tags = "Device Type Management Administrative Service",
|
||||||
tags = "Android Enterprise Service",
|
|
||||||
extensions = {
|
extensions = {
|
||||||
@Extension(properties = {
|
@Extension(properties = {
|
||||||
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:enterprise:modify")
|
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:enterprise:modify")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ApiResponses(
|
@ApiResponses(value = {
|
||||||
value = {
|
@ApiResponse(code = 200, message = "Created. \n Successfully fetched managed configs",
|
||||||
@ApiResponse(code = 201, message = "Created. \n Successfully removed",
|
responseHeaders = {
|
||||||
responseHeaders = {
|
@ResponseHeader(
|
||||||
@ResponseHeader(
|
name = "Content-Location",
|
||||||
name = "Content-Location",
|
description = "The URL of the added policy."),
|
||||||
description = "The URL of the added policy."),
|
@ResponseHeader(
|
||||||
@ResponseHeader(
|
name = "Content-Type",
|
||||||
name = "Content-Type",
|
description = "The content type of the body"),
|
||||||
description = "The content type of the body"),
|
@ResponseHeader(
|
||||||
@ResponseHeader(
|
name = "ETag",
|
||||||
name = "ETag",
|
description = "Entity Tag of the response resource.\n" +
|
||||||
description = "Entity Tag of the response resource.\n" +
|
"Used by caches, or in conditional requests."),
|
||||||
"Used by caches, or in conditional requests."),
|
@ResponseHeader(
|
||||||
@ResponseHeader(
|
name = "Last-Modified",
|
||||||
name = "Last-Modified",
|
description = "Date and time the resource was last modified.\n" +
|
||||||
description = "Date and time the resource was last modified.\n" +
|
"Used by caches, or in conditional requests.")
|
||||||
"Used by caches, or in conditional requests.")
|
}),
|
||||||
}),
|
@ApiResponse(
|
||||||
@ApiResponse(
|
code = 303,
|
||||||
code = 303,
|
message = "See Other. \n The source can be retrieved from the URL specified in the location header.",
|
||||||
message = "See Other. \n The source can be retrieved from the URL specified in the location header.",
|
responseHeaders = {
|
||||||
responseHeaders = {
|
@ResponseHeader(
|
||||||
@ResponseHeader(
|
name = "Content-Location",
|
||||||
name = "Content-Location",
|
description = "The Source URL of the document.")}),
|
||||||
description = "The Source URL of the document.")}),
|
@ApiResponse(
|
||||||
@ApiResponse(
|
code = 400,
|
||||||
code = 400,
|
message = "Bad Request. \n Invalid request or validation error."),
|
||||||
message = "Bad Request. \n Invalid request or validation error."),
|
@ApiResponse(
|
||||||
@ApiResponse(
|
code = 415,
|
||||||
code = 415,
|
message = "Unsupported media type. \n The format of the requested entity was not supported."),
|
||||||
message = "Unsupported media type. \n The format of the requested entity was not supported."),
|
@ApiResponse(
|
||||||
@ApiResponse(
|
code = 500,
|
||||||
code = 500,
|
message = "Internal Server Error. \n " +
|
||||||
message = "Internal Server Error. \n " +
|
"Server error occurred while getting managed configs.")
|
||||||
"Server error occurred while unenrolling.")
|
})
|
||||||
})
|
Response wipeEnterprise();
|
||||||
|
|
||||||
Response unenroll();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -257,6 +257,12 @@ import java.util.List;
|
|||||||
description = "Send app restrictions to an application in the device",
|
description = "Send app restrictions to an application in the device",
|
||||||
key = "perm:android:send-app-restrictions",
|
key = "perm:android:send-app-restrictions",
|
||||||
permissions = {"/device-mgt/devices/owning-device/operations/android/send-app-conf"}
|
permissions = {"/device-mgt/devices/owning-device/operations/android/send-app-conf"}
|
||||||
|
),
|
||||||
|
@Scope(
|
||||||
|
name = "Configure display message",
|
||||||
|
description = "Configure display message on Android Device",
|
||||||
|
key = "perm:android:configure-display-message",
|
||||||
|
permissions = {"/device-mgt/devices/owning-device/operations/android/display-message"}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -2052,4 +2058,55 @@ public interface DeviceManagementAdminService {
|
|||||||
value = "The properties to set the global proxy settings.",
|
value = "The properties to set the global proxy settings.",
|
||||||
required = true)
|
required = true)
|
||||||
GlobalProxyBeanWrapper globalProxyBeanWrapper);
|
GlobalProxyBeanWrapper globalProxyBeanWrapper);
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/configure-display-message")
|
||||||
|
@ApiOperation(
|
||||||
|
consumes = MediaType.APPLICATION_JSON,
|
||||||
|
httpMethod = "POST",
|
||||||
|
value = "Sending a messages to Android Devices.",
|
||||||
|
notes = "Send a message to Android Devices.",
|
||||||
|
response = Activity.class,
|
||||||
|
tags = "Android Device Management Administrative Service",
|
||||||
|
extensions = {
|
||||||
|
@Extension(properties = {
|
||||||
|
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:configure-display-message")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ApiResponses(value = {
|
||||||
|
@ApiResponse(
|
||||||
|
code = 201,
|
||||||
|
message = "Created. \n Successfully sent the message.",
|
||||||
|
response = Activity.class,
|
||||||
|
responseHeaders = {
|
||||||
|
@ResponseHeader(
|
||||||
|
name = "Content-Location",
|
||||||
|
description = "URL of the activity instance that refers to the scheduled operation."),
|
||||||
|
@ResponseHeader(
|
||||||
|
name = "Content-Type",
|
||||||
|
description = "Content type of the body"),
|
||||||
|
@ResponseHeader(
|
||||||
|
name = "ETag",
|
||||||
|
description = "Entity Tag of the response resource.\n" +
|
||||||
|
"Used by caches, or in conditional requests."),
|
||||||
|
@ResponseHeader(
|
||||||
|
name = "Last-Modified",
|
||||||
|
description = "Date and time the resource was last modified.\n" +
|
||||||
|
"Used by caches, or in conditional requests.")}),
|
||||||
|
@ApiResponse(
|
||||||
|
code = 400,
|
||||||
|
message = "Bad Request. \n Invalid request or validation error."),
|
||||||
|
@ApiResponse(
|
||||||
|
code = 500,
|
||||||
|
message = "Internal Server Error. \n " +
|
||||||
|
"Server error occurred while adding a new display messages operation.")
|
||||||
|
})
|
||||||
|
Response configureDisplayMessage(
|
||||||
|
@ApiParam(
|
||||||
|
name = "display-message",
|
||||||
|
value = "The properties required to send a messages. Provide the message you wish to send and the ID of the " +
|
||||||
|
"Android device. Multiple device IDs can be added by using comma separated values.",
|
||||||
|
required = true)
|
||||||
|
DisplayMessageBeanWrapper displayMessageBeanWrapper);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,8 +31,17 @@ import org.wso2.carbon.device.application.mgt.common.dto.ApplicationPolicyDTO;
|
|||||||
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationReleaseDTO;
|
import org.wso2.carbon.device.application.mgt.common.dto.ApplicationReleaseDTO;
|
||||||
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
|
import org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException;
|
||||||
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
|
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
|
||||||
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||||
|
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||||
|
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.exceptions.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.policy.mgt.ProfileFeature;
|
import org.wso2.carbon.device.mgt.common.policy.mgt.ProfileFeature;
|
||||||
|
import org.wso2.carbon.device.mgt.core.operation.mgt.CommandOperation;
|
||||||
import org.wso2.carbon.device.mgt.mobile.android.impl.EnterpriseServiceException;
|
import org.wso2.carbon.device.mgt.mobile.android.impl.EnterpriseServiceException;
|
||||||
import org.wso2.carbon.device.mgt.mobile.android.impl.dto.AndroidEnterpriseManagedConfig;
|
import org.wso2.carbon.device.mgt.mobile.android.impl.dto.AndroidEnterpriseManagedConfig;
|
||||||
import org.wso2.carbon.device.mgt.mobile.android.impl.dto.AndroidEnterpriseUser;
|
import org.wso2.carbon.device.mgt.mobile.android.impl.dto.AndroidEnterpriseUser;
|
||||||
@ -798,28 +807,76 @@ public class AndroidEnterpriseServiceImpl implements AndroidEnterpriseService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
|
||||||
@Path("/{id}/unenroll")
|
|
||||||
@Override
|
@Override
|
||||||
public Response unenroll() {
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
@GET
|
||||||
|
@Path("/wipe-device")
|
||||||
|
public Response wipeEnterprise() {
|
||||||
|
log.warn("Wiping all devices!!!");
|
||||||
EnterpriseConfigs enterpriseConfigs = AndroidEnterpriseUtils.getEnterpriseConfigs();
|
EnterpriseConfigs enterpriseConfigs = AndroidEnterpriseUtils.getEnterpriseConfigs();
|
||||||
GoogleAPIInvoker googleAPIInvoker = new GoogleAPIInvoker(enterpriseConfigs.getEsa());
|
|
||||||
try {
|
try {
|
||||||
googleAPIInvoker.unenroll(enterpriseConfigs.getEnterpriseId());
|
// Take all enterprise devices in the DB.
|
||||||
} catch (IOException e) {
|
List<AndroidEnterpriseUser> androidEnterpriseUsers = AndroidAPIUtils.getAndroidPluginService()
|
||||||
String errorMessage = "Could not unenroll the enterprise " + enterpriseConfigs.getEnterpriseId();
|
.getAllEnterpriseDevices(enterpriseConfigs.getEnterpriseId());
|
||||||
log.error(errorMessage);
|
|
||||||
throw new NotFoundException(
|
// Extract the device identifiers of enterprise devices.
|
||||||
new ErrorResponse.ErrorResponseBuilder().setCode(Response.Status.INTERNAL_SERVER_ERROR
|
List<String> deviceID = new ArrayList<>();
|
||||||
.getStatusCode()).setMessage(errorMessage).build());
|
if (androidEnterpriseUsers != null && !androidEnterpriseUsers.isEmpty()) {
|
||||||
|
for (AndroidEnterpriseUser userDevice: androidEnterpriseUsers) {
|
||||||
|
deviceID.add(userDevice.getEmmDeviceId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<String> byodDevices = new ArrayList<>();
|
||||||
|
List<String> copeDevices = new ArrayList<>();
|
||||||
|
// Get all registered device
|
||||||
|
List<Device> devices = AndroidAPIUtils.getDeviceManagementService().
|
||||||
|
getAllDevices(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID, false);
|
||||||
|
for (Device device : devices) { // Go through all enrolled devices
|
||||||
|
if (deviceID.contains(device.getDeviceIdentifier())) { // Filter out only enterprise enrolled devices.
|
||||||
|
if (EnrolmentInfo.OwnerShip.BYOD.equals(device.getEnrolmentInfo().getOwnership())) {
|
||||||
|
byodDevices.add(device.getDeviceIdentifier());
|
||||||
|
} else {
|
||||||
|
copeDevices.add(device.getDeviceIdentifier());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CommandOperation operation = new CommandOperation();
|
||||||
|
operation.setType(Operation.Type.COMMAND);//TODO: Check if this should be profile
|
||||||
|
// type when implementing COPE/COSU
|
||||||
|
if (byodDevices != null && !byodDevices.isEmpty()) { // BYOD devices only needs a data wipe(work profile)
|
||||||
|
log.warn("Wiping " + byodDevices.size() + " BYOD devices");
|
||||||
|
operation.setCode(AndroidConstants.OperationCodes.ENTERPRISE_WIPE);
|
||||||
|
} else if (copeDevices != null && copeDevices.size() > 0) {
|
||||||
|
log.warn("Wiping " + copeDevices.size() + " COPE/COSU devices");
|
||||||
|
operation.setCode(AndroidConstants.OperationCodes.WIPE_DATA);
|
||||||
|
}
|
||||||
|
AndroidDeviceUtils.getOperationResponse(deviceID, operation);
|
||||||
|
log.warn("Added wipe to all devices");
|
||||||
|
return Response.status(Response.Status.OK).build();
|
||||||
} catch (EnterpriseServiceException e) {
|
} catch (EnterpriseServiceException e) {
|
||||||
String errorMessage = "Could not get client to call Google to unenroll enterprise " + enterpriseConfigs.getEnterpriseId();
|
String errorMessage = "Error when saving configs for enterprise " + enterpriseConfigs.getEnterpriseId();
|
||||||
log.error(errorMessage);
|
log.error(errorMessage);
|
||||||
throw new NotFoundException(
|
return Response.serverError().entity(
|
||||||
new ErrorResponse.ErrorResponseBuilder().setCode(Response.Status.INTERNAL_SERVER_ERROR
|
new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build();
|
||||||
.getStatusCode()).setMessage(errorMessage).build());
|
} catch (OperationManagementException e) {
|
||||||
|
String errorMessage = "Could not add wipe command to enterprise " + enterpriseConfigs.getEnterpriseId();
|
||||||
|
log.error(errorMessage);
|
||||||
|
return Response.serverError().entity(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build();
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String errorMessage = "Could not add wipe command to enterprise " + enterpriseConfigs.getEnterpriseId() +
|
||||||
|
" due to an error in device management";
|
||||||
|
log.error(errorMessage);
|
||||||
|
return Response.serverError().entity(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build();
|
||||||
|
} catch (InvalidDeviceException e) {
|
||||||
|
String errorMessage = "Could not add wipe command to enterprise due to invalid device ids";
|
||||||
|
log.error(errorMessage);
|
||||||
|
return Response.serverError().entity(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().setMessage(errorMessage).build()).build();
|
||||||
}
|
}
|
||||||
return Response.status(Response.Status.OK).build();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -37,6 +37,7 @@ package org.wso2.carbon.mdm.services.android.services.impl;
|
|||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.apache.http.HttpStatus;
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException;
|
import org.wso2.carbon.device.mgt.common.exceptions.InvalidDeviceException;
|
||||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
||||||
@ -56,6 +57,7 @@ import org.wso2.carbon.mdm.services.android.bean.ErrorResponse;
|
|||||||
import org.wso2.carbon.mdm.services.android.bean.FileTransfer;
|
import org.wso2.carbon.mdm.services.android.bean.FileTransfer;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.GlobalProxy;
|
import org.wso2.carbon.mdm.services.android.bean.GlobalProxy;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.LockCode;
|
import org.wso2.carbon.mdm.services.android.bean.LockCode;
|
||||||
|
import org.wso2.carbon.mdm.services.android.bean.DisplayMessage;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.Notification;
|
import org.wso2.carbon.mdm.services.android.bean.Notification;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.PasscodePolicy;
|
import org.wso2.carbon.mdm.services.android.bean.PasscodePolicy;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.UpgradeFirmware;
|
import org.wso2.carbon.mdm.services.android.bean.UpgradeFirmware;
|
||||||
@ -74,6 +76,7 @@ import org.wso2.carbon.mdm.services.android.bean.wrapper.EncryptionBeanWrapper;
|
|||||||
import org.wso2.carbon.mdm.services.android.bean.wrapper.FileTransferBeanWrapper;
|
import org.wso2.carbon.mdm.services.android.bean.wrapper.FileTransferBeanWrapper;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.wrapper.GlobalProxyBeanWrapper;
|
import org.wso2.carbon.mdm.services.android.bean.wrapper.GlobalProxyBeanWrapper;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.wrapper.LockCodeBeanWrapper;
|
import org.wso2.carbon.mdm.services.android.bean.wrapper.LockCodeBeanWrapper;
|
||||||
|
import org.wso2.carbon.mdm.services.android.bean.wrapper.DisplayMessageBeanWrapper;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.wrapper.NotificationBeanWrapper;
|
import org.wso2.carbon.mdm.services.android.bean.wrapper.NotificationBeanWrapper;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.wrapper.PasswordPolicyBeanWrapper;
|
import org.wso2.carbon.mdm.services.android.bean.wrapper.PasswordPolicyBeanWrapper;
|
||||||
import org.wso2.carbon.mdm.services.android.bean.wrapper.UpgradeFirmwareBeanWrapper;
|
import org.wso2.carbon.mdm.services.android.bean.wrapper.UpgradeFirmwareBeanWrapper;
|
||||||
@ -1090,6 +1093,47 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/configure-display-message")
|
||||||
|
@Override
|
||||||
|
public Response configureDisplayMessage(DisplayMessageBeanWrapper displayMessageBeanWrapper) {
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Invoking 'configure-display-message' operation");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (displayMessageBeanWrapper == null || displayMessageBeanWrapper.getOperation() == null) {
|
||||||
|
String errorMessage = "The payload of the display message operation is incorrect";
|
||||||
|
log.error(errorMessage);
|
||||||
|
throw new BadRequestException(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).
|
||||||
|
setMessage(errorMessage).build());
|
||||||
|
}
|
||||||
|
DisplayMessage configureDisplayMessage = displayMessageBeanWrapper.getOperation();
|
||||||
|
ProfileOperation operation = new ProfileOperation();
|
||||||
|
operation.setCode(AndroidConstants.OperationCodes.DISPLAY_MESSAGE_CONFIGURATION);
|
||||||
|
operation.setType(Operation.Type.PROFILE);
|
||||||
|
operation.setPayLoad(configureDisplayMessage.toJSON());
|
||||||
|
|
||||||
|
Activity activity = AndroidDeviceUtils.getOperationResponse(displayMessageBeanWrapper.
|
||||||
|
getDeviceIDs(), operation);
|
||||||
|
return Response.status(Response.Status.CREATED).entity(activity).build();
|
||||||
|
|
||||||
|
} catch (InvalidDeviceException e) {
|
||||||
|
String errorMessage = "Invalid Device Identifiers found.";
|
||||||
|
log.error(errorMessage, e);
|
||||||
|
throw new BadRequestException(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().setCode(HttpStatus.SC_BAD_REQUEST).
|
||||||
|
setMessage(errorMessage).build());
|
||||||
|
} catch (OperationManagementException e) {
|
||||||
|
String errorMessage = "Issue in retrieving operation management service instance";
|
||||||
|
log.error(errorMessage, e);
|
||||||
|
throw new UnexpectedServerErrorException(
|
||||||
|
new ErrorResponse.ErrorResponseBuilder().
|
||||||
|
setCode(HttpStatus.SC_INTERNAL_SERVER_ERROR).setMessage(errorMessage).build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void validateApplicationUrl(String apkUrl) {
|
private static void validateApplicationUrl(String apkUrl) {
|
||||||
try {
|
try {
|
||||||
URL url = new URL(apkUrl);
|
URL url = new URL(apkUrl);
|
||||||
|
|||||||
@ -70,6 +70,8 @@ public final class AndroidConstants {
|
|||||||
public static final String USER_CLAIM_FIRST_NAME_PLACEHOLDER = "$firstName";
|
public static final String USER_CLAIM_FIRST_NAME_PLACEHOLDER = "$firstName";
|
||||||
public static final String USER_CLAIM_LAST_NAME_PLACEHOLDER = "$lastName";
|
public static final String USER_CLAIM_LAST_NAME_PLACEHOLDER = "$lastName";
|
||||||
|
|
||||||
|
public static final String GOOGLE_PLAY_SYNCED_APP_CATEGORY = "GooglePlaySyncedApp";
|
||||||
|
|
||||||
public final class DeviceProperties {
|
public final class DeviceProperties {
|
||||||
private DeviceProperties() {
|
private DeviceProperties() {
|
||||||
throw new AssertionError();
|
throw new AssertionError();
|
||||||
@ -151,6 +153,7 @@ public final class AndroidConstants {
|
|||||||
public static final String NOTIFIER_FREQUENCY = "NOTIFIER_FREQUENCY";
|
public static final String NOTIFIER_FREQUENCY = "NOTIFIER_FREQUENCY";
|
||||||
public static final String GLOBAL_PROXY = "SET_GLOBAL_PROXY";
|
public static final String GLOBAL_PROXY = "SET_GLOBAL_PROXY";
|
||||||
public static final String REMOTE_APP_CONFIG = "REMOTE_APP_CONFIG";
|
public static final String REMOTE_APP_CONFIG = "REMOTE_APP_CONFIG";
|
||||||
|
public static final String DISPLAY_MESSAGE_CONFIGURATION = "DISPLAY_MESSAGE_CONFIGURATION";
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class StatusCodes {
|
public final class StatusCodes {
|
||||||
@ -185,6 +188,8 @@ public final class AndroidConstants {
|
|||||||
public static final String VERSION = "version";
|
public static final String VERSION = "version";
|
||||||
public static final String ICON = "icon";
|
public static final String ICON = "icon";
|
||||||
public static final String IS_ACTIVE = "isActive";
|
public static final String IS_ACTIVE = "isActive";
|
||||||
|
public static final String FREE_SUB_METHOD = "FREE";
|
||||||
|
public static final String PAID_SUB_METHOD = "PAID";
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class ApplicationInstall {
|
public final class ApplicationInstall {
|
||||||
|
|||||||
@ -321,21 +321,27 @@ public class AndroidDeviceUtils {
|
|||||||
JsonArray appListArray = appListElement.getAsJsonArray();
|
JsonArray appListArray = appListElement.getAsJsonArray();
|
||||||
|
|
||||||
// Find if there are Apps with Work profile configurations
|
// Find if there are Apps with Work profile configurations
|
||||||
|
boolean alreadySendToGoogle = false;
|
||||||
for (JsonElement appElement : appListArray) {
|
for (JsonElement appElement : appListArray) {
|
||||||
JsonElement googlePolicyPayload = appElement.getAsJsonObject().
|
JsonElement googlePolicyPayload = appElement.getAsJsonObject().
|
||||||
get(AndroidConstants.ApplicationInstall.GOOGLE_POLICY_PAYLOAD);
|
get(AndroidConstants.ApplicationInstall.GOOGLE_POLICY_PAYLOAD);
|
||||||
|
|
||||||
|
|
||||||
if (googlePolicyPayload != null) {
|
if (googlePolicyPayload != null) {
|
||||||
String uuid = appElement.getAsJsonObject().get("uuid").toString();
|
String uuid = appElement.getAsJsonObject().get("uuid").toString();
|
||||||
containsGoogleAppPolicy = true;// breaking out of outer for loop
|
containsGoogleAppPolicy = true;// breaking out of outer for loop
|
||||||
try {
|
try {
|
||||||
uuid = uuid.replace("\"", "");
|
uuid = uuid.replace("\"", "");
|
||||||
sendPayloadToGoogle(uuid, payload, deviceIdentifier);
|
if (alreadySendToGoogle) {
|
||||||
|
sendPayloadToGoogle(uuid, payload, deviceIdentifier, false);
|
||||||
|
} else {
|
||||||
|
sendPayloadToGoogle(uuid, payload, deviceIdentifier, true);
|
||||||
|
alreadySendToGoogle = true;
|
||||||
|
}
|
||||||
} catch (org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException e) {
|
} catch (org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException e) {
|
||||||
String errorMessage = "App install failed for device " + deviceIdentifier.getId();
|
String errorMessage = "App install failed for device " + deviceIdentifier.getId();
|
||||||
log.error(errorMessage, e);
|
log.error(errorMessage, e);
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -349,8 +355,10 @@ public class AndroidDeviceUtils {
|
|||||||
* Sends the app install policy to Google
|
* Sends the app install policy to Google
|
||||||
* @param payload policy profile
|
* @param payload policy profile
|
||||||
* @param deviceIdentifier device to apply policy
|
* @param deviceIdentifier device to apply policy
|
||||||
|
* @param requireSendingToGoogle
|
||||||
*/
|
*/
|
||||||
private static void sendPayloadToGoogle(String uuid, String payload, DeviceIdentifier deviceIdentifier)
|
private static void sendPayloadToGoogle(String uuid, String payload, DeviceIdentifier deviceIdentifier,
|
||||||
|
boolean requireSendingToGoogle)
|
||||||
throws org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException {
|
throws org.wso2.carbon.device.application.mgt.common.exception.ApplicationManagementException {
|
||||||
try {
|
try {
|
||||||
EnterpriseConfigs enterpriseConfigs = AndroidEnterpriseUtils.getEnterpriseConfigsFromGoogle();
|
EnterpriseConfigs enterpriseConfigs = AndroidEnterpriseUtils.getEnterpriseConfigsFromGoogle();
|
||||||
@ -370,10 +378,12 @@ public class AndroidDeviceUtils {
|
|||||||
for (EnterpriseApp enterpriseApp : enterpriseInstallPolicy.getApps()) {
|
for (EnterpriseApp enterpriseApp : enterpriseInstallPolicy.getApps()) {
|
||||||
apps.add(enterpriseApp.getProductId());
|
apps.add(enterpriseApp.getProductId());
|
||||||
}
|
}
|
||||||
googleAPIInvoker.approveAppsForUser(enterpriseConfigs.getEnterpriseId(), userDetail
|
if (requireSendingToGoogle) {
|
||||||
.getGoogleUserId(), apps, enterpriseInstallPolicy.getProductSetBehavior());
|
googleAPIInvoker.approveAppsForUser(enterpriseConfigs.getEnterpriseId(), userDetail
|
||||||
googleAPIInvoker.updateAppsForUser(enterpriseConfigs.getEnterpriseId(), userDetail.getGoogleUserId(),
|
.getGoogleUserId(), apps, enterpriseInstallPolicy.getProductSetBehavior());
|
||||||
AndroidEnterpriseUtils.convertToDeviceInstance(enterpriseInstallPolicy));
|
googleAPIInvoker.updateAppsForUser(enterpriseConfigs.getEnterpriseId(), userDetail.getGoogleUserId(),
|
||||||
|
AndroidEnterpriseUtils.convertToDeviceInstance(enterpriseInstallPolicy));
|
||||||
|
}
|
||||||
AndroidEnterpriseUtils.getAppSubscriptionService()
|
AndroidEnterpriseUtils.getAppSubscriptionService()
|
||||||
.performEntAppSubscription(uuid,
|
.performEntAppSubscription(uuid,
|
||||||
Arrays.asList(CarbonContext.getThreadLocalCarbonContext().getUsername()),
|
Arrays.asList(CarbonContext.getThreadLocalCarbonContext().getUsername()),
|
||||||
@ -698,15 +708,20 @@ public class AndroidDeviceUtils {
|
|||||||
StringEntity requestEntity = new StringEntity(payload.toString(), ContentType.APPLICATION_JSON);
|
StringEntity requestEntity = new StringEntity(payload.toString(), ContentType.APPLICATION_JSON);
|
||||||
JsonArray appListArray = appListElement.getAsJsonArray();
|
JsonArray appListArray = appListElement.getAsJsonArray();
|
||||||
for (JsonElement appElement : appListArray) {
|
for (JsonElement appElement : appListArray) {
|
||||||
uuid = appElement.getAsJsonObject().
|
JsonElement googlePolicyPayload = appElement.getAsJsonObject().
|
||||||
get(AndroidConstants.ApplicationInstall.ENROLLMENT_APP_INSTALL_UUID).getAsString();
|
get(AndroidConstants.ApplicationInstall.GOOGLE_POLICY_PAYLOAD);
|
||||||
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
|
|
||||||
HttpPost postRequest = new HttpPost(requestUrl.replace("{uuid}", uuid));
|
if (googlePolicyPayload == null || googlePolicyPayload.toString().equals("\"\"")) {
|
||||||
postRequest.setHeader(AndroidConstants.ApplicationInstall.AUTHORIZATION,
|
uuid = appElement.getAsJsonObject().
|
||||||
AndroidConstants.ApplicationInstall.AUTHORIZATION_HEADER_VALUE + tokenInfo
|
get(AndroidConstants.ApplicationInstall.ENROLLMENT_APP_INSTALL_UUID).getAsString();
|
||||||
.getAccessToken());
|
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
|
||||||
postRequest.setEntity(requestEntity);
|
HttpPost postRequest = new HttpPost(requestUrl.replace("{uuid}", uuid));
|
||||||
httpClient.execute(postRequest);
|
postRequest.setHeader(AndroidConstants.ApplicationInstall.AUTHORIZATION,
|
||||||
|
AndroidConstants.ApplicationInstall.AUTHORIZATION_HEADER_VALUE + tokenInfo
|
||||||
|
.getAccessToken());
|
||||||
|
postRequest.setEntity(requestEntity);
|
||||||
|
httpClient.execute(postRequest);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (UserStoreException e) {
|
} catch (UserStoreException e) {
|
||||||
|
|||||||
@ -44,6 +44,7 @@ import org.wso2.carbon.device.application.mgt.common.response.Application;
|
|||||||
import org.wso2.carbon.device.application.mgt.common.response.Category;
|
import org.wso2.carbon.device.application.mgt.common.response.Category;
|
||||||
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
|
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
|
||||||
import org.wso2.carbon.device.application.mgt.common.services.SubscriptionManager;
|
import org.wso2.carbon.device.application.mgt.common.services.SubscriptionManager;
|
||||||
|
import org.wso2.carbon.device.application.mgt.common.wrapper.ApplicationUpdateWrapper;
|
||||||
import org.wso2.carbon.device.application.mgt.common.wrapper.PublicAppReleaseWrapper;
|
import org.wso2.carbon.device.application.mgt.common.wrapper.PublicAppReleaseWrapper;
|
||||||
import org.wso2.carbon.device.application.mgt.common.wrapper.PublicAppWrapper;
|
import org.wso2.carbon.device.application.mgt.common.wrapper.PublicAppWrapper;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||||
@ -76,9 +77,11 @@ import java.nio.channels.Channels;
|
|||||||
import java.nio.channels.ReadableByteChannel;
|
import java.nio.channels.ReadableByteChannel;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class AndroidEnterpriseUtils {
|
public class AndroidEnterpriseUtils {
|
||||||
|
|
||||||
@ -277,85 +280,73 @@ public class AndroidEnterpriseUtils {
|
|||||||
ApplicationManager applicationManager = getAppManagerServer();
|
ApplicationManager applicationManager = getAppManagerServer();
|
||||||
List<Category> categories = applicationManager.getRegisteredCategories();
|
List<Category> categories = applicationManager.getRegisteredCategories();
|
||||||
if (productListResponse != null && productListResponse.getProduct() != null
|
if (productListResponse != null && productListResponse.getProduct() != null
|
||||||
&& productListResponse.getProduct().size() > 0) {
|
&& !productListResponse.getProduct().isEmpty()) {
|
||||||
|
|
||||||
for (Product product : productListResponse.getProduct()) {
|
List<String> packageNamesOfApps = new ArrayList<>();
|
||||||
|
for (Product product1 : productListResponse.getProduct()) {
|
||||||
|
String s = (product1.getProductId().replaceFirst("app:", ""));
|
||||||
|
packageNamesOfApps.add(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Application> existingApps = applicationManager.getApplications(packageNamesOfApps);
|
||||||
|
List<Product> products = productListResponse.getProduct();
|
||||||
|
|
||||||
|
for (Application app : existingApps){
|
||||||
|
for (Product product : products){
|
||||||
|
if (product.getProductId().replaceFirst("app:", "").equals(app.getPackageName())){
|
||||||
|
ApplicationUpdateWrapper applicationUpdateWrapper = generatePubAppUpdateWrapper(product, categories);
|
||||||
|
applicationManager.updateApplication(app.getId(), applicationUpdateWrapper);
|
||||||
|
|
||||||
|
PublicAppReleaseWrapper publicAppReleaseWrapper = new PublicAppReleaseWrapper();
|
||||||
|
if (app.getSubMethod()
|
||||||
|
.equalsIgnoreCase(AndroidConstants.ApplicationProperties.FREE_SUB_METHOD)) {
|
||||||
|
publicAppReleaseWrapper.setPrice(0.0);
|
||||||
|
} else {
|
||||||
|
publicAppReleaseWrapper.setPrice(1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
publicAppReleaseWrapper.setDescription(product.getRecentChanges());
|
||||||
|
publicAppReleaseWrapper.setReleaseType("ga");
|
||||||
|
publicAppReleaseWrapper.setVersion(getAppString(product.getAppVersion()));
|
||||||
|
publicAppReleaseWrapper
|
||||||
|
.setSupportedOsVersions(String.valueOf(product.getMinAndroidSdkVersion()) + "-ALL");
|
||||||
|
|
||||||
|
ApplicationArtifact applicationArtifact = generateArtifacts(product);
|
||||||
|
applicationManager.updatePubAppRelease(app.getApplicationReleases().get(0).getUuid(),
|
||||||
|
publicAppReleaseWrapper, applicationArtifact);
|
||||||
|
products.remove(product);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Product product : products) {
|
||||||
if (product.getAppVersion() == null) { // This is to handled removed apps from playstore
|
if (product.getAppVersion() == null) { // This is to handled removed apps from playstore
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate App wrapper
|
// Generate App wrapper
|
||||||
PublicAppWrapper publicAppWrapper = new PublicAppWrapper();
|
PublicAppWrapper publicAppWrapper = generatePubAppWrapper(product, categories);
|
||||||
PublicAppReleaseWrapper appReleaseWrapper = new PublicAppReleaseWrapper();
|
PublicAppReleaseWrapper appReleaseWrapper = new PublicAppReleaseWrapper();
|
||||||
publicAppWrapper.setName(product.getTitle());
|
|
||||||
publicAppWrapper.setDescription(product.getDescription());
|
|
||||||
publicAppWrapper.setCategories(Arrays.asList(new String[]{"GooglePlaySyncedApp"}));//Default category
|
|
||||||
for (Category category : categories) {
|
|
||||||
if (product.getCategory() == null) {
|
|
||||||
publicAppWrapper.setCategories(Arrays.asList(new String[]{"GooglePlaySyncedApp"}));
|
|
||||||
break;
|
|
||||||
} else if (product.getCategory().equalsIgnoreCase(category.getCategoryName())) {
|
|
||||||
publicAppWrapper.setCategories(Arrays.asList(new String[]{category.getCategoryName(), "GooglePlaySyncedApp"}));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (product.getProductPricing().equalsIgnoreCase("free")) {
|
|
||||||
publicAppWrapper.setSubMethod("FREE");
|
|
||||||
} else {
|
|
||||||
publicAppWrapper.setSubMethod("PAID");
|
|
||||||
}
|
|
||||||
// TODO: purchase an app from Playstore and see how to capture the real value for price field.
|
|
||||||
publicAppWrapper.setPaymentCurrency("$");
|
|
||||||
appReleaseWrapper.setPrice(1.0);
|
|
||||||
|
|
||||||
publicAppWrapper.setDeviceType(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
|
if (publicAppWrapper.getSubMethod()
|
||||||
|
.equalsIgnoreCase(AndroidConstants.ApplicationProperties.FREE_SUB_METHOD)) {
|
||||||
|
appReleaseWrapper.setPrice(0.0);
|
||||||
|
} else {
|
||||||
|
appReleaseWrapper.setPrice(1.0);
|
||||||
|
}
|
||||||
|
|
||||||
appReleaseWrapper.setDescription(product.getRecentChanges());
|
appReleaseWrapper.setDescription(product.getRecentChanges());
|
||||||
appReleaseWrapper.setReleaseType("ga");
|
appReleaseWrapper.setReleaseType("ga");
|
||||||
appReleaseWrapper.setVersion(getAppString(product.getAppVersion()));
|
appReleaseWrapper.setVersion(getAppString(product.getAppVersion()));
|
||||||
appReleaseWrapper.setPackageName(product.getProductId().replaceFirst("app:", ""));
|
appReleaseWrapper.setPackageName(product.getProductId().replaceFirst("app:", ""));
|
||||||
appReleaseWrapper.setSupportedOsVersions(String.valueOf(product.getMinAndroidSdkVersion()) + "-ALL");
|
appReleaseWrapper.setSupportedOsVersions(String.valueOf(product.getMinAndroidSdkVersion()) + "-ALL");
|
||||||
|
|
||||||
publicAppWrapper.setPublicAppReleaseWrappers(Arrays.asList(new PublicAppReleaseWrapper[]{appReleaseWrapper}));
|
publicAppWrapper.setPublicAppReleaseWrappers(
|
||||||
|
Arrays.asList(new PublicAppReleaseWrapper[] { appReleaseWrapper }));
|
||||||
|
|
||||||
// Generate artifacts
|
// Generate artifacts
|
||||||
ApplicationArtifact applicationArtifact = new ApplicationArtifact();
|
ApplicationArtifact applicationArtifact = generateArtifacts(product);
|
||||||
|
|
||||||
String iconName = product.getIconUrl().split(".com/")[1];
|
|
||||||
applicationArtifact.setIconName(iconName);
|
|
||||||
|
|
||||||
|
|
||||||
InputStream iconInputStream = getInputStream(iconName, product.getIconUrl());
|
|
||||||
applicationArtifact.setIconStream(iconInputStream);
|
|
||||||
Map<String, InputStream> screenshotMap = new HashMap<>();
|
|
||||||
|
|
||||||
int numberOfScreenShots = 3;// This is to handle some apps in playstore without 3 screenshots.
|
|
||||||
if (product.getScreenshotUrls() != null) {
|
|
||||||
if (product.getScreenshotUrls().size() < 3) {
|
|
||||||
numberOfScreenShots = product.getScreenshotUrls().size();
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int y = 1; y < 4; y++) {
|
|
||||||
int screenshotNumber = y - 1;
|
|
||||||
if (y > numberOfScreenShots) {
|
|
||||||
screenshotNumber = 0;
|
|
||||||
}
|
|
||||||
String screenshot = product.getScreenshotUrls().get(screenshotNumber);
|
|
||||||
String screenshotName = screenshot.split(".com/")[1];
|
|
||||||
InputStream screenshotInputStream = getInputStream(screenshotName, screenshot);
|
|
||||||
screenshotMap.put(screenshotName, screenshotInputStream);
|
|
||||||
}
|
|
||||||
} else { // Private apps doesn't seem to send screenshots. Handling it.
|
|
||||||
for (int a = 0; a < 3; a++) {
|
|
||||||
String screenshot = product.getIconUrl();
|
|
||||||
String screenshotName = screenshot.split(".com/")[1];
|
|
||||||
InputStream screenshotInputStream = getInputStream(screenshotName, screenshot);
|
|
||||||
screenshotMap.put(screenshotName, screenshotInputStream);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
applicationArtifact.setScreenshots(screenshotMap);
|
|
||||||
|
|
||||||
|
|
||||||
Application application = applicationManager.createPublicApp(publicAppWrapper, applicationArtifact);
|
Application application = applicationManager.createPublicApp(publicAppWrapper, applicationArtifact);
|
||||||
if (application != null && (application.getApplicationReleases().get(0).getCurrentStatus() == null
|
if (application != null && (application.getApplicationReleases().get(0).getCurrentStatus() == null
|
||||||
@ -373,6 +364,129 @@ public class AndroidEnterpriseUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To generate {@link ApplicationUpdateWrapper}
|
||||||
|
*
|
||||||
|
* @param product {@link Product}
|
||||||
|
* @param categories List of categories registered with app manager
|
||||||
|
* @return {@link ApplicationUpdateWrapper}
|
||||||
|
*/
|
||||||
|
private static ApplicationUpdateWrapper generatePubAppUpdateWrapper(Product product, List<Category> categories) {
|
||||||
|
ApplicationUpdateWrapper applicationUpdateWrapper = new ApplicationUpdateWrapper();
|
||||||
|
applicationUpdateWrapper.setName(product.getTitle());
|
||||||
|
applicationUpdateWrapper.setDescription(product.getDescription());
|
||||||
|
applicationUpdateWrapper.setCategories(
|
||||||
|
Collections.singletonList(AndroidConstants.GOOGLE_PLAY_SYNCED_APP_CATEGORY));//Default category
|
||||||
|
for (Category category : categories) {
|
||||||
|
if (product.getCategory() == null) {
|
||||||
|
List<String> pubAppCategories = new ArrayList<>();
|
||||||
|
pubAppCategories.add(AndroidConstants.GOOGLE_PLAY_SYNCED_APP_CATEGORY);
|
||||||
|
applicationUpdateWrapper.setCategories(pubAppCategories);
|
||||||
|
break;
|
||||||
|
} else if (product.getCategory().equalsIgnoreCase(category.getCategoryName())) {
|
||||||
|
List<String> pubAppCategories = new ArrayList<>();
|
||||||
|
pubAppCategories.add(category.getCategoryName());
|
||||||
|
pubAppCategories.add(AndroidConstants.GOOGLE_PLAY_SYNCED_APP_CATEGORY);
|
||||||
|
applicationUpdateWrapper.setCategories(pubAppCategories);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (product.getProductPricing().equalsIgnoreCase(AndroidConstants.ApplicationProperties.FREE_SUB_METHOD)) {
|
||||||
|
applicationUpdateWrapper.setSubMethod(AndroidConstants.ApplicationProperties.FREE_SUB_METHOD);
|
||||||
|
} else {
|
||||||
|
applicationUpdateWrapper.setSubMethod(AndroidConstants.ApplicationProperties.PAID_SUB_METHOD);
|
||||||
|
}
|
||||||
|
// TODO: purchase an app from Playstore and see how to capture the real value for price field.
|
||||||
|
applicationUpdateWrapper.setPaymentCurrency("$");
|
||||||
|
return applicationUpdateWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To generate {@link PublicAppWrapper}
|
||||||
|
*
|
||||||
|
* @param product {@link Product}
|
||||||
|
* @param categories List of categories registered with app manager
|
||||||
|
* @return {@link PublicAppWrapper}
|
||||||
|
*/
|
||||||
|
private static PublicAppWrapper generatePubAppWrapper(Product product, List<Category> categories) {
|
||||||
|
PublicAppWrapper publicAppWrapper = new PublicAppWrapper();
|
||||||
|
publicAppWrapper.setName(product.getTitle());
|
||||||
|
publicAppWrapper.setDescription(product.getDescription());
|
||||||
|
publicAppWrapper.setCategories(
|
||||||
|
Collections.singletonList(AndroidConstants.GOOGLE_PLAY_SYNCED_APP_CATEGORY));//Default category
|
||||||
|
for (Category category : categories) {
|
||||||
|
if (product.getCategory() == null) {
|
||||||
|
List<String> pubAppCategories = new ArrayList<>();
|
||||||
|
pubAppCategories.add(AndroidConstants.GOOGLE_PLAY_SYNCED_APP_CATEGORY);
|
||||||
|
publicAppWrapper.setCategories(pubAppCategories);
|
||||||
|
break;
|
||||||
|
} else if (product.getCategory().equalsIgnoreCase(category.getCategoryName())) {
|
||||||
|
List<String> pubAppCategories = new ArrayList<>();
|
||||||
|
pubAppCategories.add(category.getCategoryName());
|
||||||
|
pubAppCategories.add(AndroidConstants.GOOGLE_PLAY_SYNCED_APP_CATEGORY);
|
||||||
|
publicAppWrapper.setCategories(pubAppCategories);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (product.getProductPricing().equalsIgnoreCase(AndroidConstants.ApplicationProperties.FREE_SUB_METHOD)) {
|
||||||
|
publicAppWrapper.setSubMethod(AndroidConstants.ApplicationProperties.FREE_SUB_METHOD);
|
||||||
|
} else {
|
||||||
|
publicAppWrapper.setSubMethod(AndroidConstants.ApplicationProperties.PAID_SUB_METHOD);
|
||||||
|
}
|
||||||
|
// TODO: purchase an app from Playstore and see how to capture the real value for price field.
|
||||||
|
publicAppWrapper.setPaymentCurrency("$");
|
||||||
|
publicAppWrapper.setDeviceType(DeviceManagementConstants.MobileDeviceTypes.MOBILE_DEVICE_TYPE_ANDROID);
|
||||||
|
return publicAppWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To generate {@link ApplicationArtifact}
|
||||||
|
*
|
||||||
|
* @param product {@link Product}
|
||||||
|
* @return {@link ApplicationArtifact}
|
||||||
|
* @throws ApplicationManagementException if I/O exception occurred while generating application artifact.
|
||||||
|
*/
|
||||||
|
private static ApplicationArtifact generateArtifacts(Product product) throws ApplicationManagementException {
|
||||||
|
ApplicationArtifact applicationArtifact = new ApplicationArtifact();
|
||||||
|
try {
|
||||||
|
String iconName = product.getIconUrl().split(".com/")[1];
|
||||||
|
applicationArtifact.setIconName(iconName);
|
||||||
|
InputStream iconInputStream = getInputStream(iconName, product.getIconUrl());
|
||||||
|
applicationArtifact.setIconStream(iconInputStream);
|
||||||
|
Map<String, InputStream> screenshotMap = new HashMap<>();
|
||||||
|
|
||||||
|
int numberOfScreenShots = 3;// This is to handle some apps in playstore without 3 screenshots.
|
||||||
|
if (product.getScreenshotUrls() != null) {
|
||||||
|
if (product.getScreenshotUrls().size() < 3) {
|
||||||
|
numberOfScreenShots = product.getScreenshotUrls().size();
|
||||||
|
}
|
||||||
|
for (int y = 1; y < 4; y++) {
|
||||||
|
int screenshotNumber = y - 1;
|
||||||
|
if (y > numberOfScreenShots) {
|
||||||
|
screenshotNumber = 0;
|
||||||
|
}
|
||||||
|
String screenshot = product.getScreenshotUrls().get(screenshotNumber);
|
||||||
|
String screenshotName = screenshot.split(".com/")[1];
|
||||||
|
InputStream screenshotInputStream = getInputStream(screenshotName, screenshot);
|
||||||
|
screenshotMap.put(screenshotName, screenshotInputStream);
|
||||||
|
}
|
||||||
|
} else { // Private apps doesn't seem to send screenshots. Handling it.
|
||||||
|
for (int a = 0; a < 3; a++) {
|
||||||
|
String screenshot = product.getIconUrl();
|
||||||
|
String screenshotName = screenshot.split(".com/")[1];
|
||||||
|
InputStream screenshotInputStream = getInputStream(screenshotName, screenshot);
|
||||||
|
screenshotMap.put(screenshotName, screenshotInputStream);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
applicationArtifact.setScreenshots(screenshotMap);
|
||||||
|
return applicationArtifact;
|
||||||
|
} catch (ApplicationManagementException e) {
|
||||||
|
String msg = "Error occurred while generating Application artifact";
|
||||||
|
log.error(msg);
|
||||||
|
throw new ApplicationManagementException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static InputStream getInputStream(String filename, String url) throws ApplicationManagementException {
|
private static InputStream getInputStream(String filename, String url) throws ApplicationManagementException {
|
||||||
URL website;
|
URL website;
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>android-plugin</artifactId>
|
<artifactId>android-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,13 +23,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>android-plugin</artifactId>
|
<artifactId>android-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.mobile.android.ui</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.mobile.android.ui</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - Mobile Android UI</name>
|
<name>WSO2 Carbon - Mobile Android UI</name>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
|||||||
@ -110,7 +110,8 @@ var androidOperationModule = function () {
|
|||||||
"DISALLOW_BLUETOOTH_SHARING": "DISALLOW_BLUETOOTH_SHARING",
|
"DISALLOW_BLUETOOTH_SHARING": "DISALLOW_BLUETOOTH_SHARING",
|
||||||
"DISALLOW_REMOVE_USER": "DISALLOW_REMOVE_USER",
|
"DISALLOW_REMOVE_USER": "DISALLOW_REMOVE_USER",
|
||||||
"DISALLOW_DATA_ROAMING": "DISALLOW_DATA_ROAMING",
|
"DISALLOW_DATA_ROAMING": "DISALLOW_DATA_ROAMING",
|
||||||
"CERT_ADD_OPERATION_CODE": "INSTALL_CERT"
|
"CERT_ADD_OPERATION_CODE": "INSTALL_CERT",
|
||||||
|
"DISPLAY_MESSAGE_CONFIGURATION_OPERATION_CODE": "DISPLAY_MESSAGE_CONFIGURATION"
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -235,6 +236,8 @@ var androidOperationModule = function () {
|
|||||||
payload["kioskLogoImage"] = deviceGlobalConfigurations["kioskLogoImage"];
|
payload["kioskLogoImage"] = deviceGlobalConfigurations["kioskLogoImage"];
|
||||||
payload["kioskAppName"] = deviceGlobalConfigurations["kioskAppName"];
|
payload["kioskAppName"] = deviceGlobalConfigurations["kioskAppName"];
|
||||||
payload["isSingleModeApp"] = deviceGlobalConfigurations["isSingleModeApp"];
|
payload["isSingleModeApp"] = deviceGlobalConfigurations["isSingleModeApp"];
|
||||||
|
payload["keepDisplayAwake"] = deviceGlobalConfigurations["keepDisplayAwake"];
|
||||||
|
|
||||||
if (payload["isSingleModeApp"] === true) {
|
if (payload["isSingleModeApp"] === true) {
|
||||||
payload["isSingleModeAppBuiltForKiosk"] =
|
payload["isSingleModeAppBuiltForKiosk"] =
|
||||||
deviceGlobalConfigurations["isSingleModeAppBuiltForKiosk"];
|
deviceGlobalConfigurations["isSingleModeAppBuiltForKiosk"];
|
||||||
@ -334,6 +337,13 @@ var androidOperationModule = function () {
|
|||||||
"CERT_LIST": listNew
|
"CERT_LIST": listNew
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
|
case androidOperationConstants["DISPLAY_MESSAGE_CONFIGURATION_OPERATION_CODE"]:
|
||||||
|
payload = {
|
||||||
|
"lockScreenMessage": operationPayload["lockScreenMessage"],
|
||||||
|
"settingAppSupportMessage": operationPayload["settingAppSupportMessage"],
|
||||||
|
"disabledSettingSupportMessage": operationPayload["disabledSettingSupportMessage"]
|
||||||
|
};
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return payload;
|
return payload;
|
||||||
};
|
};
|
||||||
@ -583,6 +593,7 @@ var androidOperationModule = function () {
|
|||||||
operationData["isSingleModeAppBuiltForKiosk"];
|
operationData["isSingleModeAppBuiltForKiosk"];
|
||||||
}
|
}
|
||||||
deviceGlobalConfigurations["isIdleGraphicsEnabled"] = operationData["isIdleGraphicsEnabled"];
|
deviceGlobalConfigurations["isIdleGraphicsEnabled"] = operationData["isIdleGraphicsEnabled"];
|
||||||
|
deviceGlobalConfigurations["keepDisplayAwake"] = operationData["keepDisplayAwake"];
|
||||||
if (operationData["idleTimeout"]) {
|
if (operationData["idleTimeout"]) {
|
||||||
deviceGlobalConfigurations["idleTimeout"] = operationData["idleTimeout"];
|
deviceGlobalConfigurations["idleTimeout"] = operationData["idleTimeout"];
|
||||||
}
|
}
|
||||||
@ -719,6 +730,16 @@ var androidOperationModule = function () {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
|
case androidOperationConstants["DISPLAY_MESSAGE_CONFIGURATION_OPERATION_CODE"]:
|
||||||
|
operationType = operationTypeConstants["PROFILE"];
|
||||||
|
payload = {
|
||||||
|
"operation": {
|
||||||
|
"lockScreenMessage": operationData["lockScreenMessage"],
|
||||||
|
"settingAppSupportMessage": operationData["settingAppSupportMessage"],
|
||||||
|
"disabledSettingSupportMessage": operationData["disabledSettingSupportMessage"]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
// If the operation is neither of above, it is a command operation
|
// If the operation is neither of above, it is a command operation
|
||||||
operationType = operationTypeConstants["COMMAND"];
|
operationType = operationTypeConstants["COMMAND"];
|
||||||
@ -759,7 +780,8 @@ var androidOperationModule = function () {
|
|||||||
"BLACKLIST_APPLICATIONS": "blacklist-applications",
|
"BLACKLIST_APPLICATIONS": "blacklist-applications",
|
||||||
"PASSCODE_POLICY": "set-password-policy",
|
"PASSCODE_POLICY": "set-password-policy",
|
||||||
"ENTERPRISE_WIPE": "enterprise-wipe",
|
"ENTERPRISE_WIPE": "enterprise-wipe",
|
||||||
"WIPE_DATA": "wipe"
|
"WIPE_DATA": "wipe",
|
||||||
|
"DISPLAY_MESSAGE_CONFIGURATION": "configure-display-message"
|
||||||
};
|
};
|
||||||
return "/api/device-mgt/android/v1.0/admin/devices/" + featureMap[operationCode];
|
return "/api/device-mgt/android/v1.0/admin/devices/" + featureMap[operationCode];
|
||||||
};
|
};
|
||||||
|
|||||||
@ -198,6 +198,7 @@
|
|||||||
<option value="COPE">COPE</option>
|
<option value="COPE">COPE</option>
|
||||||
<option value="COSU">COSU</option>
|
<option value="COSU">COSU</option>
|
||||||
<option value="WORK_PROFILE">WORK_PROFILE</option>
|
<option value="WORK_PROFILE">WORK_PROFILE</option>
|
||||||
|
<option value="GOOGLE_ENTERPRISE">GOOGLE_WORK_PROFILE</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -59,7 +59,9 @@ var androidOperationConstants = {
|
|||||||
"COSU_PROFILE_CONFIGURATION_OPERATION_CODE": "COSU_PROFILE",
|
"COSU_PROFILE_CONFIGURATION_OPERATION_CODE": "COSU_PROFILE",
|
||||||
"ENROLLMENT_APP_INSTALL": "enrollment-app-install",
|
"ENROLLMENT_APP_INSTALL": "enrollment-app-install",
|
||||||
"ENROLLMENT_APP_INSTALL_CODE": "ENROLLMENT_APP_INSTALL",
|
"ENROLLMENT_APP_INSTALL_CODE": "ENROLLMENT_APP_INSTALL",
|
||||||
"CERT_ADD_OPERATION_CODE": "INSTALL_CERT"
|
"CERT_ADD_OPERATION_CODE": "INSTALL_CERT",
|
||||||
|
"DISPLAY_MESSAGE_CONFIGURATION_OPERATION": "display-message-configuration",
|
||||||
|
"DISPLAY_MESSAGE_CONFIGURATION_OPERATION_CODE": "DISPLAY_MESSAGE_CONFIGURATION"
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -662,6 +664,37 @@ var validatePolicyProfile = function () {
|
|||||||
validationStatusArray.push(validationStatus);
|
validationStatusArray.push(validationStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validating DISPLAY MESSAGE CONFIGURATION
|
||||||
|
if ($.inArray(androidOperationConstants["DISPLAY_MESSAGE_CONFIGURATION_OPERATION_CODE"], configuredOperations) != -1) {
|
||||||
|
// if DISPLAY_MESSAGE_CONFIGURATION policy is configured
|
||||||
|
operation = androidOperationConstants["DISPLAY_MESSAGE_CONFIGURATION_OPERATION"];
|
||||||
|
// initializing continueToCheckNextInputs to true
|
||||||
|
continueToCheckNextInputs = true;
|
||||||
|
|
||||||
|
var lockScreenMessage = $("textarea#lock-screen-message").val();
|
||||||
|
var settingAppMessage = $("textarea#setting-app-message").val();
|
||||||
|
var disabledSettingMessage = $("textarea#disabled-setting-message").val();
|
||||||
|
if (!lockScreenMessage && !settingAppMessage && !disabledSettingMessage) {
|
||||||
|
validationStatus = {
|
||||||
|
"error": true,
|
||||||
|
"subErrorMsg": "Please fill at-least a one field.",
|
||||||
|
"erroneousFeature": operation
|
||||||
|
};
|
||||||
|
continueToCheckNextInputs = false;
|
||||||
|
}
|
||||||
|
// at-last, if the value of continueToCheckNextInputs is still true
|
||||||
|
// this means that no error is found
|
||||||
|
if (continueToCheckNextInputs) {
|
||||||
|
validationStatus = {
|
||||||
|
"error": false,
|
||||||
|
"okFeature": operation
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// updating validationStatusArray with validationStatus
|
||||||
|
validationStatusArray.push(validationStatus);
|
||||||
|
}
|
||||||
|
|
||||||
// Validating PROXY
|
// Validating PROXY
|
||||||
if ($.inArray(androidOperationConstants["GLOBAL_PROXY_OPERATION_CODE"], configuredOperations) !== -1) {
|
if ($.inArray(androidOperationConstants["GLOBAL_PROXY_OPERATION_CODE"], configuredOperations) !== -1) {
|
||||||
// if PROXY is configured
|
// if PROXY is configured
|
||||||
|
|||||||
@ -162,6 +162,18 @@
|
|||||||
<span id="enrollment-app-install-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
|
<span id="enrollment-app-install-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
|
||||||
<span id="enrollment-app-install-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
|
<span id="enrollment-app-install-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<a href="javascript:void(0)" class="display-message-configuration" onclick="showAdvanceOperation('display-message-configuration', this)">
|
||||||
|
<span class="wr-hidden-operations-icon fw-stack">
|
||||||
|
<i class="fw fw-comment fw-stack-2x"></i>
|
||||||
|
</span>
|
||||||
|
Display Message Configuration
|
||||||
|
<span id="display-message-configuration-configured" class="has-configured status-icon hidden"><i
|
||||||
|
class="fw fw-success"></i></span>
|
||||||
|
<span id="display-message-configuration-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
|
||||||
|
<span id="display-message-configuration-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
|
||||||
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="wr-hidden-operations-content col-lg-8">
|
<div class="wr-hidden-operations-content col-lg-8">
|
||||||
@ -2240,6 +2252,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--keep display awake configuration-->
|
||||||
|
<div class="wr-input-control">
|
||||||
|
<div class="wr-input-control sub-title panel-title"
|
||||||
|
style="padding: 0px; padding-right:15px; font-size:15px;">
|
||||||
|
Keep display awake
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"
|
||||||
|
title="Keep display awake"></span>
|
||||||
|
<label class="wr-input-control checkbox">
|
||||||
|
<input id="cosu-global-config-keep-display-awake" type="checkbox"
|
||||||
|
class="form-control operationDataKeys cosu-profile-config"
|
||||||
|
data-key="keepDisplayAwake"/>
|
||||||
|
<span class="helper"></span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!--COSU profile user app configuration-->
|
<!--COSU profile user app configuration-->
|
||||||
<div id="cosu-profile-user-app-configuration" class="panel">
|
<div id="cosu-profile-user-app-configuration" class="panel">
|
||||||
<div class="wr-input-control sub-title panel-title"
|
<div class="wr-input-control sub-title panel-title"
|
||||||
@ -3329,6 +3356,78 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--/enrolment-app-install-->
|
<!--/enrolment-app-install-->
|
||||||
|
|
||||||
|
<!--Display Message Configuration-->
|
||||||
|
<div class="wr-hidden-operation" data-operation="display-message-configuration">
|
||||||
|
<div class="panel panel-default operation-data" data-operation="display-message-configuration" data-operation-code="DISPLAY_MESSAGE_CONFIGURATION">
|
||||||
|
<div id="display-message-configuration-policy-heading" class="panel-heading" role="tab">
|
||||||
|
<h2 class="sub-title panel-title">
|
||||||
|
Display Message Configuration
|
||||||
|
<label id="display-message-configuration-policy-lbl" class="wr-input-control switch" data-toggle="collapse"
|
||||||
|
data-target="#display-message-configuration-policy-body">
|
||||||
|
<input type="checkbox"/>
|
||||||
|
<span class="helper"></span>
|
||||||
|
<span class="text"></span>
|
||||||
|
</label>
|
||||||
|
</h2>
|
||||||
|
<div class="panel-title-description">
|
||||||
|
Configure these settings to manage the applications in the show message.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="display-message-configuration-policy-body" class="panel-collapse panel-body collapse" role="tabpanel"
|
||||||
|
aria-labelledby="display-message-configuration-policy-body">
|
||||||
|
<hr/>
|
||||||
|
<br>
|
||||||
|
<div id="display-message-configuration-feature-error-msg" class="alert alert-danger hidden" role="alert">
|
||||||
|
<i class="icon fw fw-error"></i><span></span>
|
||||||
|
</div>
|
||||||
|
<div class="wr-input-control">
|
||||||
|
<label class="wr-input-label" for="lock-screen-message-policy-enable-system-apps">
|
||||||
|
Lock Screen Message
|
||||||
|
<span class="helper"
|
||||||
|
title="The message that needs to show on the lock-screen.">
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
</label>
|
||||||
|
<br>
|
||||||
|
<a id="policy-listing-status-msg"> Below lock screen message is valid only when the Agent is the
|
||||||
|
<b>device owner</b>.</a>
|
||||||
|
<br>
|
||||||
|
<textarea id="lock-screen-message" type="text"
|
||||||
|
class="form-control operationDataKeys" rows="4"
|
||||||
|
data-key="lockScreenMessage"></textarea>
|
||||||
|
<br><br>
|
||||||
|
<label class="wr-input-label" for="setting-app-support-message-policy-enable-system-apps">
|
||||||
|
Setting App Support Message
|
||||||
|
<span class="helper"
|
||||||
|
title="The message that needs to show on the device administrators apps.">
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
</label>
|
||||||
|
<textarea id="setting-app-message" type="text"
|
||||||
|
class="form-control operationDataKeys" rows="4"
|
||||||
|
data-key="settingAppSupportMessage"></textarea>
|
||||||
|
<br><br>
|
||||||
|
<label class="wr-input-label" for="disabled-setting-app-support-message-policy-enable-system-apps">
|
||||||
|
Disabled Setting Support Message
|
||||||
|
<span class="helper"
|
||||||
|
title="The message that needs to show on the screens where funtionality has been disabled by the admin.Max length is 200">
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
</label>
|
||||||
|
<textarea id="disabled-setting-message" type="text"
|
||||||
|
class="form-control operationDataKeys" rows="4"
|
||||||
|
data-key="disabledSettingSupportMessage"
|
||||||
|
maxlength="200"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--/Display Message Configuration-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">applyDataTable();</script>
|
<script type="text/javascript">applyDataTable();</script>
|
||||||
</div>
|
</div>
|
||||||
@ -144,6 +144,18 @@
|
|||||||
<span id="enrollment-app-install-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
|
<span id="enrollment-app-install-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
|
||||||
<span id="enrollment-app-install-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
|
<span id="enrollment-app-install-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<a href="javascript:void(0)" class="display-message-configuration" onclick="showAdvanceOperation('display-message-configuration', this)">
|
||||||
|
<span class="wr-hidden-operations-icon fw-stack">
|
||||||
|
<i class="fw fw-comment fw-stack-2x"></i>
|
||||||
|
</span>
|
||||||
|
Display Message Configuration
|
||||||
|
<span id="display-message-configuration-configured" class="has-configured status-icon hidden"><i
|
||||||
|
class="fw fw-success"></i></span>
|
||||||
|
<span id="display-message-configuration-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
|
||||||
|
<span id="display-message-configuration-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
|
||||||
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="wr-hidden-operations-content col-lg-8">
|
<div class="wr-hidden-operations-content col-lg-8">
|
||||||
<!-- passcode-policy -->
|
<!-- passcode-policy -->
|
||||||
@ -1689,6 +1701,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--keep display awake configuration-->
|
||||||
|
<div class="wr-input-control">
|
||||||
|
<div class="wr-input-control sub-title panel-title"
|
||||||
|
style="padding: 0px; padding-right:15px; font-size:15px;">
|
||||||
|
Keep display awake
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"
|
||||||
|
title="Keep display awake"></span>
|
||||||
|
<label class="wr-input-control checkbox">
|
||||||
|
<input id="cosu-global-config-keep-display-awake" type="checkbox"
|
||||||
|
class="form-control operationDataKeys cosu-profile-config"
|
||||||
|
data-key="keepDisplayAwake"/>
|
||||||
|
<span class="helper"></span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!--COSU profile user app configuration-->
|
<!--COSU profile user app configuration-->
|
||||||
<div id="cosu-profile-user-app-configuration" class="panel">
|
<div id="cosu-profile-user-app-configuration" class="panel">
|
||||||
<div class="wr-input-control sub-title panel-title"
|
<div class="wr-input-control sub-title panel-title"
|
||||||
@ -3246,6 +3273,74 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--/enrolment-app-install-->
|
<!--/enrolment-app-install-->
|
||||||
|
|
||||||
|
<!--Display Message Configuration-->
|
||||||
|
<div class="wr-hidden-operation" data-operation="display-message-configuration">
|
||||||
|
<div class="panel panel-default operation-data" data-operation="display-message-configuration" data-operation-code="DISPLAY_MESSAGE_CONFIGURATION">
|
||||||
|
<div id="display-message-configuration-policy-heading" class="panel-heading" role="tab">
|
||||||
|
<h2 class="sub-title panel-title">
|
||||||
|
Display Message Configuration
|
||||||
|
<label id="display-message-configuration-policy-lbl" class="wr-input-control switch hidden" data-toggle="collapse"
|
||||||
|
data-target="#display-message-configuration-policy-body">
|
||||||
|
<input type="checkbox"/>
|
||||||
|
<span class="helper"></span>
|
||||||
|
<span class="text"></span>
|
||||||
|
</label>
|
||||||
|
</h2>
|
||||||
|
<div class="panel-title-description">
|
||||||
|
Configure these settings to manage the applications in the show message.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="display-message-configuration-policy-body" class="panel-collapse panel-body collapse" role="tabpanel"
|
||||||
|
aria-labelledby="display-message-configuration-policy-body">
|
||||||
|
<hr/>
|
||||||
|
<div class="wr-input-control">
|
||||||
|
<label class="wr-input-label" for="lock-screen-message-policy-enable-system-apps">
|
||||||
|
Lock Screen Message
|
||||||
|
<span class="helper"
|
||||||
|
title="The message that needs to show on the lock-screen.">
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
</label>
|
||||||
|
<br>
|
||||||
|
<a id="policy-listing-status-msg"> Below lock screen message is valid only when the Agent is the
|
||||||
|
<b>device owner</b>.</a>
|
||||||
|
<br>
|
||||||
|
<textarea id="lock-screen-message" type="text"
|
||||||
|
class="form-control operationDataKeys" rows="4"
|
||||||
|
data-key="lockScreenMessage" disabled></textarea>
|
||||||
|
<br><br>
|
||||||
|
<label class="wr-input-label" for="setting-app-support-message-policy-enable-system-apps">
|
||||||
|
Setting App Support Message
|
||||||
|
<span class="helper"
|
||||||
|
title="The message that needs to show on the device administrators apps.">
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
</label>
|
||||||
|
<textarea id="setting-app-message" type="text"
|
||||||
|
class="form-control operationDataKeys" rows="4"
|
||||||
|
data-key="settingAppSupportMessage" disabled></textarea>
|
||||||
|
<br><br>
|
||||||
|
<label class="wr-input-label" for="disabled-setting-app-support-message-policy-enable-system-apps">
|
||||||
|
Disabled Setting Support Message
|
||||||
|
<span class="helper"
|
||||||
|
title="The message that needs to show on the screens where funtionality has been disabled by the admin.Max length is 200">
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
</label>
|
||||||
|
<textarea id="disabled-setting-message" type="text"
|
||||||
|
class="form-control operationDataKeys" rows="4"
|
||||||
|
data-key="disabledSettingSupportMessage"
|
||||||
|
maxlength="200" disabled></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--/Display Message Configuration-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">applyDataTable();</script>
|
<script type="text/javascript">applyDataTable();</script>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -56,7 +56,9 @@ var androidOperationConstants = {
|
|||||||
"COSU_PROFILE_CONFIGURATION_OPERATION_CODE": "COSU_PROFILE",
|
"COSU_PROFILE_CONFIGURATION_OPERATION_CODE": "COSU_PROFILE",
|
||||||
"ENROLLMENT_APP_INSTALL": "enrollment-app-install",
|
"ENROLLMENT_APP_INSTALL": "enrollment-app-install",
|
||||||
"ENROLLMENT_APP_INSTALL_CODE": "ENROLLMENT_APP_INSTALL",
|
"ENROLLMENT_APP_INSTALL_CODE": "ENROLLMENT_APP_INSTALL",
|
||||||
"CERTIFICATE_INSTALL": "INSTALL_CERT"
|
"CERTIFICATE_INSTALL": "INSTALL_CERT",
|
||||||
|
"DISPLAY_MESSAGE_CONFIGURATION_OPERATION": "display-message-configuration",
|
||||||
|
"DISPLAY_MESSAGE_CONFIGURATION_OPERATION_CODE": "DISPLAY_MESSAGE_CONFIGURATION"
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -593,6 +595,36 @@ var validatePolicyProfile = function () {
|
|||||||
// updating validationStatusArray with validationStatus
|
// updating validationStatusArray with validationStatus
|
||||||
validationStatusArray.push(validationStatus);
|
validationStatusArray.push(validationStatus);
|
||||||
}
|
}
|
||||||
|
// Validating DISPLAY MESSAGE CONFIGURATION
|
||||||
|
if ($.inArray(androidOperationConstants["DISPLAY_MESSAGE_CONFIGURATION_OPERATION_CODE"], configuredOperations) !== -1) {
|
||||||
|
// if DISPLAY_MESSAGE_CONFIGURATION policy is configured
|
||||||
|
operation = androidOperationConstants["DISPLAY_MESSAGE_CONFIGURATION_OPERATION"];
|
||||||
|
// initializing continueToCheckNextInputs to true
|
||||||
|
continueToCheckNextInputs = true;
|
||||||
|
|
||||||
|
var lockScreenMessage = $("textarea#lock-screen-message").val();
|
||||||
|
var settingAppMessage = $("textarea#setting-app-message").val();
|
||||||
|
var disabledSettingMessage = $("textarea#disabled-setting-message").val();
|
||||||
|
if (!lockScreenMessage && !settingAppMessage && !disabledSettingMessage) {
|
||||||
|
validationStatus = {
|
||||||
|
"error": true,
|
||||||
|
"subErrorMsg": "Please fill at-least a one field.",
|
||||||
|
"erroneousFeature": operation
|
||||||
|
};
|
||||||
|
continueToCheckNextInputs = false;
|
||||||
|
}
|
||||||
|
// at-last, if the value of continueToCheckNextInputs is still true
|
||||||
|
// this means that no error is found
|
||||||
|
if (continueToCheckNextInputs) {
|
||||||
|
validationStatus = {
|
||||||
|
"error": false,
|
||||||
|
"okFeature": operation
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// updating validationStatusArray with validationStatus
|
||||||
|
validationStatusArray.push(validationStatus);
|
||||||
|
}
|
||||||
|
|
||||||
// Validating PROXY
|
// Validating PROXY
|
||||||
if ($.inArray(androidOperationConstants["GLOBAL_PROXY_OPERATION_CODE"], configuredOperations) !== -1) {
|
if ($.inArray(androidOperationConstants["GLOBAL_PROXY_OPERATION_CODE"], configuredOperations) !== -1) {
|
||||||
@ -600,7 +632,6 @@ var validatePolicyProfile = function () {
|
|||||||
operation = androidOperationConstants["GLOBAL_PROXY_OPERATION"];
|
operation = androidOperationConstants["GLOBAL_PROXY_OPERATION"];
|
||||||
// initializing continueToCheckNextInputs to true
|
// initializing continueToCheckNextInputs to true
|
||||||
continueToCheckNextInputs = true;
|
continueToCheckNextInputs = true;
|
||||||
|
|
||||||
if ($("input#manual-proxy-configuration-radio-button").is(":checked")) {
|
if ($("input#manual-proxy-configuration-radio-button").is(":checked")) {
|
||||||
var proxyHost = $("input#proxy-host").val();
|
var proxyHost = $("input#proxy-host").val();
|
||||||
var proxyPort = $("input#proxy-port").val();
|
var proxyPort = $("input#proxy-port").val();
|
||||||
|
|||||||
@ -170,6 +170,18 @@
|
|||||||
<span id="enrollment-app-install-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
|
<span id="enrollment-app-install-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
|
||||||
<span id="enrollment-app-install-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
|
<span id="enrollment-app-install-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<a href="javascript:void(0)" class="display-message-configuration" onclick="showAdvanceOperation('display-message-configuration', this)">
|
||||||
|
<span class="wr-hidden-operations-icon fw-stack">
|
||||||
|
<i class="fw fw-comment fw-stack-2x"></i>
|
||||||
|
</span>
|
||||||
|
Display Message Configuration
|
||||||
|
<span id="display-message-configuration-configured" class="has-configured status-icon hidden"><i
|
||||||
|
class="fw fw-success"></i></span>
|
||||||
|
<span id="display-message-configuration-ok" class="has-success status-icon hidden"><i class="fw fw-success"></i></span>
|
||||||
|
<span id="display-message-configuration-error" class="has-error status-icon hidden"><i class="fw fw-error"></i></span>
|
||||||
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="wr-hidden-operations-content col-lg-8">
|
<div class="wr-hidden-operations-content col-lg-8">
|
||||||
@ -1809,6 +1821,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!--keep display awake configuration-->
|
||||||
|
<div class="wr-input-control">
|
||||||
|
<div class="wr-input-control sub-title panel-title"
|
||||||
|
style="padding: 0px; padding-right:15px; font-size:15px;">
|
||||||
|
Keep display awake
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"
|
||||||
|
title="Keep display awake"></span>
|
||||||
|
<label class="wr-input-control checkbox">
|
||||||
|
<input id="cosu-global-config-keep-display-awake" type="checkbox"
|
||||||
|
class="form-control operationDataKeys cosu-profile-config"
|
||||||
|
data-key="keepDisplayAwake" checked="checked"/>
|
||||||
|
<span class="helper"></span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!--COSU profile user app configuration-->
|
<!--COSU profile user app configuration-->
|
||||||
<div id="cosu-profile-user-app-configuration" class="panel">
|
<div id="cosu-profile-user-app-configuration" class="panel">
|
||||||
<div class="wr-input-control sub-title panel-title"
|
<div class="wr-input-control sub-title panel-title"
|
||||||
@ -3346,6 +3373,77 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--/enrolment-app-install-->
|
<!--/enrolment-app-install-->
|
||||||
|
|
||||||
|
<!--Display Message Configuration-->
|
||||||
|
<div class="wr-hidden-operation" data-operation="display-message-configuration">
|
||||||
|
<div class="panel panel-default operation-data" data-operation="display-message-configuration" data-operation-code="DISPLAY_MESSAGE_CONFIGURATION">
|
||||||
|
<div id="display-message-configuration-policy-heading" class="panel-heading" role="tab">
|
||||||
|
<h2 class="sub-title panel-title">
|
||||||
|
Display Message Configuration
|
||||||
|
<label id="display-message-configuration-policy-lbl" class="wr-input-control switch" data-toggle="collapse"
|
||||||
|
data-target="#display-message-configuration-policy-body">
|
||||||
|
<input type="checkbox"/>
|
||||||
|
<span class="helper"></span>
|
||||||
|
<span class="text"></span>
|
||||||
|
</label>
|
||||||
|
</h2>
|
||||||
|
<div class="panel-title-description">
|
||||||
|
Configure these settings to manage the applications in the show message.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="display-message-configuration-policy-body" class="panel-collapse panel-body collapse" role="tabpanel"
|
||||||
|
aria-labelledby="display-message-configuration-policy-body">
|
||||||
|
<hr/>
|
||||||
|
<br>
|
||||||
|
<div id="display-message-configuration-feature-error-msg" class="alert alert-danger hidden" role="alert">
|
||||||
|
<i class="icon fw fw-error"></i><span></span>
|
||||||
|
</div>
|
||||||
|
<div class="wr-input-control">
|
||||||
|
<label class="wr-input-label" for="lock-screen-message">
|
||||||
|
Lock Screen Message
|
||||||
|
<span class="helper"
|
||||||
|
title="The message that needs to show on the lock-screen.">
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
</label>
|
||||||
|
<br>
|
||||||
|
<a id="policy-listing-status-msg"> Below lock screen message is valid only when the Agent is the
|
||||||
|
<b>device owner</b>.</a>
|
||||||
|
<br>
|
||||||
|
<textarea id="lock-screen-message" type="text"
|
||||||
|
class="form-control operationDataKeys" rows="4"
|
||||||
|
data-key="lockScreenMessage"></textarea>
|
||||||
|
<br><br>
|
||||||
|
<label class="wr-input-label" for="setting-app-message">
|
||||||
|
Setting App Support Message
|
||||||
|
<span class="helper"
|
||||||
|
title="The message that needs to show on the device administrators apps.">
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
</label>
|
||||||
|
<textarea id="setting-app-message" type="text"
|
||||||
|
class="form-control operationDataKeys" rows="4"
|
||||||
|
data-key="settingAppSupportMessage"></textarea>
|
||||||
|
<br><br>
|
||||||
|
<label class="wr-input-label" for="disabled-setting-message">
|
||||||
|
Disabled Setting Support Message
|
||||||
|
<span class="helper"
|
||||||
|
title="The message that needs to show on the screens where funtionality has been disabled by the admin.Max length is 200">
|
||||||
|
<span class="wr-help-tip glyphicon glyphicon-question-sign"></span>
|
||||||
|
</span>
|
||||||
|
<br>
|
||||||
|
</label>
|
||||||
|
<textarea id="disabled-setting-message" type="text"
|
||||||
|
class="form-control operationDataKeys" rows="4"
|
||||||
|
data-key="disabledSettingSupportMessage"
|
||||||
|
maxlength="200"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--/Display Message Configuration-->
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">applyDataTable();</script>
|
<script type="text/javascript">applyDataTable();</script>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -114,6 +114,8 @@
|
|||||||
<option value="COPE">COPE</option>
|
<option value="COPE">COPE</option>
|
||||||
<option value="COSU">COSU (KIOSK)</option>
|
<option value="COSU">COSU (KIOSK)</option>
|
||||||
<option value="WORK_PROFILE">WORK PROFILE</option>
|
<option value="WORK_PROFILE">WORK PROFILE</option>
|
||||||
|
<option value="GOOGLE_ENTERPRISE">GOOGLE_WORK_PROFILE</option>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center" id="android-qr-code">
|
<div class="text-center" id="android-qr-code">
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>android-plugin</artifactId>
|
<artifactId>android-plugin</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -39,4 +39,7 @@ public interface AndroidPluginService {
|
|||||||
boolean updateMobileDevice(AndroidEnterpriseManagedConfig managedConfig) throws EnterpriseServiceException;
|
boolean updateMobileDevice(AndroidEnterpriseManagedConfig managedConfig) throws EnterpriseServiceException;
|
||||||
|
|
||||||
boolean deleteMobileDevice(String id) throws EnterpriseServiceException;
|
boolean deleteMobileDevice(String id) throws EnterpriseServiceException;
|
||||||
|
|
||||||
|
List<AndroidEnterpriseUser> getAllEnterpriseDevices(String enterpriseId)
|
||||||
|
throws EnterpriseServiceException ;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,151 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
|
||||||
*
|
|
||||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
|
||||||
* in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing,
|
|
||||||
* software distributed under the License is distributed on an
|
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
* KIND, either express or implied. See the License for the
|
|
||||||
* specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*
|
|
||||||
* Copyright (c) 2019, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Entgra (Pvt) Ltd. licenses this file to you under the Apache License,
|
|
||||||
* Version 2.0 (the "License"); you may not use this file except
|
|
||||||
* in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing,
|
|
||||||
* software distributed under the License is distributed on an
|
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
* KIND, either express or implied. See the License for the
|
|
||||||
* specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.wso2.carbon.device.mgt.mobile.android.impl;
|
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManager;
|
|
||||||
import org.wso2.carbon.device.mgt.common.OperationMonitoringTaskConfig;
|
|
||||||
import org.wso2.carbon.device.mgt.common.ProvisioningConfig;
|
|
||||||
import org.wso2.carbon.device.mgt.common.InitialOperationConfig;
|
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceStatusTaskPluginConfig;
|
|
||||||
import org.wso2.carbon.device.mgt.common.StartupOperationConfig;
|
|
||||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManager;
|
|
||||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
|
|
||||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
|
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
|
||||||
import org.wso2.carbon.device.mgt.common.general.GeneralConfig;
|
|
||||||
import org.wso2.carbon.device.mgt.common.policy.mgt.PolicyMonitoringManager;
|
|
||||||
import org.wso2.carbon.device.mgt.common.pull.notification.PullNotificationSubscriber;
|
|
||||||
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.DeviceTypePlatformDetails;
|
|
||||||
import org.wso2.carbon.device.mgt.mobile.android.impl.util.AndroidPluginConstants;
|
|
||||||
import org.wso2.carbon.device.mgt.mobile.android.internal.AndroidDeviceManagementDataHolder;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This represents the Android implementation of DeviceManagerService.
|
|
||||||
*/
|
|
||||||
public class AndroidDeviceManagementService implements DeviceManagementService {
|
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(AndroidDeviceManagementService.class);
|
|
||||||
private DeviceManager deviceManager;
|
|
||||||
public static final String DEVICE_TYPE_ANDROID = "android";
|
|
||||||
private static final String SUPER_TENANT_DOMAIN = "carbon.super";
|
|
||||||
private static final String NOTIFIER_PROPERTY = "notifierType";
|
|
||||||
private static final String FCM_API_KEY = "fcmAPIKey";
|
|
||||||
private static final String FCM_SENDER_ID = "fcmSenderId";
|
|
||||||
private PolicyMonitoringManager policyMonitoringManager;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getType() {
|
|
||||||
return AndroidDeviceManagementService.DEVICE_TYPE_ANDROID;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public OperationMonitoringTaskConfig getOperationMonitoringConfig() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void init() throws DeviceManagementException {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DeviceManager getDeviceManager() {
|
|
||||||
return deviceManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ApplicationManager getApplicationManager() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ProvisioningConfig getProvisioningConfig() {
|
|
||||||
return new ProvisioningConfig(SUPER_TENANT_DOMAIN, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PushNotificationConfig getPushNotificationConfig() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PolicyMonitoringManager getPolicyMonitoringManager() {
|
|
||||||
return policyMonitoringManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public InitialOperationConfig getInitialOperationConfig() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public StartupOperationConfig getStartupOperationConfig() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PullNotificationSubscriber getPullNotificationSubscriber() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DeviceStatusTaskPluginConfig getDeviceStatusTaskPluginConfig() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public GeneralConfig getGeneralConfig() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DeviceTypePlatformDetails getDeviceTypePlatformDetails() { return null; }
|
|
||||||
|
|
||||||
private String getConfigProperty(List<ConfigurationEntry> configs, String propertyName) {
|
|
||||||
for (ConfigurationEntry entry : configs) {
|
|
||||||
if (propertyName.equals(entry.getName())) {
|
|
||||||
return entry.getValue().toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -215,4 +215,29 @@ public class AndroidPluginServiceImpl implements AndroidPluginService {
|
|||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<AndroidEnterpriseUser> getAllEnterpriseDevices(String enterpriseId)
|
||||||
|
throws EnterpriseServiceException {
|
||||||
|
|
||||||
|
List<AndroidEnterpriseUser> androidEnterpriseUsers;
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Calling get enterprise device service by enterprise identifier: " + enterpriseId);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
AndroidDAOFactory.openConnection();
|
||||||
|
androidEnterpriseUsers = this.enterpriseDAO.getAllEnterpriseDevices(CarbonContext
|
||||||
|
.getThreadLocalCarbonContext()
|
||||||
|
.getTenantId(), enterpriseId);
|
||||||
|
|
||||||
|
} catch (EnterpriseManagementDAOException e) {
|
||||||
|
String msg = "Error occurred while adding the user "
|
||||||
|
+ CarbonContext.getThreadLocalCarbonContext().getUsername();
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new EnterpriseServiceException(msg, e);
|
||||||
|
} finally {
|
||||||
|
AndroidDAOFactory.closeConnection();
|
||||||
|
}
|
||||||
|
return androidEnterpriseUsers;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,4 +49,7 @@ public interface EnterpriseDAO {
|
|||||||
boolean updateConfig(AndroidEnterpriseManagedConfig managedConfig) throws EnterpriseManagementDAOException;
|
boolean updateConfig(AndroidEnterpriseManagedConfig managedConfig) throws EnterpriseManagementDAOException;
|
||||||
|
|
||||||
boolean deleteConfig(String id, int tenantId) throws EnterpriseManagementDAOException;
|
boolean deleteConfig(String id, int tenantId) throws EnterpriseManagementDAOException;
|
||||||
|
|
||||||
|
List<AndroidEnterpriseUser> getAllEnterpriseDevices(int tenantId, String enterpriseId) throws
|
||||||
|
EnterpriseManagementDAOException;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -291,4 +291,44 @@ public class EnterpriseDAOImpl implements EnterpriseDAO {
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<AndroidEnterpriseUser> getAllEnterpriseDevices(int tenantId, String enterpriseId)
|
||||||
|
throws EnterpriseManagementDAOException {
|
||||||
|
Connection conn;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
List<AndroidEnterpriseUser> enterpriseUsers = new ArrayList<>();
|
||||||
|
ResultSet rs = null;
|
||||||
|
try {
|
||||||
|
conn = AndroidDAOFactory.getConnection();
|
||||||
|
String selectDBQuery =
|
||||||
|
"SELECT * FROM AD_ENTERPRISE_USER_DEVICE WHERE ENTERPRISE_ID = ? AND TENANT_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
|
stmt.setString(1, enterpriseId);
|
||||||
|
stmt.setInt(2, tenantId);
|
||||||
|
|
||||||
|
rs = stmt.executeQuery();
|
||||||
|
|
||||||
|
while (rs.next()) {
|
||||||
|
AndroidEnterpriseUser enterpriseUser = new AndroidEnterpriseUser();
|
||||||
|
enterpriseUser.setEmmUsername(rs.getString("EMM_USERNAME"));
|
||||||
|
enterpriseUser.setTenantId(rs.getInt("TENANT_ID"));
|
||||||
|
enterpriseUser.setLastUpdatedTime(rs.getString("LAST_UPDATED_TIMESTAMP"));
|
||||||
|
enterpriseUser.setAndroidPlayDeviceId(rs.getString("ANDROID_PLAY_DEVICE_ID"));
|
||||||
|
enterpriseUser.setEnterpriseId(rs.getString("ENTERPRISE_ID"));
|
||||||
|
enterpriseUser.setGoogleUserId(rs.getString("GOOGLE_USER_ID"));
|
||||||
|
enterpriseUser.setEmmDeviceId(rs.getString("EMM_DEVICE_ID"));
|
||||||
|
enterpriseUsers.add(enterpriseUser);
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching user of enterprise: '" + enterpriseId + "'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new EnterpriseManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(stmt, rs);
|
||||||
|
AndroidDAOFactory.closeConnection();
|
||||||
|
}
|
||||||
|
|
||||||
|
return enterpriseUsers;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>mobile-plugins</artifactId>
|
<artifactId>mobile-plugins</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>analytics-feature</artifactId>
|
<artifactId>analytics-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,13 +23,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>analytics-feature</artifactId>
|
<artifactId>analytics-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.iot.analytics.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.iot.analytics.feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - IoT Server Analytics Feature</name>
|
<name>WSO2 Carbon - IoT Server Analytics Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -23,13 +23,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>analytics-feature</artifactId>
|
<artifactId>analytics-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.iot.device.statistics.dashboard.feature</artifactId>
|
<artifactId>org.wso2.carbon.iot.device.statistics.dashboard.feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - IoT Server Analytics Feature</name>
|
<name>WSO2 Carbon - IoT Server Analytics Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>analytics-feature</artifactId>
|
<artifactId>analytics-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,13 +23,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>androidsense-plugin-feature</artifactId>
|
<artifactId>androidsense-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.iot.androidsense.analytics.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.iot.androidsense.analytics.feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - IoT Server Android Sense Analytics Feature</name>
|
<name>WSO2 Carbon - IoT Server Android Sense Analytics Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -23,13 +23,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>androidsense-plugin-feature</artifactId>
|
<artifactId>androidsense-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.iot.androidsense.backend.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.iot.androidsense.backend.feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - IoT Server Android Sense Backend Feature</name>
|
<name>WSO2 Carbon - IoT Server Android Sense Backend Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -23,13 +23,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>androidsense-plugin-feature</artifactId>
|
<artifactId>androidsense-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.iot.androidsense.ui.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.iot.androidsense.ui.feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - IoT Server Android Sense UI Feature</name>
|
<name>WSO2 Carbon - IoT Server Android Sense UI Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>device-types-feature</artifactId>
|
<artifactId>device-types-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>arduino-plugin-feature</artifactId>
|
<artifactId>arduino-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>arduino-plugin-feature</artifactId>
|
<artifactId>arduino-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>arduino-plugin-feature</artifactId>
|
<artifactId>arduino-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>device-types-feature</artifactId>
|
<artifactId>device-types-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
<artifactId>carbon-device-mgt-plugins-parent</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>device-types-feature</artifactId>
|
<artifactId>device-types-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Device Management IoT Plugins Feature</name>
|
<name>WSO2 Carbon - Device Management IoT Plugins Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>raspberrypi-plugin-feature</artifactId>
|
<artifactId>raspberrypi-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>raspberrypi-plugin-feature</artifactId>
|
<artifactId>raspberrypi-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>raspberrypi-plugin-feature</artifactId>
|
<artifactId>raspberrypi-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>device-types-feature</artifactId>
|
<artifactId>device-types-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>virtual-fire-alarm-plugin-feature</artifactId>
|
<artifactId>virtual-fire-alarm-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>virtual-fire-alarm-plugin-feature</artifactId>
|
<artifactId>virtual-fire-alarm-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>virtual-fire-alarm-plugin-feature</artifactId>
|
<artifactId>virtual-fire-alarm-plugin-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>device-types-feature</artifactId>
|
<artifactId>device-types-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
<groupId>org.wso2.carbon.devicemgt-plugins</groupId>
|
||||||
<artifactId>extensions-feature</artifactId>
|
<artifactId>extensions-feature</artifactId>
|
||||||
<version>5.0.5-SNAPSHOT</version>
|
<version>5.0.6-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user