Sync apim420 branch with master branch

apim420
commit 2bf0f84e8a

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -23,7 +23,7 @@
<parent>
<artifactId>virtual-fire-alarm-plugin</artifactId>
<groupId>io.entgra.device.mgt.plugins</groupId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -21,7 +21,7 @@
<parent>
<artifactId>virtual-fire-alarm-plugin</artifactId>
<groupId>io.entgra.device.mgt.plugins</groupId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -53,7 +53,7 @@ import javax.ws.rs.core.Response;
@Scope(
name = "Enroll device",
description = "",
key = "perm:firealarm:enroll",
key = "dm:firealarm:enroll",
permissions = {"/device-mgt/devices/enroll/firealarm"},
roles = {"Internal/devicemgt-user"}
)
@ -83,7 +83,7 @@ public interface VirtualFireAlarmService {
tags = "virtual_firealarm",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = SCOPE, value = "perm:firealarm:enroll")
@ExtensionProperty(name = SCOPE, value = "dm:firealarm:enroll")
})
}
)
@ -104,7 +104,7 @@ public interface VirtualFireAlarmService {
tags = "virtual_firealarm",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = SCOPE, value = "perm:firealarm:enroll")
@ExtensionProperty(name = SCOPE, value = "dm:firealarm:enroll")
})
}
)
@ -125,7 +125,7 @@ public interface VirtualFireAlarmService {
tags = "virtual_firealarm",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = SCOPE, value = "perm:firealarm:enroll")
@ExtensionProperty(name = SCOPE, value = "dm:firealarm:enroll")
})
}
)

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>device-types</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -20,7 +20,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -20,7 +20,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -62,7 +62,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
private static final String APPLICATION_NAME = "websocket-app";
private static final String PASSWORD_GRANT_TYPE = "password";
private static final String REFRESH_GRANT_TYPE = "refresh_token";
private static final String REQUIRED_SCOPE = "perm:authorization:verify";
private static final String REQUIRED_SCOPE = "dm:authorization:verify";
private ApiApplicationRegistrationService apiApplicationRegistrationService;
private TokenIssuerService tokenIssuerService;

@ -20,7 +20,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -21,7 +21,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -20,7 +20,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -20,7 +20,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -20,7 +20,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -94,12 +94,18 @@ public class MQTTEventAdapterFactory extends OutputEventAdapterFactory {
qos.setOptions(new String[]{"0", "1", "2"});
qos.setDefaultValue("2");
// set topic
Property topicProperty = new Property(MQTTEventAdapterConstants.ADAPTER_MESSAGE_TOPIC);
topicProperty.setDisplayName(resourceBundle.getString(MQTTEventAdapterConstants.ADAPTER_MESSAGE_TOPIC));
topicProperty.setRequired(false);
staticPropertyList.add(brokerUrl);
staticPropertyList.add(userName);
staticPropertyList.add(scopes);
staticPropertyList.add(clearSession);
staticPropertyList.add(qos);
staticPropertyList.add(password);
staticPropertyList.add(topicProperty);
return staticPropertyList;
}

@ -17,37 +17,28 @@
*/
package io.entgra.device.mgt.plugins.output.adapter.mqtt.util;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.DCRResponse;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenRequest;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenResponse;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.exception.BadRequestException;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.exception.KeyMgtException;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtService;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtServiceImpl;
import io.entgra.device.mgt.core.identity.jwt.client.extension.exception.JWTClientException;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.ssl.Base64;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.message.BasicHeader;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.DCRResponse;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenRequest;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.TokenResponse;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.exception.BadRequestException;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.exception.KeyMgtException;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtService;
import io.entgra.device.mgt.core.apimgt.keymgt.extension.service.KeyMgtServiceImpl;
import org.jetbrains.annotations.NotNull;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.event.output.adapter.core.exception.ConnectionUnavailableException;
import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterException;
import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterRuntimeException;
import io.entgra.device.mgt.core.identity.jwt.client.extension.dto.AccessTokenInfo;
import io.entgra.device.mgt.core.identity.jwt.client.extension.exception.JWTClientException;
import io.entgra.device.mgt.core.identity.jwt.client.extension.service.JWTClientManagerService;
import org.wso2.carbon.user.api.UserStoreException;
/**
@ -153,6 +144,8 @@ public class MQTTAdapterPublisher {
String dcrUrlString = this.mqttBrokerConnectionConfiguration.getDcrUrl();
if (dcrUrlString != null && !dcrUrlString.isEmpty()) {
PrivilegedCarbonContext.startTenantFlow();
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(tenantDomain, true);
try {
KeyMgtService keyMgtService = new KeyMgtServiceImpl();
String applicationName = MQTTEventAdapterConstants.APPLICATION_NAME_PREFIX
@ -170,6 +163,8 @@ public class MQTTAdapterPublisher {
} catch (KeyMgtException e) {
log.error("Failed to create an application.", e);
throw new OutputEventAdapterRuntimeException("Failed to create an application.", e);
} finally {
PrivilegedCarbonContext.endTenantFlow();
}
}
throw new OutputEventAdapterRuntimeException("Invalid configuration for mqtt publisher");
@ -177,27 +172,33 @@ public class MQTTAdapterPublisher {
private String getToken(String clientId, String clientSecret)
throws UserStoreException, JWTClientException {
PrivilegedCarbonContext.startTenantFlow();
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(tenantDomain, true);
try {
String scopes = mqttBrokerConnectionConfiguration.getScopes();
scopes += " perm:topic:pub:" + tenantDomain + ":+:+:operation";
TokenRequest tokenRequest = new TokenRequest(clientId, clientSecret,
null, scopes.toString(), "client_credentials", null,
null, null, null, Integer.MAX_VALUE);
TokenRequest tokenRequest = getTokenRequest(clientId, clientSecret);
KeyMgtService keyMgtService = new KeyMgtServiceImpl();
TokenResponse tokenResponse = keyMgtService.generateAccessToken(tokenRequest);
return tokenResponse.getAccessToken();
} catch (KeyMgtException | BadRequestException e) {
log.error("Error while generating access token", e);
} finally {
PrivilegedCarbonContext.endTenantFlow();
}
return null;
}
@NotNull
private TokenRequest getTokenRequest(String clientId, String clientSecret) {
String scopes = mqttBrokerConnectionConfiguration.getScopes();
scopes += " perm:topic:pub:" + tenantDomain + ":+:+:operation";
if (!StringUtils.isEmpty(mqttBrokerConnectionConfiguration.getTopic())) {
scopes += " perm:topic:pub:" + mqttBrokerConnectionConfiguration.getTopic().replace("/",":");
}
TokenRequest tokenRequest = new TokenRequest(clientId, clientSecret,
null, scopes.toString(), "client_credentials", null,
null, null, null, Integer.MAX_VALUE);
return tokenRequest;
}
private String getBase64Encode(String key, String value) {
return new String(Base64.encodeBase64((key + ":" + value).getBytes()));
}

@ -17,8 +17,8 @@
*/
package io.entgra.device.mgt.plugins.output.adapter.mqtt.util;
import org.apache.commons.lang3.StringUtils;
import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterConfiguration;
import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterException;
import java.util.Map;
@ -36,6 +36,8 @@ public class MQTTBrokerConnectionConfiguration {
private boolean globalCredentailSet;
private int qos;
private String topic;
public String getTokenUrl() {
return tokenUrl;
}
@ -79,6 +81,11 @@ public class MQTTBrokerConnectionConfiguration {
public int getQos() {
return qos;
}
public String getTopic() {
return topic;
}
public MQTTBrokerConnectionConfiguration(OutputEventAdapterConfiguration eventAdapterConfiguration,
Map<String, String> globalProperties) {
adapterName = eventAdapterConfiguration.getName();
@ -123,7 +130,10 @@ public class MQTTBrokerConnectionConfiguration {
this.qos = Integer.parseInt(qosVal);
}
String topic = eventAdapterConfiguration.getStaticProperties().get(MQTTEventAdapterConstants.ADAPTER_MESSAGE_TOPIC);
if (!StringUtils.isEmpty(topic)) {
this.topic = topic;
}
}
}

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -21,7 +21,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -74,7 +74,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
private static final String APPLICATION_NAME = "websocket-app";
private static final String PASSWORD_GRANT_TYPE = "password";
private static final String REFRESH_GRANT_TYPE = "refresh_token";
private static final String REQUIRED_SCOPE = "perm:authorization:verify";
private static final String REQUIRED_SCOPE = "dm:authorization:verify";
private ApiApplicationRegistrationService apiApplicationRegistrationService;
private TokenIssuerService tokenIssuerService;
private ApiApplicationKey apiApplicationKey;

@ -20,7 +20,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>extensions</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -21,7 +21,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>emqx-extensions</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
@ -74,6 +74,11 @@
<artifactId>io.entgra.device.mgt.core.device.mgt.core</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<extensions>

@ -23,6 +23,12 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.protobuf.ByteString;
import com.google.protobuf.GeneratedMessageV3;
import io.entgra.device.mgt.core.device.mgt.common.DeviceIdentifier;
import io.entgra.device.mgt.core.device.mgt.common.EnrolmentInfo;
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
import io.entgra.device.mgt.core.device.mgt.core.config.DeviceConfigurationManager;
import io.entgra.device.mgt.core.device.mgt.core.config.keymanager.KeyManagerConfigurations;
import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService;
import io.grpc.Server;
import io.grpc.ServerBuilder;
import io.grpc.stub.StreamObserver;
@ -34,15 +40,8 @@ import org.apache.http.HttpStatus;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import io.entgra.device.mgt.core.device.mgt.core.config.DeviceConfigurationManager;
import io.entgra.device.mgt.core.device.mgt.core.config.keymanager.KeyManagerConfigurations;
import io.entgra.device.mgt.core.device.mgt.core.internal.DeviceManagementDataHolder;
import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService;
import io.entgra.device.mgt.core.device.mgt.common.EnrolmentInfo;
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
import io.entgra.device.mgt.core.device.mgt.common.DeviceIdentifier;
import org.wso2.carbon.context.CarbonContext;
import org.wso2.carbon.context.PrivilegedCarbonContext;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.TimeUnit;
@ -110,7 +109,7 @@ public class ExServer {
public void DEBUG(String fn, Object req) {
System.out.printf(fn + ", request: " + req);
logger.debug(fn + ", request: " + req);
}
@Override
@ -493,8 +492,7 @@ public class ExServer {
@Override
public void onMessagePublish(MessagePublishRequest request, StreamObserver<ValuedResponse> responseObserver) {
DEBUG("onMessagePublish", request);
logger.info("onMessagePublish");
ByteString bstr = ByteString.copyFromUtf8("hardcode payload by exhook-svr-java :)");
Message nmsg = Message.newBuilder()
@ -538,7 +536,7 @@ public class ExServer {
@Override
public void onMessageDelivered(MessageDeliveredRequest request, StreamObserver<EmptySuccess> responseObserver) {
DEBUG("onMessageDelivered", request);
logger.info("onMessageDelivered");
EmptySuccess reply = EmptySuccess.newBuilder().build();
responseObserver.onNext(reply);
responseObserver.onCompleted();
@ -554,10 +552,11 @@ public class ExServer {
@Override
public void onMessageDropped(MessageDroppedRequest request, StreamObserver<EmptySuccess> responseObserver) {
DEBUG("onMessageDropped", request);
logger.info("onMessageDropped ---------------------------------------------------------------");
EmptySuccess reply = EmptySuccess.newBuilder().build();
responseObserver.onNext(reply);
responseObserver.onCompleted();
}

@ -21,7 +21,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>emqx-extensions</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>extensions</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -64,7 +64,7 @@ import javax.ws.rs.core.Response;
@Scope(
name = "Getting Details of Topics",
description = "Getting Details of Topics",
key = "perm:admin:topics:view",
key = "dm:admin:topics:view",
permissions = {"/device-mgt/topics/view"}
)
}
@ -82,7 +82,7 @@ public interface MQTTManagementAdminService {
tags = "MQTT Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = Constants.SCOPE, value = "perm:admin:topics:view")
@ExtensionProperty(name = Constants.SCOPE, value = "dm:admin:topics:view")
})
}
)

@ -58,7 +58,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
private static final String APPLICATION_NAME = "mqtt_broker";
private static final String PASSWORD_GRANT_TYPE = "password";
private static final String REFRESH_GRANT_TYPE = "refresh_token";
private static final String REQUIRED_SCOPE = "perm:authorization:verify";
private static final String REQUIRED_SCOPE = "dm:authorization:verify";
private ApiApplicationRegistrationService apiApplicationRegistrationService;
private TokenIssuerService tokenIssuerService;
private static Log log = LogFactory.getLog(OAuthRequestInterceptor.class);

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>pull-notification-listeners</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>extensions</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>siddhi-extensions</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -50,7 +50,7 @@ import io.entgra.device.mgt.plugins.extension.siddhi.device.utils.DeviceUtils;
public class OAuthRequestInterceptor implements RequestInterceptor {
private static final String APPLICATION_NAME = "siddhi_extension_client";
private static final String REQUIRED_SCOPES = "perm:devices:operations";
private static final String REQUIRED_SCOPES = "dm:devices:ops:view";
private static final String[] API_TAGS = {"device_management"};
private DCRService dcrService;
private static OAuthApplication oAuthApplication;

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>siddhi-extensions</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>extensions</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -21,7 +21,7 @@
<parent>
<artifactId>android-plugin</artifactId>
<groupId>io.entgra.device.mgt.plugins</groupId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -70,182 +70,182 @@ import java.util.List;
@Scope(
name = "Lock Device",
description = "Hard lock own device",
key = "perm:android:lock-devices",
key = "and:ops:lock-devices",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/lock"}
),
@Scope(
name = "Unlock Device",
description = "Unlock permanently locked device",
key = "perm:android:unlock-devices",
key = "and:ops:unlock-devices",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/unlock"}
),
@Scope(
name = "Get Location",
description = "Request device location coordinates",
key = "perm:android:location",
key = "and:ops:location",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/location"}
),
@Scope(
name = "Clear Password",
description = "Clear the password on Android devices",
key = "perm:android:clear-password",
key = "and:ops:clear-password",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/clear-password"}
),
@Scope(
name = "Control Camera",
description = "Enabling or Disabling the Camera on Android Devices",
key = "perm:android:control-camera",
key = "and:ops:control-camera",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/camera"}
),
@Scope(
name = "Get Info",
description = "Requesting device information from Android Devices",
key = "perm:android:info",
key = "and:ops:device-info",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/info"}
),
@Scope(
name = "Get Logs",
description = "Requesting Logcat Details from Android Devices",
key = "perm:android:logcat",
key = "and:ops:logcat",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/logcat"}
),
@Scope(
name = "Enterprise Wipe",
description = "Enterprise Wiping Android Devices",
key = "perm:android:enterprise-wipe",
key = "and:ops:enterprise-wipe",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/enterprise-wipe"}
),
@Scope(
name = "Factory Reset",
description = "Factory Resetting Android Devices",
key = "perm:android:wipe",
key = "and:ops:wipe",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/wipe"}
),
@Scope(
name = "Get Installed Applications",
description = "Get list of installed applications",
key = "perm:android:applications",
key = "and:ops:app-list",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/applications"}
),
@Scope(
name = "Ring Device",
description = "Ring Android devices",
key = "perm:android:ring",
key = "and:ops:ring",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/ring"}
),
@Scope(
name = "Reboot Device",
description = "Reboot Android devices",
key = "perm:android:reboot",
key = "and:ops:reboot",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/reboot"}
),
@Scope(
name = "Mute Device",
description = "Mute Android devices",
key = "perm:android:mute",
key = "and:ops:mute",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/mute"}
),
@Scope(
name = "Install Applications",
description = "Installing an Application on Android Devices",
key = "perm:android:install-application",
key = "and:ops:install-app",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/install-app"}
),
@Scope(
name = "Update Applications",
description = "Updating an Application on Android Devices",
key = "perm:android:update-application",
key = "and:ops:update-app",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/update-app"}
),
@Scope(
name = "Uninstall Applications",
description = "Uninstalling an Application on Android Devices",
key = "perm:android:uninstall-application",
key = "and:ops:uninstall-app",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/uninstall-app"}
),
@Scope(
name = "Blacklist Applications",
description = "Blacklisting applications on Android Devices",
key = "perm:android:blacklist-applications",
key = "and:ops:blacklist-app",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/blacklist-app"}
),
@Scope(
name = "Upgrade Firmware",
description = "Upgrading Firmware of Android Devices",
key = "perm:android:upgrade-firmware",
key = "and:ops:upgrade-firmware",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/upgrade"}
),
@Scope(
name = "Configure VPN",
description = "Configure VPN on Android Device",
key = "perm:android:configure-vpn",
key = "and:ops:configure-vpn",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/vpn"}
),
@Scope(
name = "Send Notification",
description = "Sending a notification to Android Device",
key = "perm:android:send-notification",
key = "and:ops:send-notif",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/send-notification"}
),
@Scope(
name = "Configure Wi-Fi",
description = "Configure Wi-Fi on Android Device",
key = "perm:android:configure-wifi",
key = "and:ops:configure-wifi",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/wifi"}
),
@Scope(
name = "Encrypt Storage",
description = "Encrypting storage on Android Device",
key = "perm:android:encrypt-storage",
key = "and:ops:encrypt-storage",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/encrypt"}
),
@Scope(
name = "Change Password",
description = "Changing the lock code of an Android Device",
key = "perm:android:change-lock-code",
key = "and:ops:change-lock-code",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/change-lock-code"}
),
@Scope(
name = "Password Policy",
description = "Set password policy of an Android Device",
key = "perm:android:set-password-policy",
key = "and:ops:password-policy",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/password-policy"}
),
@Scope(
name = "Add Web clip",
description = "Setting a Web Clip on Android Devices",
key = "perm:android:set-webclip",
key = "and:ops:set-webclip",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/webclip"}
),
@Scope(
name = "File Transfer",
description = "Transferring a file to android devices",
key = "perm:android:file-transfer",
key = "and:ops:file-transfer",
roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/file-transfer"}
)
@ -265,7 +265,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:file-transfer")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:file-transfer")
})
}
)
@ -326,7 +326,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:lock-devices")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:lock-devices")
})
}
)
@ -389,7 +389,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:unlock-devices")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:unlock-devices")
})
}
)
@ -452,7 +452,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:location")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:location")
})
}
)
@ -511,7 +511,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:clear-password")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:clear-password")
})
}
)
@ -569,7 +569,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:control-camera")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:control-camera")
})
})
@ApiResponses(value = {
@ -634,7 +634,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:info")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:device-info")
})
}
)
@ -697,7 +697,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:logcat")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:logcat")
})
}
)
@ -759,7 +759,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enterprise-wipe")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:enterprise-wipe")
})
}
)
@ -819,7 +819,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:wipe")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:wipe")
})
}
)
@ -883,7 +883,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:applications")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:app-list")
})
}
)
@ -943,7 +943,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:ring")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:ring")
})
}
)
@ -1003,7 +1003,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:reboot")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:reboot")
})
}
)
@ -1063,7 +1063,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:mute")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:mute")
})
}
)
@ -1125,7 +1125,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:install-application")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:install-app")
})
}
)
@ -1190,7 +1190,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:update-application")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:update-app")
})
}
)
@ -1252,7 +1252,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:uninstall-application")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:uninstall-app")
})
}
)
@ -1318,7 +1318,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:blacklist-applications")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:blacklist-app")
})
}
)
@ -1380,7 +1380,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:upgrade-firmware")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:upgrade-firmware")
})
}
)
@ -1444,7 +1444,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:configure-vpn")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:configure-vpn")
})
}
)
@ -1504,7 +1504,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:send-notification")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:send-notif")
})
}
)
@ -1565,7 +1565,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:configure-wifi")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:configure-wifi")
})
}
)
@ -1627,7 +1627,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:encrypt-storage")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:encrypt-storage")
})
}
)
@ -1689,7 +1689,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:change-lock-code")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:change-lock-code")
})
}
)
@ -1751,7 +1751,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:set-password-policy")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:password-policy")
})
}
)
@ -1811,7 +1811,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:set-webclip")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:set-webclip")
})
}
)

@ -69,14 +69,14 @@ import java.util.List;
@Scope(
name = "Enroll Device",
description = "Register an Android device",
key = "perm:android:enroll",
key = "and:devices:enroll",
roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/enroll/android"}
),
@Scope(
name = "Un-enroll Device",
description = "Unregister an Android device",
key = "perm:android:disenroll",
key = "and:devices:disenroll",
roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/disenroll/android"}
)
@ -95,7 +95,7 @@ public interface DeviceManagementService {
tags = "Android Device Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
})
}
)
@ -160,7 +160,7 @@ public interface DeviceManagementService {
tags = "Android Device Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
})
}
)
@ -221,7 +221,7 @@ public interface DeviceManagementService {
tags = "Android Device Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
})
}
)
@ -283,7 +283,7 @@ public interface DeviceManagementService {
tags = "Android Device Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
})
}
)
@ -338,7 +338,7 @@ public interface DeviceManagementService {
tags = "Android Device Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
})
}
)
@ -391,7 +391,7 @@ public interface DeviceManagementService {
tags = "Android Device Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
})
}
)
@ -447,7 +447,7 @@ public interface DeviceManagementService {
tags = "Android Device Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:disenroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:disenroll")
})
}
)

@ -66,23 +66,23 @@ import javax.ws.rs.core.Response;
@Scope(
name = "Enroll Device",
description = "Register an Android device",
key = "perm:android:enroll",
key = "and:devices:enroll",
roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/enroll/android"}
),
@Scope(
name = "View Configurations",
description = "Getting Android Platform Configurations",
key = "perm:android:view-configuration",
key = "and:conf:view",
roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/enroll/android"}
permissions = {"/device-mgt/platform-configurations/android/view"}
),
@Scope(
name = "Manage Configurations",
description = "Updating Android Platform Configurations",
key = "perm:android:manage-configuration",
key = "and:conf:manage",
roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/platform-configurations/manage"}
permissions = {"/device-mgt/platform-configurations/android/manage"}
)
}
)
@ -98,7 +98,7 @@ public interface DeviceTypeConfigurationService {
tags = "Android Configuration Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:view-configuration")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:conf:view")
})
}
)
@ -152,7 +152,7 @@ public interface DeviceTypeConfigurationService {
tags = "Android Configuration Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:manage-configuration")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:conf:manage")
})
}
)
@ -207,7 +207,7 @@ public interface DeviceTypeConfigurationService {
tags = "Android Configuration Management",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
})
}
)

@ -66,7 +66,7 @@ import javax.ws.rs.core.Response;
@Scope(
name = "Enroll Device",
description = "Register an Android device",
key = "perm:android:enroll",
key = "and:devices:enroll",
roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/enroll/android"}
)
@ -85,7 +85,7 @@ public interface EventReceiverService {
tags = "Event Receiver",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
})
}
)
@ -148,7 +148,7 @@ public interface EventReceiverService {
tags = "Event Receiver",
extensions = {
@Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll")
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
})
}
)

@ -21,7 +21,7 @@
<parent>
<artifactId>android-plugin</artifactId>
<groupId>io.entgra.device.mgt.plugins</groupId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -23,7 +23,7 @@
<parent>
<artifactId>android-plugin</artifactId>
<groupId>io.entgra.device.mgt.plugins</groupId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -6,36 +6,36 @@
"analyticsEnabled": "false",
"groupingEnabled": "true",
"scopes" : [
"perm:android:file-transfer",
"perm:android:enroll",
"perm:android:wipe",
"perm:android:ring",
"perm:android:lock-devices",
"perm:android:configure-vpn",
"perm:android:configure-wifi",
"perm:android:enroll",
"perm:android:uninstall-application",
"perm:android:manage-configuration",
"perm:android:location",
"perm:android:install-application",
"perm:android:mute",
"perm:android:change-lock-code",
"perm:android:blacklist-applications",
"perm:android:set-password-policy",
"perm:android:encrypt-storage",
"perm:android:clear-password",
"perm:android:enterprise-wipe",
"perm:android:info",
"perm:android:view-configuration",
"perm:android:upgrade-firmware",
"perm:android:set-webclip",
"perm:android:send-notification",
"perm:android:disenroll",
"perm:android:update-application",
"perm:android:unlock-devices",
"perm:android:control-camera",
"perm:android:reboot",
"perm:android:logcat"
"and:ops:file-transfer",
"and:devices:enroll",
"and:ops:wipe",
"and:ops:ring",
"and:ops:lock-devices",
"and:ops:configure-vpn",
"and:ops:configure-wifi",
"and:devices:enroll",
"and:ops:uninstall-app",
"and:conf:manage",
"and:ops:location",
"and:ops:install-app",
"and:ops:mute",
"and:ops:change-lock-code",
"and:ops:blacklist-app",
"and:ops:password-policy",
"and:ops:encrypt-storage",
"and:ops:clear-password",
"and:ops:enterprise-wipe",
"and:ops:device-info",
"and:conf:view",
"and:ops:upgrade-firmware",
"and:ops:set-webclip",
"and:ops:send-notif",
"and:devices:disenroll",
"and:ops:update-app",
"and:ops:unlock-devices",
"and:ops:control-camera",
"and:ops:reboot",
"and:ops:logcat"
],
"features": {
"DEVICE_RING": {

@ -22,7 +22,7 @@
<parent>
<artifactId>android-plugin</artifactId>
<groupId>io.entgra.device.mgt.plugins</groupId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>mobile-plugins</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -23,7 +23,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>analytics-feature</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -23,7 +23,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>virtual-fire-alarm-plugin-feature</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>device-types-feature</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -23,7 +23,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>extensions-feature</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>extensions-feature</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>extensions-feature</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -21,7 +21,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>extensions-feature</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>android-plugin-feature</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>mobile-plugins-feature</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

@ -22,7 +22,7 @@
<parent>
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

@ -23,7 +23,7 @@
<groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>io.entgra.device.mgt.plugins.parent</artifactId>
<packaging>pom</packaging>
<version>6.0.20-SNAPSHOT</version>
<version>6.0.22-SNAPSHOT</version>
<name>WSO2 Carbon - Device Management Plugins Parent</name>
<url>http://entgra.io</url>
<description>WSO2 Carbon - Device Management Plugins Parent</description>
@ -953,11 +953,11 @@
<properties>
<!-- Carbon Device Management -->
<io.entgra.device.mgt.core.version>5.0.29-SNAPSHOT</io.entgra.device.mgt.core.version>
<io.entgra.device.mgt.core.version>5.0.31-SNAPSHOT</io.entgra.device.mgt.core.version>
<io.entgra.device.mgt.core.version.range>[5.0.0, 6.0.0)</io.entgra.device.mgt.core.version.range>
<!-- Carbon Device Management Plugins -->
<io.entgra.device.mgt.plugins.version>6.0.20-SNAPSHOT</io.entgra.device.mgt.plugins.version>
<io.entgra.device.mgt.plugins.version>6.0.22-SNAPSHOT</io.entgra.device.mgt.plugins.version>
<!-- Android Agent Artifact Version-->
<android.agent.version>4.0.0</android.agent.version>

Loading…
Cancel
Save