Merge branch 'master' of ssh://repository.entgra.net:222/community/device-mgt-plugins into apim420

synced-apim420
Pasindu Rupasinghe 1 year ago
commit 0b792cadd8

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

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

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

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

@ -62,7 +62,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
private static final String APPLICATION_NAME = "websocket-app"; private static final String APPLICATION_NAME = "websocket-app";
private static final String PASSWORD_GRANT_TYPE = "password"; private static final String PASSWORD_GRANT_TYPE = "password";
private static final String REFRESH_GRANT_TYPE = "refresh_token"; 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 ApiApplicationRegistrationService apiApplicationRegistrationService;
private TokenIssuerService tokenIssuerService; private TokenIssuerService tokenIssuerService;

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

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

@ -94,12 +94,18 @@ public class MQTTEventAdapterFactory extends OutputEventAdapterFactory {
qos.setOptions(new String[]{"0", "1", "2"}); qos.setOptions(new String[]{"0", "1", "2"});
qos.setDefaultValue("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(brokerUrl);
staticPropertyList.add(userName); staticPropertyList.add(userName);
staticPropertyList.add(scopes); staticPropertyList.add(scopes);
staticPropertyList.add(clearSession); staticPropertyList.add(clearSession);
staticPropertyList.add(qos); staticPropertyList.add(qos);
staticPropertyList.add(password); staticPropertyList.add(password);
staticPropertyList.add(topicProperty);
return staticPropertyList; return staticPropertyList;
} }

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

@ -17,8 +17,8 @@
*/ */
package io.entgra.device.mgt.plugins.output.adapter.mqtt.util; 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.OutputEventAdapterConfiguration;
import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterException;
import java.util.Map; import java.util.Map;
@ -36,6 +36,8 @@ public class MQTTBrokerConnectionConfiguration {
private boolean globalCredentailSet; private boolean globalCredentailSet;
private int qos; private int qos;
private String topic;
public String getTokenUrl() { public String getTokenUrl() {
return tokenUrl; return tokenUrl;
} }
@ -79,6 +81,11 @@ public class MQTTBrokerConnectionConfiguration {
public int getQos() { public int getQos() {
return qos; return qos;
} }
public String getTopic() {
return topic;
}
public MQTTBrokerConnectionConfiguration(OutputEventAdapterConfiguration eventAdapterConfiguration, public MQTTBrokerConnectionConfiguration(OutputEventAdapterConfiguration eventAdapterConfiguration,
Map<String, String> globalProperties) { Map<String, String> globalProperties) {
adapterName = eventAdapterConfiguration.getName(); adapterName = eventAdapterConfiguration.getName();
@ -123,7 +130,10 @@ public class MQTTBrokerConnectionConfiguration {
this.qos = Integer.parseInt(qosVal); 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> <parent>
<groupId>io.entgra.device.mgt.plugins</groupId> <groupId>io.entgra.device.mgt.plugins</groupId>
<artifactId>cdmf-transport-adapters</artifactId> <artifactId>cdmf-transport-adapters</artifactId>
<version>6.0.20-SNAPSHOT</version> <version>6.0.22-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

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

@ -74,7 +74,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
private static final String APPLICATION_NAME = "websocket-app"; private static final String APPLICATION_NAME = "websocket-app";
private static final String PASSWORD_GRANT_TYPE = "password"; private static final String PASSWORD_GRANT_TYPE = "password";
private static final String REFRESH_GRANT_TYPE = "refresh_token"; 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 ApiApplicationRegistrationService apiApplicationRegistrationService;
private TokenIssuerService tokenIssuerService; private TokenIssuerService tokenIssuerService;
private ApiApplicationKey apiApplicationKey; private ApiApplicationKey apiApplicationKey;

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

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

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

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

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

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

@ -64,7 +64,7 @@ import javax.ws.rs.core.Response;
@Scope( @Scope(
name = "Getting Details of Topics", name = "Getting Details of Topics",
description = "Getting Details of Topics", description = "Getting Details of Topics",
key = "perm:admin:topics:view", key = "dm:admin:topics:view",
permissions = {"/device-mgt/topics/view"} permissions = {"/device-mgt/topics/view"}
) )
} }
@ -82,7 +82,7 @@ public interface MQTTManagementAdminService {
tags = "MQTT Management Administrative Service", tags = "MQTT Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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 APPLICATION_NAME = "mqtt_broker";
private static final String PASSWORD_GRANT_TYPE = "password"; private static final String PASSWORD_GRANT_TYPE = "password";
private static final String REFRESH_GRANT_TYPE = "refresh_token"; 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 ApiApplicationRegistrationService apiApplicationRegistrationService;
private TokenIssuerService tokenIssuerService; private TokenIssuerService tokenIssuerService;
private static Log log = LogFactory.getLog(OAuthRequestInterceptor.class); private static Log log = LogFactory.getLog(OAuthRequestInterceptor.class);

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

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

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

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

@ -50,7 +50,7 @@ import io.entgra.device.mgt.plugins.extension.siddhi.device.utils.DeviceUtils;
public class OAuthRequestInterceptor implements RequestInterceptor { public class OAuthRequestInterceptor implements RequestInterceptor {
private static final String APPLICATION_NAME = "siddhi_extension_client"; 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 static final String[] API_TAGS = {"device_management"};
private DCRService dcrService; private DCRService dcrService;
private static OAuthApplication oAuthApplication; private static OAuthApplication oAuthApplication;

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

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

@ -70,182 +70,182 @@ import java.util.List;
@Scope( @Scope(
name = "Lock Device", name = "Lock Device",
description = "Hard lock own device", description = "Hard lock own device",
key = "perm:android:lock-devices", key = "and:ops:lock-devices",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/lock"} permissions = {"/device-mgt/devices/owning-device/operations/android/lock"}
), ),
@Scope( @Scope(
name = "Unlock Device", name = "Unlock Device",
description = "Unlock permanently locked device", description = "Unlock permanently locked device",
key = "perm:android:unlock-devices", key = "and:ops:unlock-devices",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/unlock"} permissions = {"/device-mgt/devices/owning-device/operations/android/unlock"}
), ),
@Scope( @Scope(
name = "Get Location", name = "Get Location",
description = "Request device location coordinates", description = "Request device location coordinates",
key = "perm:android:location", key = "and:ops:location",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/location"} permissions = {"/device-mgt/devices/owning-device/operations/android/location"}
), ),
@Scope( @Scope(
name = "Clear Password", name = "Clear Password",
description = "Clear the password on Android devices", description = "Clear the password on Android devices",
key = "perm:android:clear-password", key = "and:ops:clear-password",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/clear-password"} permissions = {"/device-mgt/devices/owning-device/operations/android/clear-password"}
), ),
@Scope( @Scope(
name = "Control Camera", name = "Control Camera",
description = "Enabling or Disabling the Camera on Android Devices", description = "Enabling or Disabling the Camera on Android Devices",
key = "perm:android:control-camera", key = "and:ops:control-camera",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/camera"} permissions = {"/device-mgt/devices/owning-device/operations/android/camera"}
), ),
@Scope( @Scope(
name = "Get Info", name = "Get Info",
description = "Requesting device information from Android Devices", description = "Requesting device information from Android Devices",
key = "perm:android:info", key = "and:ops:device-info",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/info"} permissions = {"/device-mgt/devices/owning-device/operations/android/info"}
), ),
@Scope( @Scope(
name = "Get Logs", name = "Get Logs",
description = "Requesting Logcat Details from Android Devices", description = "Requesting Logcat Details from Android Devices",
key = "perm:android:logcat", key = "and:ops:logcat",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/logcat"} permissions = {"/device-mgt/devices/owning-device/operations/android/logcat"}
), ),
@Scope( @Scope(
name = "Enterprise Wipe", name = "Enterprise Wipe",
description = "Enterprise Wiping Android Devices", description = "Enterprise Wiping Android Devices",
key = "perm:android:enterprise-wipe", key = "and:ops:enterprise-wipe",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/enterprise-wipe"} permissions = {"/device-mgt/devices/owning-device/operations/android/enterprise-wipe"}
), ),
@Scope( @Scope(
name = "Factory Reset", name = "Factory Reset",
description = "Factory Resetting Android Devices", description = "Factory Resetting Android Devices",
key = "perm:android:wipe", key = "and:ops:wipe",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/wipe"} permissions = {"/device-mgt/devices/owning-device/operations/android/wipe"}
), ),
@Scope( @Scope(
name = "Get Installed Applications", name = "Get Installed Applications",
description = "Get list of installed applications", description = "Get list of installed applications",
key = "perm:android:applications", key = "and:ops:app-list",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/applications"} permissions = {"/device-mgt/devices/owning-device/operations/android/applications"}
), ),
@Scope( @Scope(
name = "Ring Device", name = "Ring Device",
description = "Ring Android devices", description = "Ring Android devices",
key = "perm:android:ring", key = "and:ops:ring",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/ring"} permissions = {"/device-mgt/devices/owning-device/operations/android/ring"}
), ),
@Scope( @Scope(
name = "Reboot Device", name = "Reboot Device",
description = "Reboot Android devices", description = "Reboot Android devices",
key = "perm:android:reboot", key = "and:ops:reboot",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/reboot"} permissions = {"/device-mgt/devices/owning-device/operations/android/reboot"}
), ),
@Scope( @Scope(
name = "Mute Device", name = "Mute Device",
description = "Mute Android devices", description = "Mute Android devices",
key = "perm:android:mute", key = "and:ops:mute",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/mute"} permissions = {"/device-mgt/devices/owning-device/operations/android/mute"}
), ),
@Scope( @Scope(
name = "Install Applications", name = "Install Applications",
description = "Installing an Application on Android Devices", description = "Installing an Application on Android Devices",
key = "perm:android:install-application", key = "and:ops:install-app",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/install-app"} permissions = {"/device-mgt/devices/owning-device/operations/android/install-app"}
), ),
@Scope( @Scope(
name = "Update Applications", name = "Update Applications",
description = "Updating an Application on Android Devices", description = "Updating an Application on Android Devices",
key = "perm:android:update-application", key = "and:ops:update-app",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/update-app"} permissions = {"/device-mgt/devices/owning-device/operations/android/update-app"}
), ),
@Scope( @Scope(
name = "Uninstall Applications", name = "Uninstall Applications",
description = "Uninstalling an Application on Android Devices", description = "Uninstalling an Application on Android Devices",
key = "perm:android:uninstall-application", key = "and:ops:uninstall-app",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/uninstall-app"} permissions = {"/device-mgt/devices/owning-device/operations/android/uninstall-app"}
), ),
@Scope( @Scope(
name = "Blacklist Applications", name = "Blacklist Applications",
description = "Blacklisting applications on Android Devices", description = "Blacklisting applications on Android Devices",
key = "perm:android:blacklist-applications", key = "and:ops:blacklist-app",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/blacklist-app"} permissions = {"/device-mgt/devices/owning-device/operations/android/blacklist-app"}
), ),
@Scope( @Scope(
name = "Upgrade Firmware", name = "Upgrade Firmware",
description = "Upgrading Firmware of Android Devices", description = "Upgrading Firmware of Android Devices",
key = "perm:android:upgrade-firmware", key = "and:ops:upgrade-firmware",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/upgrade"} permissions = {"/device-mgt/devices/owning-device/operations/android/upgrade"}
), ),
@Scope( @Scope(
name = "Configure VPN", name = "Configure VPN",
description = "Configure VPN on Android Device", description = "Configure VPN on Android Device",
key = "perm:android:configure-vpn", key = "and:ops:configure-vpn",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/vpn"} permissions = {"/device-mgt/devices/owning-device/operations/android/vpn"}
), ),
@Scope( @Scope(
name = "Send Notification", name = "Send Notification",
description = "Sending a notification to Android Device", description = "Sending a notification to Android Device",
key = "perm:android:send-notification", key = "and:ops:send-notif",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/send-notification"} permissions = {"/device-mgt/devices/owning-device/operations/android/send-notification"}
), ),
@Scope( @Scope(
name = "Configure Wi-Fi", name = "Configure Wi-Fi",
description = "Configure Wi-Fi on Android Device", description = "Configure Wi-Fi on Android Device",
key = "perm:android:configure-wifi", key = "and:ops:configure-wifi",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/wifi"} permissions = {"/device-mgt/devices/owning-device/operations/android/wifi"}
), ),
@Scope( @Scope(
name = "Encrypt Storage", name = "Encrypt Storage",
description = "Encrypting storage on Android Device", description = "Encrypting storage on Android Device",
key = "perm:android:encrypt-storage", key = "and:ops:encrypt-storage",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/encrypt"} permissions = {"/device-mgt/devices/owning-device/operations/android/encrypt"}
), ),
@Scope( @Scope(
name = "Change Password", name = "Change Password",
description = "Changing the lock code of an Android Device", 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"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/change-lock-code"} permissions = {"/device-mgt/devices/owning-device/operations/android/change-lock-code"}
), ),
@Scope( @Scope(
name = "Password Policy", name = "Password Policy",
description = "Set password policy of an Android Device", description = "Set password policy of an Android Device",
key = "perm:android:set-password-policy", key = "and:ops:password-policy",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/password-policy"} permissions = {"/device-mgt/devices/owning-device/operations/android/password-policy"}
), ),
@Scope( @Scope(
name = "Add Web clip", name = "Add Web clip",
description = "Setting a Web Clip on Android Devices", description = "Setting a Web Clip on Android Devices",
key = "perm:android:set-webclip", key = "and:ops:set-webclip",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/webclip"} permissions = {"/device-mgt/devices/owning-device/operations/android/webclip"}
), ),
@Scope( @Scope(
name = "File Transfer", name = "File Transfer",
description = "Transferring a file to android devices", description = "Transferring a file to android devices",
key = "perm:android:file-transfer", key = "and:ops:file-transfer",
roles = {"Internal/devicemgt-admin"}, roles = {"Internal/devicemgt-admin"},
permissions = {"/device-mgt/devices/owning-device/operations/android/file-transfer"} permissions = {"/device-mgt/devices/owning-device/operations/android/file-transfer"}
) )
@ -265,7 +265,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:control-camera") @ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:ops:control-camera")
}) })
}) })
@ApiResponses(value = { @ApiResponses(value = {
@ -634,7 +634,7 @@ public interface DeviceManagementAdminService {
tags = "Android Device Management Administrative Service", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management Administrative Service",
extensions = { extensions = {
@Extension(properties = { @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( @Scope(
name = "Enroll Device", name = "Enroll Device",
description = "Register an Android device", description = "Register an Android device",
key = "perm:android:enroll", key = "and:devices:enroll",
roles = {"Internal/devicemgt-user"}, roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/enroll/android"} permissions = {"/device-mgt/devices/enroll/android"}
), ),
@Scope( @Scope(
name = "Un-enroll Device", name = "Un-enroll Device",
description = "Unregister an Android device", description = "Unregister an Android device",
key = "perm:android:disenroll", key = "and:devices:disenroll",
roles = {"Internal/devicemgt-user"}, roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/disenroll/android"} permissions = {"/device-mgt/devices/disenroll/android"}
) )
@ -95,7 +95,7 @@ public interface DeviceManagementService {
tags = "Android Device Management", tags = "Android Device Management",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Device Management",
extensions = { extensions = {
@Extension(properties = { @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( @Scope(
name = "Enroll Device", name = "Enroll Device",
description = "Register an Android device", description = "Register an Android device",
key = "perm:android:enroll", key = "and:devices:enroll",
roles = {"Internal/devicemgt-user"}, roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/enroll/android"} permissions = {"/device-mgt/devices/enroll/android"}
), ),
@Scope( @Scope(
name = "View Configurations", name = "View Configurations",
description = "Getting Android Platform Configurations", description = "Getting Android Platform Configurations",
key = "perm:android:view-configuration", key = "and:conf:view",
roles = {"Internal/devicemgt-user"}, roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/enroll/android"} permissions = {"/device-mgt/platform-configurations/android/view"}
), ),
@Scope( @Scope(
name = "Manage Configurations", name = "Manage Configurations",
description = "Updating Android Platform Configurations", description = "Updating Android Platform Configurations",
key = "perm:android:manage-configuration", key = "and:conf:manage",
roles = {"Internal/devicemgt-user"}, 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", tags = "Android Configuration Management",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Configuration Management",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Android Configuration Management",
extensions = { extensions = {
@Extension(properties = { @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( @Scope(
name = "Enroll Device", name = "Enroll Device",
description = "Register an Android device", description = "Register an Android device",
key = "perm:android:enroll", key = "and:devices:enroll",
roles = {"Internal/devicemgt-user"}, roles = {"Internal/devicemgt-user"},
permissions = {"/device-mgt/devices/enroll/android"} permissions = {"/device-mgt/devices/enroll/android"}
) )
@ -85,7 +85,7 @@ public interface EventReceiverService {
tags = "Event Receiver", tags = "Event Receiver",
extensions = { extensions = {
@Extension(properties = { @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", tags = "Event Receiver",
extensions = { extensions = {
@Extension(properties = { @Extension(properties = {
@ExtensionProperty(name = AndroidConstants.SCOPE, value = "perm:android:enroll") @ExtensionProperty(name = AndroidConstants.SCOPE, value = "and:devices:enroll")
}) })
} }
) )

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Loading…
Cancel
Save