mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge master branch
This commit is contained in:
commit
7388bcadce
@ -1,7 +1,7 @@
|
||||
image: maven:latest
|
||||
|
||||
variables:
|
||||
MAVEN_CLI_OPTS: "--batch-mode"
|
||||
MAVEN_CLI_OPTS: "-s .m2/settings.xml --batch-mode"
|
||||
MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"
|
||||
|
||||
cache:
|
||||
@ -17,4 +17,11 @@ build:
|
||||
test:
|
||||
stage: test
|
||||
script:
|
||||
- mvn $MAVEN_CLI_OPTS test
|
||||
- mvn $MAVEN_CLI_OPTS test
|
||||
|
||||
deploy:
|
||||
stage: deploy
|
||||
script:
|
||||
- mvn $MAVEN_CLI_OPTS deploy -Dmaven.test.skip=true
|
||||
only:
|
||||
- master
|
||||
|
||||
12
.m2/settings.xml
Normal file
12
.m2/settings.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
|
||||
https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||
<servers>
|
||||
<server>
|
||||
<id>maven-snapshots</id>
|
||||
<username>${env.MAVEN_REPO_USER}</username>
|
||||
<password>${env.MAVEN_REPO_PASS}</password>
|
||||
</server>
|
||||
</servers>
|
||||
</settings>
|
||||
@ -1,7 +1,8 @@
|
||||
# carbon-device-mgt
|
||||
|
||||
<a href='https://opensource.org/licenses/Apache-2.0'><img src='https://img.shields.io/badge/License-Apache%202.0-blue.svg'></a><br/>
|
||||
<a href='https://wso2.org/jenkins/job/platform-builds/job/carbon-device-mgt/'><img src='https://wso2.org/jenkins/job/platform-builds/job/carbon-device-mgt/badge/icon'></a> - Java8<br/>
|
||||
|
||||
[](https://gitlab.com/entgra/carbon-device-mgt/commits/master)
|
||||
|
||||
WSO2 CONNECTED DEVICE MANAGEMENT COMPONENTS
|
||||
|
||||
|
||||
@ -22,13 +22,13 @@
|
||||
<parent>
|
||||
<artifactId>apimgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.apimgt.annotations</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - API Management Annotations</name>
|
||||
<description>WSO2 Carbon - API Management Custom Annotation Module</description>
|
||||
|
||||
@ -21,12 +21,12 @@
|
||||
<parent>
|
||||
<artifactId>apimgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<artifactId>org.wso2.carbon.apimgt.application.extension.api</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<name>WSO2 Carbon - API Application Management API</name>
|
||||
|
||||
@ -22,12 +22,12 @@
|
||||
<parent>
|
||||
<artifactId>apimgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<artifactId>org.wso2.carbon.apimgt.application.extension</artifactId>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - API Application Management</name>
|
||||
|
||||
@ -21,13 +21,13 @@
|
||||
<parent>
|
||||
<artifactId>apimgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.apimgt.handlers</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - API Security Handler Component</name>
|
||||
<description>WSO2 Carbon - API Management Security Handler Module</description>
|
||||
|
||||
@ -13,13 +13,13 @@
|
||||
<parent>
|
||||
<artifactId>apimgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.apimgt.integration.client</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - API Management Integration Client</name>
|
||||
<description>WSO2 Carbon - API Management Integration Client</description>
|
||||
|
||||
@ -13,13 +13,13 @@
|
||||
<parent>
|
||||
<artifactId>apimgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.apimgt.integration.generated.client</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - API Management Integration Generated Client</name>
|
||||
<description>WSO2 Carbon - API Management Integration Client</description>
|
||||
|
||||
@ -22,13 +22,13 @@
|
||||
<parent>
|
||||
<artifactId>apimgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.apimgt.webapp.publisher</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - API Management Webapp Publisher</name>
|
||||
<description>WSO2 Carbon - API Management Webapp Publisher</description>
|
||||
|
||||
@ -22,13 +22,13 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>apimgt-extensions</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>WSO2 Carbon - API Management Extensions Component</name>
|
||||
<url>http://wso2.org</url>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>certificate-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>certificate-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<artifactId>certificate-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -21,13 +21,13 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>certificate-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.certificate.mgt.core</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - Certificate Management Core</name>
|
||||
<description>WSO2 Carbon - Certificate Management Core</description>
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<artifactId>certificate-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>certificate-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>WSO2 Carbon - Certificate Management Component</name>
|
||||
<url>http://wso2.org</url>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -296,6 +296,67 @@ public interface DeviceEventManagementService {
|
||||
@PathParam("type") String deviceType,
|
||||
@ApiParam(name = "limit", value = "limit of the records that needs to be picked up", required = false)
|
||||
@QueryParam("limit") int limit);
|
||||
|
||||
@GET
|
||||
@Path("filter/{type}/{parameter}")
|
||||
@ApiOperation(
|
||||
produces = MediaType.APPLICATION_JSON,
|
||||
httpMethod = "GET",
|
||||
value = "Getting the filtered devices",
|
||||
notes = "Get the list of devices based on the filter parameter",
|
||||
tags = "Device Event Management",
|
||||
extensions = {
|
||||
@Extension(properties = {
|
||||
@ExtensionProperty(name = Constants.SCOPE, value = "perm:device-types:events:view")
|
||||
})
|
||||
}
|
||||
)
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
code = 200,
|
||||
message = "OK. \n Successfully fetched the event.",
|
||||
response = EventRecords.class,
|
||||
responseHeaders = {
|
||||
@ResponseHeader(
|
||||
name = "Content-Type",
|
||||
description = "The content type of the body"),
|
||||
@ResponseHeader(
|
||||
name = "ETag",
|
||||
description = "Entity Tag of the response resource.\n" +
|
||||
"Used by caches, or in conditional requests."),
|
||||
@ResponseHeader(
|
||||
name = "Last-Modified",
|
||||
description =
|
||||
"Date and time the resource was last modified.\n" +
|
||||
"Used by caches, or in conditional requests."),
|
||||
}
|
||||
),
|
||||
@ApiResponse(
|
||||
code = 400,
|
||||
message =
|
||||
"Bad Request. \n"),
|
||||
@ApiResponse(
|
||||
code = 406,
|
||||
message = "Not Acceptable.\n The requested media type is not supported"),
|
||||
@ApiResponse(
|
||||
code = 500,
|
||||
message = "Internal Server Error. \n Server error occurred while fetching the " +
|
||||
"list of supported device types.",
|
||||
response = ErrorResponse.class)
|
||||
}
|
||||
)
|
||||
Response getFilteredDevices(
|
||||
@ApiParam(name = "type", value = "name of the device type", required = true)
|
||||
@PathParam("type") String deviceType,
|
||||
@ApiParam(name = "type", value = "name of the parameter", required = true)
|
||||
@PathParam("type") String parameter,
|
||||
@ApiParam(name = "limit", value = "minimum value the parameter can have", required = false)
|
||||
@QueryParam("min") double min,
|
||||
@ApiParam(name = "max", value = "max value the parameter can have", required = false)
|
||||
@QueryParam("max") double max
|
||||
);
|
||||
|
||||
|
||||
@GET
|
||||
@Path("/{type}")
|
||||
|
||||
@ -10,8 +10,9 @@ import org.wso2.carbon.analytics.dataservice.commons.AnalyticsDataResponse;
|
||||
import org.wso2.carbon.analytics.dataservice.commons.SearchResultEntry;
|
||||
import org.wso2.carbon.analytics.dataservice.commons.SortByField;
|
||||
import org.wso2.carbon.analytics.dataservice.commons.SortType;
|
||||
import org.wso2.carbon.analytics.stream.persistence.stub
|
||||
.EventStreamPersistenceAdminServiceEventStreamPersistenceAdminServiceExceptionException;
|
||||
import org.wso2.carbon.analytics.datasource.commons.Record;
|
||||
import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException;
|
||||
import org.wso2.carbon.analytics.stream.persistence.stub.EventStreamPersistenceAdminServiceEventStreamPersistenceAdminServiceExceptionException;
|
||||
import org.wso2.carbon.analytics.stream.persistence.stub.EventStreamPersistenceAdminServiceStub;
|
||||
import org.wso2.carbon.analytics.stream.persistence.stub.dto.AnalyticsTable;
|
||||
import org.wso2.carbon.analytics.stream.persistence.stub.dto.AnalyticsTableRecord;
|
||||
@ -21,11 +22,11 @@ import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.DeviceTypeEvent;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.EventRecords;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.Attribute;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.AttributeType;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.DeviceTypeEvent;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.EventAttributeList;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.EventRecords;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.analytics.TransportType;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.api.DeviceEventManagementService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.util.Constants;
|
||||
@ -41,7 +42,6 @@ import org.wso2.carbon.event.stream.stub.types.EventStreamAttributeDto;
|
||||
import org.wso2.carbon.event.stream.stub.types.EventStreamDefinitionDto;
|
||||
import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException;
|
||||
import org.wso2.carbon.user.api.UserStoreException;
|
||||
import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.ws.rs.DELETE;
|
||||
@ -53,7 +53,11 @@ import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.Response;
|
||||
import java.rmi.RemoteException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
/**
|
||||
* This is used for device type integration with DAS, to create streams and receiver dynamically and a common endpoint
|
||||
@ -344,6 +348,10 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
|
||||
String errorMessage = "Invalid values for from/to";
|
||||
return Response.status(Response.Status.BAD_REQUEST).entity(errorMessage).build();
|
||||
}
|
||||
if (limit == 0) {
|
||||
String errorMessage = "Invalid values for offset/limit";
|
||||
return Response.status(Response.Status.BAD_REQUEST).entity(errorMessage).build();
|
||||
}
|
||||
String fromDate = String.valueOf(from);
|
||||
String toDate = String.valueOf(to);
|
||||
String query = DEFAULT_META_DEVICE_ID_ATTRIBUTE + ":" + deviceId
|
||||
@ -429,6 +437,78 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the filterd device list. Devices are filterd using the paramter given and the timestamp of the record.
|
||||
* parameter should given as a range.
|
||||
*/
|
||||
@GET
|
||||
@Path("filter/{type}/{parameter}")
|
||||
@Override
|
||||
public Response getFilteredDevices(@PathParam("type") String deviceType, @PathParam("parameter") String parameter,
|
||||
@QueryParam("min") double min, @QueryParam("max") double max) {
|
||||
String query;
|
||||
Calendar c = java.util.Calendar.getInstance();
|
||||
long currentTimestamp = c.getTimeInMillis();
|
||||
long previousTimestamp = currentTimestamp - 300 * 1000;
|
||||
String fromDate = String.valueOf(previousTimestamp);
|
||||
String toDate = String.valueOf(currentTimestamp);
|
||||
if (min != 0 & max != 0) {
|
||||
query = parameter + " : [" + min + " TO " + max + "]" +
|
||||
" AND _timestamp : [" + fromDate + " TO " + toDate + "]";
|
||||
} else {
|
||||
String errorMessage = "The of range values need to be given";
|
||||
log.error(errorMessage);
|
||||
return Response.status(Response.Status.BAD_REQUEST).build();
|
||||
}
|
||||
|
||||
String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain();
|
||||
String sensorTableName = getTableName(DeviceMgtAPIUtils.getStreamDefinition(deviceType, tenantDomain));
|
||||
try {
|
||||
if (deviceType == null ||
|
||||
!DeviceMgtAPIUtils.getDeviceManagementService().getAvailableDeviceTypes().contains(deviceType)) {
|
||||
String errorMessage = "Invalid device type";
|
||||
log.error(errorMessage);
|
||||
return Response.status(Response.Status.BAD_REQUEST).build();
|
||||
}
|
||||
|
||||
List<SortByField> sortByFields = new ArrayList<>();
|
||||
SortByField sortByField = new SortByField(TIMESTAMP_FIELD_NAME, SortType.DESC);
|
||||
sortByFields.add(sortByField);
|
||||
EventRecords eventRecords = getAllEventsForDevice(sensorTableName, query, sortByFields, 0, 100);
|
||||
List<Record> filterdEvents = eventRecords.getRecord();
|
||||
List<Record> uniqueFilterdEvents = new ArrayList<Record>();
|
||||
Set<String> devices = new HashSet<>();
|
||||
|
||||
for (int i = 0; i < filterdEvents.size(); i++) {
|
||||
String deviceid = (String) filterdEvents.get(i).getValue("meta_deviceId");
|
||||
if (!devices.contains(deviceid) && DeviceMgtAPIUtils.getDeviceAccessAuthorizationService().isUserAuthorized(
|
||||
new DeviceIdentifier(deviceid, deviceType))) {
|
||||
devices.add(deviceid);
|
||||
uniqueFilterdEvents.add(filterdEvents.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
EventRecords filterdRecords = new EventRecords();
|
||||
filterdRecords.setList(uniqueFilterdEvents);
|
||||
return Response.status(Response.Status.OK.getStatusCode()).entity(filterdRecords).build();
|
||||
|
||||
} catch (AnalyticsException e) {
|
||||
String errorMsg = "Error on retrieving stats on table " + sensorTableName + " with query " + query;
|
||||
log.error(errorMsg);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(errorMsg).build();
|
||||
} catch (DeviceManagementException e) {
|
||||
String errorMsg = "Error on retrieving stats on table " + sensorTableName + " with query " + query;
|
||||
log.error(errorMsg);
|
||||
return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(errorMsg).build();
|
||||
} catch (DeviceAccessAuthorizationException e) {
|
||||
String errorMsg = "Error on retrieving stats on table " + sensorTableName + " with query " + query;
|
||||
log.error(errorMsg);
|
||||
return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void publishEventReceivers(String streamNameWithVersion, TransportType transportType
|
||||
, String requestedTenantDomain, String deviceType)
|
||||
throws RemoteException, UserStoreException, JWTClientException {
|
||||
@ -590,6 +670,7 @@ public class DeviceEventManagementServiceImpl implements DeviceEventManagementSe
|
||||
return deviceType.replace(" ", "_").trim() + "-" + tenantDomain + "-" + transportType.toString() + "-receiver";
|
||||
}
|
||||
|
||||
|
||||
private void cleanup(Stub stub) {
|
||||
if (stub != null) {
|
||||
try {
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,8 +22,6 @@ import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.InvalidDeviceException;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||
import org.wso2.carbon.device.mgt.common.policy.mgt.Policy;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.push.notification.NotificationStrategy;
|
||||
|
||||
import java.util.List;
|
||||
@ -46,10 +44,6 @@ public interface OperationManager {
|
||||
Activity addOperation(Operation operation, List<DeviceIdentifier> devices) throws OperationManagementException,
|
||||
InvalidDeviceException;
|
||||
|
||||
|
||||
void addOperationsForPolicyRevoke(Policy policy, List<DeviceIdentifier> devices) throws OperationManagementException,
|
||||
InvalidDeviceException;
|
||||
|
||||
/**
|
||||
* Method to retrieve the list of all operations to a device.
|
||||
*
|
||||
@ -120,4 +114,4 @@ public interface OperationManager {
|
||||
*/
|
||||
NotificationStrategy getNotificationStrategy();
|
||||
|
||||
}
|
||||
}
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -38,8 +38,6 @@ import org.wso2.carbon.device.mgt.common.operation.mgt.ActivityStatus;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager;
|
||||
import org.wso2.carbon.device.mgt.common.policy.mgt.Policy;
|
||||
import org.wso2.carbon.device.mgt.common.policy.mgt.ProfileFeature;
|
||||
import org.wso2.carbon.device.mgt.common.push.notification.NotificationContext;
|
||||
import org.wso2.carbon.device.mgt.common.push.notification.NotificationStrategy;
|
||||
import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig;
|
||||
@ -59,14 +57,20 @@ import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOF
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationMappingDAO;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.dao.util.OperationDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.util.DeviceIDHolder;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.util.OperationCreateTimeComparator;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.util.OperationIdComparator;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||
import org.wso2.carbon.device.mgt.core.task.DeviceTaskManager;
|
||||
import org.wso2.carbon.device.mgt.core.task.impl.DeviceTaskManagerImpl;
|
||||
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* This class implements all the functionality exposed as part of the OperationManager. Any transaction initiated
|
||||
@ -279,160 +283,6 @@ public class OperationManagerImpl implements OperationManager {
|
||||
}
|
||||
}
|
||||
|
||||
private Operation getPolicyRevokeOperation() {
|
||||
CommandOperation policyRevokeOperation = new CommandOperation();
|
||||
policyRevokeOperation.setEnabled(true);
|
||||
policyRevokeOperation.setCode(OperationMgtConstants.OperationCodes.POLICY_REVOKE);
|
||||
policyRevokeOperation.setType(Operation.Type.COMMAND);
|
||||
return policyRevokeOperation;
|
||||
}
|
||||
private Operation transformPolicy(Policy policy) {
|
||||
List<ProfileFeature> effectiveFeatures = policy.getProfile().getProfileFeaturesList();
|
||||
List<ProfileOperation> profileOperationList = new ArrayList<ProfileOperation>();
|
||||
PolicyOperation policyOperation = new PolicyOperation();
|
||||
policyOperation.setEnabled(true);
|
||||
policyOperation.setType(org.wso2.carbon.device.mgt.common.operation.mgt.Operation.Type.POLICY);
|
||||
policyOperation.setCode(PolicyOperation.POLICY_OPERATION_CODE);
|
||||
for (ProfileFeature feature : effectiveFeatures) {
|
||||
ProfileOperation profileOperation = new ProfileOperation();
|
||||
profileOperation.setCode(feature.getFeatureCode());
|
||||
profileOperation.setEnabled(true);
|
||||
profileOperation.setStatus(org.wso2.carbon.device.mgt.common.operation.mgt.Operation.Status.PENDING);
|
||||
profileOperation.setType(org.wso2.carbon.device.mgt.common.operation.mgt.Operation.Type.PROFILE);
|
||||
profileOperation.setPayLoad(feature.getContent());
|
||||
profileOperationList.add(profileOperation);
|
||||
}
|
||||
policyOperation.setProfileOperations(profileOperationList);
|
||||
policyOperation.setPayLoad(policyOperation.getProfileOperations());
|
||||
return policyOperation;
|
||||
}
|
||||
@Override
|
||||
public void addOperationsForPolicyRevoke(Policy policy, List<DeviceIdentifier> deviceIds)
|
||||
throws OperationManagementException, InvalidDeviceException {
|
||||
Operation revokeOperation = getPolicyRevokeOperation();
|
||||
Operation operation = transformPolicy(policy);
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("operation:[" + operation.toString() + "]");
|
||||
for (DeviceIdentifier deviceIdentifier : deviceIds) {
|
||||
log.debug("device identifier id:[" + deviceIdentifier.getId() + "] type:[" +
|
||||
deviceIdentifier.getType() + "]");
|
||||
}
|
||||
}
|
||||
try {
|
||||
DeviceIDHolder deviceValidationResult = DeviceManagerUtil.validateDeviceIdentifiers(deviceIds);
|
||||
List<DeviceIdentifier> validDeviceIds = deviceValidationResult.getValidDeviceIDList();
|
||||
if (validDeviceIds.size() > 0) {
|
||||
DeviceIDHolder deviceAuthorizationResult = this.authorizeDevices(operation, validDeviceIds);
|
||||
List<DeviceIdentifier> authorizedDeviceList = deviceAuthorizationResult.getValidDeviceIDList();
|
||||
OperationManagementDAOFactory.beginTransaction();
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation policyOperationDto =
|
||||
OperationDAOUtil.convertOperation(operation);
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation revokeOperationDto =
|
||||
OperationDAOUtil.convertOperation(revokeOperation);
|
||||
boolean isScheduledOperation = this.isTaskScheduledOperation(operation);
|
||||
boolean isNotRepeated = false;
|
||||
boolean isScheduled = false;
|
||||
NotificationStrategy notificationStrategy = getNotificationStrategy();
|
||||
// check whether device list is greater than batch size notification strategy has enable to send push
|
||||
// notification using scheduler task
|
||||
if (DeviceConfigurationManager.getInstance().getDeviceManagementConfig().
|
||||
getPushNotificationConfiguration().getSchedulerBatchSize() <= authorizedDeviceList.size() &&
|
||||
notificationStrategy != null) {
|
||||
isScheduled = notificationStrategy.getConfig().isScheduled();
|
||||
}
|
||||
List<org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation> operationList = new LinkedList<org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation>();
|
||||
operationList.add(revokeOperationDto);
|
||||
operationList.add(policyOperationDto);
|
||||
List<Integer> operationIds = this.lookupOperationDAO(operation).addOperations(operationList);
|
||||
List<Device> devices = new ArrayList<>();
|
||||
if (org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Control.NO_REPEAT == policyOperationDto.
|
||||
getControl()) {
|
||||
isNotRepeated = true;
|
||||
}
|
||||
//Need to happen for both revoke and new policy operation
|
||||
addOperationMappings(authorizedDeviceList, revokeOperationDto, operationIds.get(0), isScheduledOperation,
|
||||
isNotRepeated, isScheduled, devices);
|
||||
sendPushNotifications(revokeOperation, operationIds.get(0), isScheduled, notificationStrategy, devices);
|
||||
//Need to happen for both revoke and new policy operation
|
||||
addOperationMappings(authorizedDeviceList, policyOperationDto, operationIds.get(1), isScheduledOperation,
|
||||
isNotRepeated, isScheduled, devices);
|
||||
sendPushNotifications(operation, operationIds.get(1), isScheduled, notificationStrategy, devices);
|
||||
OperationManagementDAOFactory.commitTransaction();
|
||||
} else {
|
||||
throw new InvalidDeviceException("Invalid device Identifiers found.");
|
||||
}
|
||||
} catch (OperationManagementDAOException e) {
|
||||
OperationManagementDAOFactory.rollbackTransaction();
|
||||
throw new OperationManagementException("Error occurred while adding operation", e);
|
||||
} catch (TransactionManagementException e) {
|
||||
throw new OperationManagementException("Error occurred while initiating the transaction", e);
|
||||
} finally {
|
||||
OperationManagementDAOFactory.closeConnection();
|
||||
}
|
||||
}
|
||||
private String addOperationMappings(List<DeviceIdentifier> authorizedDeviceList, org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation operationDto, int operationId, boolean isScheduledOperation, boolean isNotRepeated, boolean isScheduled, List<Device> devices) throws OperationManagementException, OperationManagementDAOException {
|
||||
int enrolmentId;
|
||||
int existingTaskOperationId;//TODO have to create a sql to load device details from deviceDAO using single query.
|
||||
String operationCode = operationDto.getCode();
|
||||
for (DeviceIdentifier deviceId : authorizedDeviceList) {
|
||||
Device device = getDevice(deviceId);
|
||||
devices.add(device);
|
||||
enrolmentId = device.getEnrolmentInfo().getId();
|
||||
//Do not repeat the task operations
|
||||
if (isScheduledOperation) {
|
||||
existingTaskOperationId = operationDAO.getExistingOperationID(enrolmentId, operationCode);
|
||||
if (existingTaskOperationId != -1) {
|
||||
operationMappingDAO.addOperationMapping(operationId, enrolmentId, isScheduled);
|
||||
}
|
||||
} else if (isNotRepeated) {
|
||||
operationDAO.updateEnrollmentOperationsStatus(enrolmentId, operationCode,
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Status.PENDING,
|
||||
org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation.Status.REPEATED);
|
||||
operationMappingDAO.addOperationMapping(operationId, enrolmentId, isScheduled);
|
||||
} else {
|
||||
operationMappingDAO.addOperationMapping(operationId, enrolmentId, isScheduled);
|
||||
}
|
||||
}
|
||||
return operationCode;
|
||||
}
|
||||
/*
|
||||
* If notification strategy has not enable to send push notification using scheduler task we will send
|
||||
* notification immediately. This is done in separate loop inorder to prevent overlap with DB insert
|
||||
* operations with the possible db update operations trigger followed by pending operation call.
|
||||
* Otherwise device may call pending operation while DB is locked for write and deadlock can occur.
|
||||
*/
|
||||
private void sendPushNotifications(Operation operation, int operationId, boolean isScheduled, NotificationStrategy notificationStrategy, List<Device> devices) {
|
||||
int enrolmentId;
|
||||
if (notificationStrategy != null && !isScheduled) {
|
||||
for (Device device : devices) {
|
||||
DeviceIdentifier deviceId = new DeviceIdentifier(device.getDeviceIdentifier(), device.getType());
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Sending push notification to " + deviceId + " from add operation method.");
|
||||
}
|
||||
operation.setId(operationId);
|
||||
operation.setActivityId(DeviceManagementConstants.OperationAttributes.ACTIVITY + operationId);
|
||||
try {
|
||||
notificationStrategy.execute(new NotificationContext(deviceId, operation));
|
||||
} catch (PushNotificationExecutionFailedException e) {
|
||||
log.error("Error occurred while sending push notifications to " + deviceId.getType() +
|
||||
" device carrying id '" + deviceId + "'", e);
|
||||
/*
|
||||
Reschedule if push notification failed. Doing db transactions in atomic way to prevent
|
||||
deadlocks.
|
||||
*/
|
||||
enrolmentId = device.getEnrolmentInfo().getId();
|
||||
try {
|
||||
operationMappingDAO.updateOperationMapping(operationId, enrolmentId, org.wso2.carbon
|
||||
.device.mgt.core.dto.operation.mgt.Operation.PushNotificationStatus.SCHEDULED);
|
||||
} catch (OperationManagementDAOException ex) {
|
||||
// Not throwing this exception in order to keep sending remaining notifications if any.
|
||||
log.error("Error occurred while setting push notification status to SCHEDULED.", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void sendNotification(Operation operation, Device device) {
|
||||
NotificationStrategy notificationStrategy = getNotificationStrategy();
|
||||
/*
|
||||
@ -671,7 +521,7 @@ public class OperationManagerImpl implements OperationManager {
|
||||
operation = OperationDAOUtil.convertOperation(dtoOperation);
|
||||
operations.add(operation);
|
||||
}
|
||||
Collections.sort(operations, new OperationCreateTimeComparator());
|
||||
Collections.sort(operations, new OperationIdComparator());
|
||||
} catch (OperationManagementDAOException e) {
|
||||
throw new OperationManagementException("Error occurred while retrieving the list of " +
|
||||
"pending operations assigned for '" + deviceId.getType() +
|
||||
|
||||
@ -30,8 +30,6 @@ public interface OperationDAO {
|
||||
|
||||
int addOperation(Operation operation) throws OperationManagementDAOException;
|
||||
|
||||
List<Integer> addOperations(List<Operation> operations) throws OperationManagementDAOException;
|
||||
|
||||
Operation getOperation(int operationId) throws OperationManagementDAOException;
|
||||
|
||||
Operation getOperationByDeviceAndId(int enrolmentId, int operationId) throws OperationManagementDAOException;
|
||||
@ -90,4 +88,4 @@ public interface OperationDAO {
|
||||
Map<Integer, List<OperationMapping>> getOperationMappingsByStatus(Operation.Status opStatus, Operation.PushNotificationStatus pushNotificationStatus,
|
||||
int limit) throws OperationManagementDAOException;
|
||||
|
||||
}
|
||||
}
|
||||
@ -86,37 +86,6 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
}
|
||||
}
|
||||
|
||||
//This implementation has been done this way due to H2 not supporting batch inserts properly.
|
||||
//Even though records are added in batch mode, only the id of the last added record will be returned, which is a problem.
|
||||
public List<Integer> addOperations(List<Operation> operations) throws OperationManagementDAOException {
|
||||
List<Integer> ids = new LinkedList<Integer>();
|
||||
for (Operation operation : operations) {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rs = null;
|
||||
try {
|
||||
Connection connection = OperationManagementDAOFactory.getConnection();
|
||||
String sql = "INSERT INTO DM_OPERATION(TYPE, CREATED_TIMESTAMP, RECEIVED_TIMESTAMP, OPERATION_CODE) " +
|
||||
"VALUES (?, ?, ?, ?)";
|
||||
stmt = connection.prepareStatement(sql, new String[]{"id"});
|
||||
stmt.setString(1, operation.getType().toString());
|
||||
stmt.setTimestamp(2, new Timestamp(new Date().getTime()));
|
||||
stmt.setTimestamp(3, null);
|
||||
stmt.setString(4, operation.getCode());
|
||||
stmt.executeUpdate();
|
||||
rs = stmt.getGeneratedKeys();
|
||||
int id = -1;
|
||||
if (rs.next()) {
|
||||
ids.add(rs.getInt(1));
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new OperationManagementDAOException("Error occurred while adding operation metadata", e);
|
||||
} finally {
|
||||
OperationManagementDAOUtil.cleanupResources(stmt, rs);
|
||||
}
|
||||
}
|
||||
return ids;
|
||||
}
|
||||
|
||||
public boolean updateOperationStatus(int enrolmentId, int operationId, Operation.Status status)
|
||||
throws OperationManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
@ -1303,7 +1272,8 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
String sql = "SELECT o.ID, TYPE, o.CREATED_TIMESTAMP, o.RECEIVED_TIMESTAMP, " +
|
||||
"OPERATION_CODE, om.STATUS, om.ID AS OM_MAPPING_ID, om.UPDATED_TIMESTAMP FROM DM_OPERATION o " +
|
||||
"INNER JOIN (SELECT * FROM DM_ENROLMENT_OP_MAPPING dm " +
|
||||
"WHERE dm.ENROLMENT_ID = ?) om ON o.ID = om.OPERATION_ID ORDER BY o.CREATED_TIMESTAMP DESC";
|
||||
"WHERE dm.ENROLMENT_ID = ?) om ON o.ID = om.OPERATION_ID " +
|
||||
"ORDER BY o.CREATED_TIMESTAMP DESC, o.ID DESC";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setInt(1, enrolmentId);
|
||||
rs = stmt.executeQuery();
|
||||
@ -1344,7 +1314,8 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
String sql = "SELECT o.ID, TYPE, o.CREATED_TIMESTAMP, o.RECEIVED_TIMESTAMP, " +
|
||||
"OPERATION_CODE, om.STATUS, om.ID AS OM_MAPPING_ID, om.UPDATED_TIMESTAMP FROM DM_OPERATION o " +
|
||||
"INNER JOIN (SELECT * FROM DM_ENROLMENT_OP_MAPPING dm " +
|
||||
"WHERE dm.ENROLMENT_ID = ?) om ON o.ID = om.OPERATION_ID ORDER BY o.CREATED_TIMESTAMP DESC LIMIT ?,?";
|
||||
"WHERE dm.ENROLMENT_ID = ?) om ON o.ID = om.OPERATION_ID " +
|
||||
"ORDER BY o.CREATED_TIMESTAMP DESC, o.ID DESC LIMIT ?,?";
|
||||
stmt = conn.prepareStatement(sql);
|
||||
stmt.setInt(1, enrolmentId);
|
||||
stmt.setInt(2, request.getStartIndex());
|
||||
@ -1410,7 +1381,7 @@ public class GenericOperationDAOImpl implements OperationDAO {
|
||||
"OPERATION_CODE, om.ID AS OM_MAPPING_ID, om.UPDATED_TIMESTAMP FROM DM_OPERATION o " +
|
||||
"INNER JOIN (SELECT * FROM DM_ENROLMENT_OP_MAPPING dm " +
|
||||
"WHERE dm.ENROLMENT_ID = ? AND dm.STATUS = ?) om ON o.ID = om.OPERATION_ID " +
|
||||
"ORDER BY om.UPDATED_TIMESTAMP ASC LIMIT 1");
|
||||
"ORDER BY om.UPDATED_TIMESTAMP ASC, om.ID ASC LIMIT 1");
|
||||
stmt.setInt(1, enrolmentId);
|
||||
stmt.setString(2, Operation.Status.PENDING.toString());
|
||||
rs = stmt.executeQuery();
|
||||
|
||||
@ -20,7 +20,6 @@ package org.wso2.carbon.device.mgt.core.operation.mgt.dao.impl;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.device.mgt.core.dto.operation.mgt.CommandOperation;
|
||||
import org.wso2.carbon.device.mgt.core.dto.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.core.dto.operation.mgt.PolicyOperation;
|
||||
import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOException;
|
||||
@ -47,6 +46,7 @@ public class PolicyOperationDAOImpl extends GenericOperationDAOImpl {
|
||||
operation.setCreatedTimeStamp(new Timestamp(new java.util.Date().getTime()).toString());
|
||||
operation.setId(operationId);
|
||||
operation.setEnabled(true);
|
||||
PolicyOperation policyOperation = (PolicyOperation) operation;
|
||||
Connection conn = OperationManagementDAOFactory.getConnection();
|
||||
stmt = conn.prepareStatement("INSERT INTO DM_POLICY_OPERATION(OPERATION_ID, OPERATION_DETAILS) " +
|
||||
"VALUES(?, ?)");
|
||||
@ -82,79 +82,6 @@ public class PolicyOperationDAOImpl extends GenericOperationDAOImpl {
|
||||
return operationId;
|
||||
}
|
||||
|
||||
|
||||
private int addCommandOperation(int operationId, Operation operation) throws OperationManagementDAOException {
|
||||
CommandOperation commandOp = (CommandOperation) operation;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
Connection conn = OperationManagementDAOFactory.getConnection();
|
||||
stmt = conn.prepareStatement("INSERT INTO DM_COMMAND_OPERATION(OPERATION_ID, ENABLED) VALUES(?, ?)");
|
||||
stmt.setInt(1, operationId);
|
||||
stmt.setBoolean(2, commandOp.isEnabled());
|
||||
stmt.executeUpdate();
|
||||
} catch (SQLException e) {
|
||||
throw new OperationManagementDAOException("Error occurred while adding command operation", e);
|
||||
} finally {
|
||||
OperationManagementDAOUtil.cleanupResources(stmt);
|
||||
}
|
||||
return operationId;
|
||||
}
|
||||
@Override
|
||||
public List<Integer> addOperations(List<Operation> operations) throws OperationManagementDAOException {
|
||||
List<Integer> operationIds;
|
||||
int counter = 0;
|
||||
operationIds = super.addOperations(operations);
|
||||
for(Operation operation : operations) {
|
||||
if(operation.getType().equals(Operation.Type.COMMAND)){
|
||||
addCommandOperation(operationIds.get(counter), operation);
|
||||
} else if(operation.getType().equals(Operation.Type.POLICY)){
|
||||
addPolicyOperation(operationIds.get(counter), operation);
|
||||
}
|
||||
counter++;
|
||||
}
|
||||
return operationIds;
|
||||
}
|
||||
private void addPolicyOperation(int operationId, Operation operation) throws OperationManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
ByteArrayOutputStream bao = null;
|
||||
ObjectOutputStream oos = null;
|
||||
try {
|
||||
operation.setCreatedTimeStamp(new Timestamp(new java.util.Date().getTime()).toString());
|
||||
operation.setId(operationId);
|
||||
operation.setEnabled(true);
|
||||
Connection conn = OperationManagementDAOFactory.getConnection();
|
||||
stmt = conn.prepareStatement("INSERT INTO DM_POLICY_OPERATION(OPERATION_ID, OPERATION_DETAILS) " +
|
||||
"VALUES(?, ?)");
|
||||
bao = new ByteArrayOutputStream();
|
||||
oos = new ObjectOutputStream(bao);
|
||||
oos.writeObject(operation);
|
||||
stmt.setInt(1, operationId);
|
||||
stmt.setBytes(2, bao.toByteArray());
|
||||
stmt.executeUpdate();
|
||||
} catch (SQLException e) {
|
||||
throw new OperationManagementDAOException("Error occurred while adding policy operation", e);
|
||||
} catch (IOException e) {
|
||||
throw new OperationManagementDAOException("Error occurred while serializing policy operation object", e);
|
||||
} finally {
|
||||
if (bao != null) {
|
||||
try {
|
||||
bao.close();
|
||||
} catch (IOException e) {
|
||||
log.warn("Error occurred while closing ByteArrayOutputStream", e);
|
||||
}
|
||||
}
|
||||
if (oos != null) {
|
||||
try {
|
||||
oos.close();
|
||||
} catch (IOException e) {
|
||||
log.warn("Error occurred while closing ObjectOutputStream", e);
|
||||
}
|
||||
}
|
||||
OperationManagementDAOUtil.cleanupResources(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Operation getOperation(int operationId) throws OperationManagementDAOException {
|
||||
PreparedStatement stmt = null;
|
||||
|
||||
@ -23,13 +23,11 @@ import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
|
||||
public class OperationCreateTimeComparator implements Comparator<Operation>, Serializable {
|
||||
public class OperationIdComparator implements Comparator<Operation>, Serializable {
|
||||
|
||||
@Override
|
||||
public int compare(Operation o1, Operation o2) {
|
||||
long createdTime1 = java.sql.Timestamp.valueOf(o1.getCreatedTimeStamp()).getTime();
|
||||
long createdTime2 = java.sql.Timestamp.valueOf(o1.getCreatedTimeStamp()).getTime();
|
||||
return (int) (createdTime1 - createdTime2);
|
||||
return o1.getId() - o2.getId();
|
||||
}
|
||||
|
||||
}
|
||||
@ -33,7 +33,6 @@ import org.wso2.carbon.device.mgt.common.license.mgt.License;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.policy.mgt.Policy;
|
||||
import org.wso2.carbon.device.mgt.common.policy.mgt.PolicyMonitoringManager;
|
||||
import org.wso2.carbon.device.mgt.common.pull.notification.PullNotificationExecutionFailedException;
|
||||
import org.wso2.carbon.device.mgt.common.push.notification.NotificationStrategy;
|
||||
@ -543,10 +542,6 @@ public interface DeviceManagementProviderService {
|
||||
Activity addOperation(String type, Operation operation,
|
||||
List<DeviceIdentifier> devices) throws OperationManagementException, InvalidDeviceException;
|
||||
|
||||
void addPolicyOperations(String type, Policy policy,
|
||||
List<DeviceIdentifier> devices) throws OperationManagementException, InvalidDeviceException;
|
||||
|
||||
|
||||
List<? extends Operation> getOperations(DeviceIdentifier deviceId) throws OperationManagementException;
|
||||
|
||||
PaginationResult getOperations(DeviceIdentifier deviceId,
|
||||
|
||||
@ -58,7 +58,6 @@ import org.wso2.carbon.device.mgt.common.operation.mgt.Activity;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager;
|
||||
import org.wso2.carbon.device.mgt.common.policy.mgt.Policy;
|
||||
import org.wso2.carbon.device.mgt.common.policy.mgt.PolicyMonitoringManager;
|
||||
import org.wso2.carbon.device.mgt.common.pull.notification.PullNotificationExecutionFailedException;
|
||||
import org.wso2.carbon.device.mgt.common.pull.notification.PullNotificationSubscriber;
|
||||
@ -1431,12 +1430,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
return pluginRepository.getOperationManager(type, this.getTenantId()).addOperation(operation, devices);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPolicyOperations(String type, Policy policy,
|
||||
List<DeviceIdentifier> devices) throws OperationManagementException, InvalidDeviceException {
|
||||
pluginRepository.getOperationManager(type, this.getTenantId()).addOperationsForPolicyRevoke(policy, devices);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Operation> getOperations(DeviceIdentifier deviceId) throws OperationManagementException {
|
||||
return pluginRepository.getOperationManager(deviceId.getType(), this.getTenantId()).getOperations(deviceId);
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"appName": "WSO2 IoT Server",
|
||||
"appName": "Entgra IoT Server",
|
||||
"cachingEnabled": false,
|
||||
"debuggingEnabled": false,
|
||||
"permissionRoot": "/",
|
||||
|
||||
@ -57,11 +57,11 @@
|
||||
},
|
||||
"generalConfig": {
|
||||
"host": "https://%iot.manager.host%:%iot.manager.https.port%",
|
||||
"companyName": "WSO2 Carbon Device Manager",
|
||||
"browserTitle": "WSO2 Device Manager",
|
||||
"companyName": "Entgra Carbon Device Manager",
|
||||
"browserTitle": "Entgra Device Manager",
|
||||
"copyrightPrefix": "\u00A9 %date-year%, ",
|
||||
"copyrightOwner": "WSO2 Inc.",
|
||||
"copyrightOwnersSite": "http://www.wso2.org",
|
||||
"copyrightOwner": "Entgra",
|
||||
"copyrightOwnersSite": "https://www.entgra.io/",
|
||||
"copyrightSuffix": " All Rights Reserved."
|
||||
},
|
||||
"scopes": [
|
||||
|
||||
@ -25,15 +25,15 @@
|
||||
<div class="alert alert-info"><h3>COOKIE POLICY</h3></div>
|
||||
|
||||
<div class="panel-body">
|
||||
<h3>About WSO2 IoT Server</h3>
|
||||
<p>WSO2 IoT Server 3.3.0 is a complete solution that enables device manufacturers and enterprises to
|
||||
<h3>About Entgra IoT Server</h3>
|
||||
<p>Entgra IoT Server 3.4.0 is a complete solution that enables device manufacturers and enterprises to
|
||||
connect and manage their devices, build apps, manage events, secure devices and data, and visualize
|
||||
sensor data in a scalable manner.</p>
|
||||
<p>It also offers a complete and secure Enterprise Mobility Management (EMM/MDM) solution that aims to
|
||||
address mobile computing challenges faced by enterprises today. Supporting iOS, Android, and Windows
|
||||
devices, it helps organizations deal with both Corporate Owned, Personally Enabled (COPE) and
|
||||
employee-owned devices with the Bring Your Own Device (BYOD) concept.</p>
|
||||
<p>WSO2 IoT Server 3.3.0 comes with advanced analytics, enabling users to analyze speed, proximity, and
|
||||
<p>Entgra IoT Server 3.4.0 comes with advanced analytics, enabling users to analyze speed, proximity, and
|
||||
geo-fencing information of devices including details of those in motion and stationary state.</p>
|
||||
</p>
|
||||
<h2>Cookie Policy</h2>
|
||||
@ -45,67 +45,67 @@
|
||||
apps remember things about you. Other technologies, including Web storage and identifiers associated
|
||||
with your device, may be used for similar purposes. In this policy, we use the term “cookies” to
|
||||
discuss all of these technologies.</p>
|
||||
<h3>How does WSO2 IoT Server 3.3.0 process cookies?</h3>
|
||||
<p>WSO2 IoT Server 3.3.0 uses cookies to store and retrieve information on your browser. This
|
||||
<h3>How does Entgra IoT Server 3.4.0 process cookies?</h3>
|
||||
<p>Entgra IoT Server 3.4.0 uses cookies to store and retrieve information on your browser. This
|
||||
information is used to provide a better user experience. Some cookies serve the purpose of allowing a
|
||||
user to log in to the system, maintain sessions, and keep track of activities within the login
|
||||
session.</p>
|
||||
<p>Some cookies in WSO2 IoT Server 3.3.0 are used to personally identify you. However, the cookie
|
||||
<p>Some cookies in Entgra IoT Server 3.4.0 are used to personally identify you. However, the cookie
|
||||
lifetime ends once your session ends, i.e., after you log-out, or after the session expiry time has
|
||||
elapsed.</p>
|
||||
<p>Some cookies are simply used to give you a more personalised web experience, and these cannot be used
|
||||
to identify you or your activities personally.</p>
|
||||
<p>This Cookie Policy is part of the IoT Server <a href="{{@app.context}}/privacy-policy">Privacy Policy.</a>
|
||||
</p>
|
||||
<h3>What does WSO2 IoT Server 3.0.0 use cookies for?</h3>
|
||||
<p>Cookies are used for two purposes in WSO2 IoT Server 3.3.0.</p>
|
||||
<h3>What does Entgra IoT Server 3.0.0 use cookies for?</h3>
|
||||
<p>Cookies are used for two purposes in Entgra IoT Server 3.4.0.</p>
|
||||
<ol>
|
||||
<li>To identify you and provide security</li>
|
||||
<li>To provide a satisfying user experience.</li>
|
||||
</ol>
|
||||
|
||||
<h4><u>Preferences</u></h4>
|
||||
<p>WSO2 IoT Server 3.3.0 uses cookies to remember your settings and preferences and to auto-fill the
|
||||
<p>Entgra IoT Server 3.4.0 uses cookies to remember your settings and preferences and to auto-fill the
|
||||
fields to make your interactions with the site easier.</p>
|
||||
<p>These cookies can not be used to personally identify you.</p>
|
||||
|
||||
<h4><u>Security</u></h4>
|
||||
<ol>
|
||||
<li>WSO2 IoT Server 3.3.0 uses selected cookies to identify and prevent security risks. For example,
|
||||
WSO2 IoT Server 3.3.0 may use cookies to store your session information to prevent others from
|
||||
<li>Entgra IoT Server 3.4.0 uses selected cookies to identify and prevent security risks. For example,
|
||||
Entgra IoT Server 3.4.0 may use cookies to store your session information to prevent others from
|
||||
changing your password without your username and password.
|
||||
</li>
|
||||
<li>WSO2 IoT Server 3.3.0 uses session cookie to maintain your active session.</li>
|
||||
<li>WSO2 IoT Server 3.3.0 may use a temporary cookie when performing multi-factor authentication and
|
||||
<li>Entgra IoT Server 3.4.0 uses session cookie to maintain your active session.</li>
|
||||
<li>Entgra IoT Server 3.4.0 may use a temporary cookie when performing multi-factor authentication and
|
||||
federated authentication.
|
||||
</li>
|
||||
<li>WSO2 IoT Server 3.3.0 may use permanent cookies to detect the devices you have logged in
|
||||
<li>Entgra IoT Server 3.4.0 may use permanent cookies to detect the devices you have logged in
|
||||
previously. This is to to calculate the <b>risk level</b> associated with your current login
|
||||
attempt. Using these cookies protects you and your account from possible attacks.
|
||||
</li>
|
||||
</ol>
|
||||
<h4><u>Performance</u></h4>
|
||||
<p>WSO2 IoT Server 3.3.0 may use cookies to allow <b>Remember Me</b> functionalities.</p>
|
||||
<p>Entgra IoT Server 3.4.0 may use cookies to allow <b>Remember Me</b> functionalities.</p>
|
||||
<h4><u>Analytics</u></h4>
|
||||
<p>WSO2 IoT Server 3.3.0 as a product does not use cookies for analytical purposes.</p>
|
||||
<p>Entgra IoT Server 3.4.0 as a product does not use cookies for analytical purposes.</p>
|
||||
<h4><u>Third party cookies</u></h4>
|
||||
<p>Using WSO2 IoT Server 3.3.0 may cause third-party cookie to be set in your browser. WSO2 IoT Server
|
||||
3.3.0 has no control over how any of them operate. The third-party cookies that maybe set
|
||||
<p>Using Entgra IoT Server 3.4.0 may cause third-party cookie to be set in your browser. Entgra IoT Server
|
||||
3.4.0 has no control over how any of them operate. The third-party cookies that maybe set
|
||||
include:</p>
|
||||
<ol>
|
||||
<li>Any social login sites. For example, third-party cookies may be set when WSO2 IoT Server 3.3.0
|
||||
<li>Any social login sites. For example, third-party cookies may be set when Entgra IoT Server 3.4.0
|
||||
is configured to use “social” or “federated” login, and you opt to login with your “Social
|
||||
Account”.
|
||||
</li>
|
||||
<li>Any third party federated login.</li>
|
||||
</ol>
|
||||
<p>WSO2 strongly advises you to refer the respective cookie policies of such sites carefully as WSO2 has
|
||||
<p>Entgra strongly advises you to refer the respective cookie policies of such sites carefully as Entgra has
|
||||
no knowledge or use on these cookies.</p>
|
||||
<h3>What type of cookies does WSO2 IoT Server 3.3.0 use?</h3>
|
||||
<p>WSO2 IoT Server 3.3.0 uses persistent cookies and session cookies. A persistent cookie helps WSO2 IS
|
||||
3.3.0 to recognize you as an existing user so that it is easier to return to WSO2 or interact with
|
||||
WSO2 IS 3.3.0 without signing in again. After you sign in, a persistent cookie stays in your browser
|
||||
and will be read by WSO2 IoT Server 3.3.0 when you return to WSO2 IoT Server 3.3.0.</p>
|
||||
<h3>What type of cookies does Entgra IoT Server 3.4.0 use?</h3>
|
||||
<p>Entgra IoT Server 3.4.0 uses persistent cookies and session cookies. A persistent cookie helps Entgra IS
|
||||
3.4.0 to recognize you as an existing user so that it is easier to return to Entgra or interact with
|
||||
Entgra IS 3.4.0 without signing in again. After you sign in, a persistent cookie stays in your browser
|
||||
and will be read by Entgra IoT Server 3.4.0 when you return to Entgra IoT Server 3.4.0.</p>
|
||||
<p>A session cookie is a cookie that is erased when the user closes the Web browser. The session cookie
|
||||
is stored in temporarily and is not retained after the browser is closed. Session cookies do not
|
||||
collect information from the user’s computer.</p>
|
||||
@ -114,9 +114,9 @@
|
||||
for websites to set cookies, you may worsen your overall user experience since it will no longer be
|
||||
personalized to you. It may also stop you from saving customized settings like login information.
|
||||
Most likely, disabling cookies will make it unable for you to use authentication and authorization
|
||||
functionalities offered by WSO2 IoT Server 3.3.0.</p>
|
||||
functionalities offered by Entgra IoT Server 3.4.0.</p>
|
||||
<p>If you have any questions or concerns regarding the use of cookies, please contact the entity or
|
||||
individuals (or their data protection officer, if applicable) running this WSO2 IoT Server 3.3.0
|
||||
individuals (or their data protection officer, if applicable) running this Entgra IoT Server 3.4.0
|
||||
instance.</p>
|
||||
<h3>What are the cookies used?</h3>
|
||||
<table class="table table-striped table-bordered">
|
||||
@ -150,17 +150,17 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Disclaimer</h3>
|
||||
<p>This cookie policy is only for illustrative purposes of the product WSO2 IoT Server 3.3.0. The
|
||||
<p>This cookie policy is only for illustrative purposes of the product Entgra IoT Server 3.4.0. The
|
||||
content in the policy is technically correct at the time of the product shipment. The
|
||||
entity,organization or individual that runs this WSO2 IoT Server 3.3.0 instance has full authority
|
||||
and responsibility with regard to the effective Cookie Policy. WSO2, its employees, partners, and
|
||||
entity,organization or individual that runs this Entgra IoT Server 3.4.0 instance has full authority
|
||||
and responsibility with regard to the effective Cookie Policy. Entgra, its employees, partners, and
|
||||
affiliates do not have access to and do not require, store, process or control any of the data,
|
||||
including personal data contained in WSO2 IoT Server 3.3.0. All data, including personal data is
|
||||
controlled and processed by the entity, organization or individual running WSO2 IoT Server 3.3.0.
|
||||
WSO2, its employees partners and affiliates are not a data processor or a data controller within the
|
||||
meaning of any data privacy regulations. WSO2 does not provide any warranties or undertake any
|
||||
including personal data contained in Entgra IoT Server 3.4.0. All data, including personal data is
|
||||
controlled and processed by the entity, organization or individual running Entgra IoT Server 3.4.0.
|
||||
Entgra, its employees partners and affiliates are not a data processor or a data controller within the
|
||||
meaning of any data privacy regulations. Entgra does not provide any warranties or undertake any
|
||||
responsibility or liability in connection with the lawfulness or the manner and purposes for which
|
||||
WSO2 IoT Server 3.3.0 is used by such entities, organizations or persons.</p>
|
||||
Entgra IoT Server 3.4.0 is used by such entities, organizations or persons.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -25,29 +25,29 @@
|
||||
<div class="alert alert-info"><h3>PRIVACY POLICY</h3></div>
|
||||
|
||||
<div class="panel-body">
|
||||
<h3>About WSO2 IoT Server</h3>
|
||||
<p>WSO2 IoT Server is a complete solution that enables device manufacturers and enterprises to connect
|
||||
<h3>About Entgra IoT Server</h3>
|
||||
<p>Entgra IoT Server is a complete solution that enables device manufacturers and enterprises to connect
|
||||
and manage their devices, build apps, manage events, secure devices and data, and visualize sensor
|
||||
data in a scalable manner.</p>
|
||||
<p>It also offers a complete and secure Enterprise Mobility Management (EMM/MDM) solution that aims to
|
||||
address mobile computing challenges faced by enterprises today. Supporting iOS, Android, and Windows
|
||||
devices, it helps organizations deal with both Corporate Owned, Personally Enabled (COPE) and
|
||||
employee-owned devices with the Bring Your Own Device (BYOD) concept.</p>
|
||||
<p>WSO2 IoT Server comes with advanced analytics, enabling users to analyze speed, proximity, and
|
||||
<p>Entgra IoT Server comes with advanced analytics, enabling users to analyze speed, proximity, and
|
||||
geo-fencing information of devices including details of those in motion and stationary state.</p>
|
||||
<h3>Privacy Policy</h3>
|
||||
<p>This policy describes how WSO2 IoT Server 3.3.0 captures your personal information, the purposes of
|
||||
<p>This policy describes how Entgra IoT Server 3.4.0 captures your personal information, the purposes of
|
||||
collection, and information about the retention of your personal information.
|
||||
<p>Please note that this policy is for reference only, and is applicable for the software as a product.
|
||||
WSO2 Inc. and its developers have no access to the information held within WSO2 IoT Server
|
||||
3.3.0.Please see the Disclaimer section for more information. Entities, organisations or individuals
|
||||
controlling the use and administration of WSO2 IoT Server 3.3.0 should create their own privacy
|
||||
Entgra and its developers have no access to the information held within Entgra IoT Server
|
||||
3.4.0.Please see the Disclaimer section for more information. Entities, organisations or individuals
|
||||
controlling the use and administration of Entgra IoT Server 3.4.0 should create their own privacy
|
||||
policies setting out the manner in which data is controlled or processed by the respective entity,
|
||||
organisation or individual.
|
||||
<h3>What is personal information?</h3>
|
||||
<p>WSO2 IoT Server 3.3.0 considers anything related to you and by which you may be identified as your
|
||||
<p>Entgra IoT Server 3.4.0 considers anything related to you and by which you may be identified as your
|
||||
personal information.</p>
|
||||
<p><b>Signing in to WSO2 IoT Server 3.3.0</b></p>
|
||||
<p><b>Signing in to Entgra IoT Server 3.4.0</b></p>
|
||||
<ol>
|
||||
<li>Your user name (except in cases where the user name created by your employer is under
|
||||
contract)
|
||||
@ -55,7 +55,7 @@
|
||||
<li>IP address used to log in</li>
|
||||
<li>Email address</li>
|
||||
</ol>
|
||||
<p><b>Enrolling a device with WSO2 IoT Server 3.3.0</b></p>
|
||||
<p><b>Enrolling a device with Entgra IoT Server 3.4.0</b></p>
|
||||
<ul>
|
||||
<li>Your device ID (e.g., phone or tablet), mobile number, IMEI number, and IMSI number</li>
|
||||
<li>Your device’s location</li>
|
||||
@ -64,7 +64,7 @@
|
||||
memory usage
|
||||
</li>
|
||||
</ul>
|
||||
<p>However, WSO2 IoT Server 3.3.0 also collects the following information that is not considered
|
||||
<p>However, Entgra IoT Server 3.4.0 also collects the following information that is not considered
|
||||
personal information, but is used only for <b>statistical</b> purposes. The reason for this is that
|
||||
this information can not be used to track you.
|
||||
<ul>
|
||||
@ -74,17 +74,17 @@
|
||||
<li>Operating system and generic browser information</li>
|
||||
</ul>
|
||||
<h3>Collection of personal information</h3>
|
||||
<p>WSO2 IoT Server 3.3.0 collects your information only to serve your access requirements. For example:
|
||||
<p>Entgra IoT Server 3.4.0 collects your information only to serve your access requirements. For example:
|
||||
<ul>
|
||||
<li>WSO2 IoT Server 3.3.0 uses your IP address to detect any suspicious login attempts to your
|
||||
<li>Entgra IoT Server 3.4.0 uses your IP address to detect any suspicious login attempts to your
|
||||
account.
|
||||
<li>WSO2 IoT Server 3.3.0 uses attributes like your first name, last name, etc., to provide a rich
|
||||
<li>Entgra IoT Server 3.4.0 uses attributes like your first name, last name, etc., to provide a rich
|
||||
and personalized user experience.
|
||||
<li>WSO2 IoT Server 3.3.0 uses your security questions and answers only to allow account recovery.
|
||||
<li>Entgra IoT Server 3.4.0 uses your security questions and answers only to allow account recovery.
|
||||
</li>
|
||||
</ul>
|
||||
<h4><u>Tracking Technologies</u></h4>
|
||||
<p>WSO2 IoT Server 3.3.0 collects your information by:</p>
|
||||
<p>Entgra IoT Server 3.4.0 collects your information by:</p>
|
||||
<ul>
|
||||
<li>Collecting information from the user profile page where you enter your personal data.</li>
|
||||
<li>Tracking your IP address with HTTP request, HTTP headers, and TCP/IP.</li>
|
||||
@ -95,15 +95,15 @@
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Use of personal information</h3>
|
||||
<p>WSO2 IoT Server 3.3.0 will only use your personal information for the purposes for which it was
|
||||
<p>Entgra IoT Server 3.4.0 will only use your personal information for the purposes for which it was
|
||||
collected (or for a use identified as consistent with that purpose).</p>
|
||||
<p>WSO2 IoT Server 3.3.0 uses your personal information only for the following purposes.</p>
|
||||
<p>Entgra IoT Server 3.4.0 uses your personal information only for the following purposes.</p>
|
||||
<ul>
|
||||
<li>To provide you with a personalized user experience. WSO2 IoT Server 3.3.0 uses your name and
|
||||
<li>To provide you with a personalized user experience. Entgra IoT Server 3.4.0 uses your name and
|
||||
uploaded profile pictures for this purpose.
|
||||
</li>
|
||||
<li>To protect your account from unauthorized access or potential hacking attempts. WSO2 IoT Server
|
||||
3.3.0 uses HTTP or TCP/IP Headers for this purpose.
|
||||
<li>To protect your account from unauthorized access or potential hacking attempts. Entgra IoT Server
|
||||
3.4.0 uses HTTP or TCP/IP Headers for this purpose.
|
||||
</li>
|
||||
<li>
|
||||
<p>This includes:</p>
|
||||
@ -113,11 +113,11 @@
|
||||
<li>Cookies</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Derive statistical data for analytical purposes on system performance improvements. WSO2 IoT
|
||||
Server 3.3.0 will not keep any personal information after statistical calculations. Therefore,
|
||||
<li>Derive statistical data for analytical purposes on system performance improvements. Entgra IoT
|
||||
Server 3.4.0 will not keep any personal information after statistical calculations. Therefore,
|
||||
the statistical report has no means of identifying an individual person.
|
||||
</li>
|
||||
<li>WSO2 IoT Server 3.3.0 may use:</li>
|
||||
<li>Entgra IoT Server 3.4.0 may use:</li>
|
||||
<li>
|
||||
<ol>
|
||||
<li>IP Address to derive geographic information</li>
|
||||
@ -126,28 +126,28 @@
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Disclosure of personal information</h3>
|
||||
<p>WSO2 IoT Server 3.3.0 only discloses personal information to the relevant applications (also known as
|
||||
“Service Providers”) that are registered with WSO2 IoT Server 3.3.0. These applications are
|
||||
<p>Entgra IoT Server 3.4.0 only discloses personal information to the relevant applications (also known as
|
||||
“Service Providers”) that are registered with Entgra IoT Server 3.4.0. These applications are
|
||||
registered by the identity administrator of your entity or organization. Personal information is
|
||||
disclosed only for the purposes for which it was collected (or for a use identified as consistent
|
||||
with that purpose) as controlled by such Service Providers, unless you have consented otherwise or
|
||||
where it is required by law.</p>
|
||||
<h4>Legal process</h4>
|
||||
<p>Please note that the organisation, entity or individual running WSO2 IoT Server 3.3.0 may be
|
||||
<p>Please note that the organisation, entity or individual running Entgra IoT Server 3.4.0 may be
|
||||
compelled to disclose your personal information with or without your consent when it is required by
|
||||
law following due and lawful process.</p>
|
||||
<h3>Storage of personal information</h3>
|
||||
<h4><u>Where your personal information is stored</u></h4>
|
||||
<p>WSO2 IoT Server 3.3.0 stores your personal information in secured databases. WSO2 IoT Server 3.3.0
|
||||
<p>Entgra IoT Server 3.4.0 stores your personal information in secured databases. Entgra IoT Server 3.4.0
|
||||
exercises proper industry accepted security measures to protect the database where your personal
|
||||
information is held.WSO2 IoT Server 3.3.0 as a product does not transfer or share your data with any
|
||||
information is held.Entgra IoT Server 3.4.0 as a product does not transfer or share your data with any
|
||||
third parties or locations.</p>
|
||||
<p>WSO2 IoT Server 3.3.0 may use encryption to keep your personal data with an added level of
|
||||
<p>Entgra IoT Server 3.4.0 may use encryption to keep your personal data with an added level of
|
||||
security.</p>
|
||||
<h4><u>How long your personal information is retained</u></h4>
|
||||
<p>WSO2 IoT Server 3.3.0 retains your personal data as long as you are an active user of our system. You
|
||||
<p>Entgra IoT Server 3.4.0 retains your personal data as long as you are an active user of our system. You
|
||||
can update your personal data at any time using the given self-care user portals.</p>
|
||||
<p>WSO2 IoT Server 3.3.0 may keep hashed secrets to provide you with an added level of security. This
|
||||
<p>Entgra IoT Server 3.4.0 may keep hashed secrets to provide you with an added level of security. This
|
||||
includes:</p>
|
||||
<ul>
|
||||
<li>Current password</li>
|
||||
@ -157,36 +157,36 @@
|
||||
<p>You can request the administrator to delete your account. The administrator is the administrator of
|
||||
the tenant you are registered under, or the super-administrator if you do not use the tenant
|
||||
feature.</p>
|
||||
<p>Additionally, you can request to anonymize all traces of your activities that WSO2 IoT Server 3.3.0
|
||||
<p>Additionally, you can request to anonymize all traces of your activities that Entgra IoT Server 3.4.0
|
||||
may have retained in logs, databases or analytical storage.</p>
|
||||
<h3>More information</h3>
|
||||
<h4><u>Changes to this policy</u></h4>
|
||||
<p>Upgraded versions of WSO2 IoT Server 3.3.0 may contain changes to this policy. Revisions to this
|
||||
<p>Upgraded versions of Entgra IoT Server 3.4.0 may contain changes to this policy. Revisions to this
|
||||
policy will be packaged within such upgrades and would only apply to users who choose to use upgraded
|
||||
versions.</p>
|
||||
<h4><u>Your choices</u></h4>
|
||||
<p>If you are already have an user account within WSO2 IoT Server 3.3.0 ; you have the right to
|
||||
<p>If you are already have an user account within Entgra IoT Server 3.4.0 ; you have the right to
|
||||
deactivate your account if you find that this privacy policy is unacceptable to you.</p>
|
||||
<p>If you do not have an account and you do not agree with our privacy policy, you can chose not to
|
||||
create one.</p>
|
||||
<h4><u>Contact us</u></h4>
|
||||
<p>Please contact WSO2 if you have any question or concerns regarding this privacy policy.</p>
|
||||
<p><a href="https://wso2.com/contact/">https://wso2.com/contact/</a></p>
|
||||
<p>Please contact Entgra if you have any question or concerns regarding this privacy policy.</p>
|
||||
<p><a href="https://entgra.io/contact/">https://entgra.io.com/contact/</a></p>
|
||||
<h3>Disclaimer</h3>
|
||||
<p>WSO2, its employees, partners, and affiliates do not have access to and do not require, store,
|
||||
process or control any of the data, including personal data contained in WSO2 IoT Server 3.3.0. All
|
||||
data, including personal data is controlled and processed by the entity or individual running WSO2
|
||||
IoT Server 3.3.0. WSO2, its employees partners and affiliates are not a data processor or a data
|
||||
controller within the meaning of any data privacy regulations. WSO2 does not provide any warranties
|
||||
<p>Entgra, its employees, partners, and affiliates do not have access to and do not require, store,
|
||||
process or control any of the data, including personal data contained in Entgra IoT Server 3.4.0. All
|
||||
data, including personal data is controlled and processed by the entity or individual running Entgra
|
||||
IoT Server 3.4.0. Entgra, its employees partners and affiliates are not a data processor or a data
|
||||
controller within the meaning of any data privacy regulations. Entgra does not provide any warranties
|
||||
or undertake any responsibility or liability in connection with the lawfulness or the manner and
|
||||
purposes for which WSO2 IoT Server 3.3.0 is used by such entities or persons.</p>
|
||||
<p>This privacy policy is for the informational purposes of the entity or persons running WSO2 IoT
|
||||
Server 3.3.0 and sets out the processes and functionality contained within WSO2 IoT Server 3.3.0
|
||||
regarding personal data protection. It is the responsibility of entities and persons running WSO2 IoT
|
||||
Server 3.3.0 to create and administer its own rules and processes governing users’ personal data,
|
||||
purposes for which Entgra IoT Server 3.4.0 is used by such entities or persons.</p>
|
||||
<p>This privacy policy is for the informational purposes of the entity or persons running Entgra IoT
|
||||
Server 3.4.0 and sets out the processes and functionality contained within Entgra IoT Server 3.4.0
|
||||
regarding personal data protection. It is the responsibility of entities and persons running Entgra IoT
|
||||
Server 3.4.0 to create and administer its own rules and processes governing users’ personal data,
|
||||
Please note that the creation of such rules and processes may change the use, storage and disclosure
|
||||
policies contained herein. Therefore users should consult the entity or persons running WSO2 IoT
|
||||
Server 3.3.0 for its own privacy policy for details governing users’ personal data.</p>
|
||||
policies contained herein. Therefore users should consult the entity or persons running Entgra IoT
|
||||
Server 3.4.0 for its own privacy policy for details governing users’ personal data.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
|
||||
<p class="page-sub-title">Register</p>
|
||||
|
||||
<p>Create a new account in WSO2 IoT Server(All fields are required.)</p>
|
||||
<p>Create a new account in Entgra IoT Server(All fields are required.)</p>
|
||||
<hr/>
|
||||
<!-- validation -->
|
||||
<div class="wr-validation-summary hidden alert alert-danger">
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
}}
|
||||
{{#zone "footer"}}
|
||||
<p>
|
||||
<span class="hidden-xs">WSO2 IoT Server{{#unless isCloud}} 3.3.1{{/unless}}</span>
|
||||
<span class="visible-xs-inline">WSO2 IoT Server{{#unless isCloud}} 3.3.1{{/unless}}</span> | © <script>document.write(new Date().getFullYear());</script>,
|
||||
<a href="http://wso2.com/" target="_blank"><i class="icon fw fw-wso2"></i> Inc</a>. All Rights Reserved.
|
||||
<span class="hidden-xs">Entgra IoT Server{{#unless isCloud}} 3.4.0{{/unless}}</span>
|
||||
<span class="visible-xs-inline">Entgra IoT Server{{#unless isCloud}} 3.4.0{{/unless}}</span> | © <script>document.write(new Date().getFullYear());</script>,
|
||||
<a href="https://www.entgra.io/" target="_blank">Entgra</a>. All Rights Reserved.
|
||||
</p>
|
||||
{{/zone}}
|
||||
@ -895,7 +895,7 @@ header .fw-user:before{
|
||||
padding: 0 8px;
|
||||
line-height: 50px;
|
||||
font-size: 18px;
|
||||
background: #F47415;
|
||||
background: #ff5000;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
@ -905,7 +905,7 @@ header .fw-user:before{
|
||||
}
|
||||
|
||||
.navbar-menu-toggle[aria-expanded=true] {
|
||||
background: #D56613;
|
||||
background: #ff5000;
|
||||
}
|
||||
|
||||
.navbar-toggle {
|
||||
@ -967,7 +967,7 @@ header .fw-user:before{
|
||||
}
|
||||
|
||||
.navbar-collapse.dropdown {
|
||||
background: #132D45;
|
||||
background: #5e6165 !important;
|
||||
margin-right: -10px;
|
||||
margin-left: -10px;
|
||||
padding-bottom: 0;
|
||||
@ -999,7 +999,7 @@ header .fw-user:before{
|
||||
width: 150px;
|
||||
height: 120px;
|
||||
padding: 15px;
|
||||
background: #11375B;
|
||||
background: #2f6292 !important;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
line-height: 1.4em;
|
||||
@ -1317,7 +1317,7 @@ footer {
|
||||
min-height: 40px;
|
||||
overflow: hidden;
|
||||
color: #cbcbcb;
|
||||
background: #222;
|
||||
background: #008ba6 !important;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
@ -3686,7 +3686,7 @@ a.btn-operations {
|
||||
font-weight: normal;
|
||||
font-size: 13px;
|
||||
color: #fff;
|
||||
background: #11375B;
|
||||
background: #2f6292;
|
||||
padding: 5px 20px;
|
||||
display: inline-block;
|
||||
margin-right: 2px;
|
||||
@ -4044,7 +4044,7 @@ a.wr-side-panel-toggle-btn.selected {
|
||||
|
||||
/* stats */
|
||||
.wr-stats-board-tile {
|
||||
background: #393939;
|
||||
background: #0c3b42;
|
||||
color: #fff;
|
||||
padding: 15px;
|
||||
height: 110px;
|
||||
@ -6264,7 +6264,7 @@ body.inverse .fade-edge:after {
|
||||
.thumbnail.icon {
|
||||
border: none;
|
||||
margin: 0;
|
||||
background: #11375B;
|
||||
background: #638bb1 !important;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
@ -6948,7 +6948,7 @@ select > option:hover {
|
||||
*/
|
||||
|
||||
header.header-default {
|
||||
background: #181e22 !important;
|
||||
background: #008ba6 !important;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
@ -7013,3 +7013,14 @@ header.header-default {
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
header .brand h1 {
|
||||
font-size: 15px !important;
|
||||
}
|
||||
|
||||
header .brand img.logo {
|
||||
height: 30px !important;
|
||||
}
|
||||
|
||||
try-device-image {
|
||||
background: #638bb1 !important;
|
||||
}
|
||||
|
||||
@ -17,9 +17,5 @@
|
||||
}}
|
||||
|
||||
{{#zone "title"}}
|
||||
{{#if isCloud}}
|
||||
{{@unit.params.pageTitle}} | WSO2 Device Cloud
|
||||
{{else}}
|
||||
{{@unit.params.pageTitle}} | {{@app.conf.appName}}
|
||||
{{/if}}
|
||||
{{@unit.params.pageTitle}} | {{@app.conf.appName}}
|
||||
{{/zone}}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 5.0 KiB |
@ -17,8 +17,8 @@
|
||||
}}
|
||||
{{#zone "footer"}}
|
||||
<p>
|
||||
<span class="hidden-xs">WSO2 IoT Server 3.3.1</span>
|
||||
<span class="visible-xs-inline">WSO2 IoT Server 3.3.1</span> | © <script>document.write(new Date().getFullYear());</script>,
|
||||
<span class="hidden-xs">Entgra IoT Server 3.3.1</span>
|
||||
<span class="visible-xs-inline">Entgra IoT Server 3.3.1</span> | © <script>document.write(new Date().getFullYear());</script>,
|
||||
<a href="http://wso2.com/" target="_blank"><i class="icon fw fw-wso2"></i> Inc</a>. All Rights Reserved.
|
||||
</p>
|
||||
{{/zone}}
|
||||
@ -17,7 +17,7 @@
|
||||
}}
|
||||
{{#zone "brand"}}
|
||||
<a href="{{#defineZone "productUri"}}{{@app.context}}/{{/defineZone}}">
|
||||
<img src="{{@unit.publicUri}}/img/logo-inverse.svg" alt="{{defineZone "productName"}}"
|
||||
<img src="{{@unit.publicUri}}/img/logo.png" alt="{{defineZone "productName"}}"
|
||||
title="{{defineZone "productName"}}" class="logo" />
|
||||
<h1>
|
||||
<span class="hidden-xs">{{#defineZone "productName"}}Unified UI Template App{{/defineZone}}</span>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 4.1 KiB |
@ -7175,7 +7175,7 @@ body.inverse .fade-edge:after {
|
||||
}
|
||||
|
||||
.navbar-collapse.dropdown {
|
||||
background: #132D45;
|
||||
background: #5e6165;
|
||||
margin-right: -10px;
|
||||
margin-left: -10px;
|
||||
padding-bottom: 0;
|
||||
@ -7207,7 +7207,7 @@ body.inverse .fade-edge:after {
|
||||
width: 150px;
|
||||
height: 120px;
|
||||
padding: 15px;
|
||||
background: #11375B;
|
||||
background: #2f6292;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
line-height: 1.4em;
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<artifactId>device-mgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>email-sender</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,13 +22,13 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>identity-extensions</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.oauth.extensions</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - OAuth Extensions</name>
|
||||
<url>http://wso2.org</url>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<artifactId>identity-extensions</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>identity-extensions</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>policy-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.complex.policy.decision.point</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - Policy Decision Point</name>
|
||||
<description>WSO2 Carbon - Policy Decision Point</description>
|
||||
|
||||
@ -3,14 +3,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>policy-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.policy.decision.point</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - Policy Decision Point</name>
|
||||
<description>WSO2 Carbon - Policy Decision Point</description>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>policy-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.policy.information.point</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - Policy Information Point</name>
|
||||
<description>WSO2 Carbon - Policy Information Point</description>
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>policy-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.policy.mgt.common</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - Policy Management Common</name>
|
||||
<description>WSO2 Carbon - Policy Management Common</description>
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>policy-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.policy.mgt.core</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - Policy Management Core</name>
|
||||
<description>WSO2 Carbon - Policy Management Core</description>
|
||||
|
||||
@ -33,7 +33,4 @@ public interface PolicyEnforcementDelegator {
|
||||
|
||||
void addPolicyRevokeOperation(List<DeviceIdentifier> deviceIdentifiers) throws PolicyDelegationException;
|
||||
|
||||
void revokePolicyOperation(List<DeviceIdentifier> deviceIdentifiers, Policy policy) throws PolicyDelegationException;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -81,7 +81,8 @@ public class PolicyEnforcementDelegatorImpl implements PolicyEnforcementDelegato
|
||||
*/
|
||||
if (devicePolicy == null || devicePolicy.getId() != policy.getId() || updatedPolicyIds.contains
|
||||
(policy.getId())) {
|
||||
this.revokePolicyOperation(deviceIdentifiers, policy);
|
||||
this.addPolicyRevokeOperation(deviceIdentifiers);
|
||||
this.addPolicyOperation(deviceIdentifiers, policy);
|
||||
}
|
||||
} else {
|
||||
//This means all the applicable policies have been removed from device. Hence calling a policy revoke.
|
||||
@ -166,27 +167,6 @@ public class PolicyEnforcementDelegatorImpl implements PolicyEnforcementDelegato
|
||||
return policyRevokeOperation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void revokePolicyOperation(List<DeviceIdentifier> deviceIdentifiers, Policy policy) throws
|
||||
PolicyDelegationException {
|
||||
try {
|
||||
String type = null;
|
||||
if (deviceIdentifiers.size() > 0) {
|
||||
type = deviceIdentifiers.get(0).getType();
|
||||
}
|
||||
PolicyManagementDataHolder.getInstance().getDeviceManagementService().addPolicyOperations(type, policy,
|
||||
deviceIdentifiers);
|
||||
} catch (InvalidDeviceException e) {
|
||||
String msg = "Invalid DeviceIdentifiers found.";
|
||||
log.error(msg, e);
|
||||
throw new PolicyDelegationException(msg, e);
|
||||
} catch (OperationManagementException e) {
|
||||
String msg = "Error occurred while adding the operation to device.";
|
||||
log.error(msg, e);
|
||||
throw new PolicyDelegationException(msg, e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the applied policy for give device
|
||||
*
|
||||
|
||||
@ -23,13 +23,13 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>policy-mgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>WSO2 Carbon - Policy Management Component</name>
|
||||
<url>http://wso2.org</url>
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
<parent>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -21,14 +21,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>webapp-authenticator-framework</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.webapp.authenticator.framework</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>bundle</packaging>
|
||||
<name>WSO2 Carbon - Web Application Authenticator Framework Bundle</name>
|
||||
<description>WSO2 Carbon - Web Application Authenticator Framework Bundle</description>
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>webapp-authenticator-framework</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>WSO2 Carbon - Webapp Authenticator Framework</name>
|
||||
<url>http://wso2.org</url>
|
||||
|
||||
@ -21,14 +21,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>apimgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.apimgt.application.extension.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - API Management Application Extension Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>This feature contains an implementation of a api application registration, which takes care of subscription
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>apimgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.apimgt.handler.server.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - Device Management - APIM handler Server Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>This feature contains the handler for the api authentications
|
||||
|
||||
@ -21,13 +21,13 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>apimgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.apimgt.integration.client.feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>WSO2 Carbon - APIM Integration Client Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
|
||||
@ -21,14 +21,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>apimgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.apimgt.webapp.publisher.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - API Management Webapp Publisher Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>apimgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>WSO2 Carbon - API Management Extensions Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>certificate-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>certificate-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>certificate-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.certificate.mgt.server.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - Certificate Management Server Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>This feature contains the core bundles required for back-end Certificate Management functionality
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>certificate-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>WSO2 Carbon - Certificate Management Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - Device Type Deployer Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>WSO2 Carbon - Device Type Deployer Feature</description>
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - FCM Based Push Notification Provider Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>WSO2 Carbon - MQTT Based Push Notification Provider Feature</description>
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - MQTT Based Push Notification Provider Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>WSO2 Carbon - MQTT Based Push Notification Provider Feature</description>
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - MQTT Based Push Notification Provider Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>WSO2 Carbon - MQTT Based Push Notification Provider Feature</description>
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - XMPP Based Push Notification Provider Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>WSO2 Carbon - XMPP Based Push Notification Provider Feature</description>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.analytics.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - Device Management Server Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>This feature contains bundles related to device analytics data publisher and ws proxy</description>
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -4,14 +4,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.extensions.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - Device Management Extensions Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>This feature contains common extensions used by key device management functionalities
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.device.mgt.server.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - Device Management Server Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>This feature contains the core bundles required for Back-end Device Management functionality
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>device-mgt-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>carbon-devicemgt</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@ -22,14 +22,14 @@
|
||||
<parent>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>email-sender-feature</artifactId>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.email.sender.feature</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>3.1.40-SNAPSHOT</version>
|
||||
<version>3.2.1-SNAPSHOT</version>
|
||||
<name>WSO2 Carbon - Email Sender Feature</name>
|
||||
<url>http://wso2.org</url>
|
||||
<description>This feature contains the core bundles required for email sender related functionality
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user