mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'master' of https://github.com/wso2/carbon-device-mgt
This commit is contained in:
commit
23fe8b1fdb
@ -81,7 +81,7 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
|
||||
long timestamp = 0;
|
||||
boolean isIfModifiedSinceSet = false;
|
||||
boolean isSinceSet = false;
|
||||
|
||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||
if (ifModifiedSince != null && !ifModifiedSince.isEmpty()) {
|
||||
Date ifSinceDate;
|
||||
SimpleDateFormat format = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
|
||||
|
||||
@ -74,7 +74,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
||||
@QueryParam("limit") int limit) {
|
||||
try {
|
||||
// RequestValidationUtil.validateSelectionCriteria(type, user, roleName, ownership, status);
|
||||
|
||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||
DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||
PaginationResult result;
|
||||
@ -154,6 +154,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
||||
public Response getDeviceByUser(@QueryParam("offset") int offset,
|
||||
@QueryParam("limit") int limit) {
|
||||
|
||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||
PaginationResult result;
|
||||
DeviceList devices = new DeviceList();
|
||||
@ -292,6 +293,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
||||
@QueryParam("offset") int offset,
|
||||
@QueryParam("limit") int limit) {
|
||||
OperationList operationsList = new OperationList();
|
||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||
PaginationResult result;
|
||||
DeviceManagementProviderService dms;
|
||||
|
||||
@ -50,6 +50,7 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||
@QueryParam("offset") int offset, @QueryParam("limit") int limit) {
|
||||
|
||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||
PaginationResult result;
|
||||
|
||||
|
||||
@ -140,6 +140,7 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||
@QueryParam("offset") int offset,
|
||||
@QueryParam("limit") int limit) {
|
||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||
PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService();
|
||||
List<Policy> policies;
|
||||
List<Policy> filteredPolicies;
|
||||
|
||||
@ -61,6 +61,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
||||
@QueryParam("user-store") String userStore,
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||
@QueryParam("offset") int offset, @QueryParam("limit") int limit) {
|
||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||
List<String> filteredRoles;
|
||||
RoleList targetRoles = new RoleList();
|
||||
|
||||
|
||||
@ -26,6 +26,7 @@ import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||
import org.wso2.carbon.device.mgt.core.service.EmailMetaInfo;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.*;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.api.UserManagementService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.util.Constants;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.util.CredentialManagementResponseBuilder;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
|
||||
@ -264,6 +265,7 @@ public class UserManagementServiceImpl implements UserManagementService {
|
||||
log.debug("Getting the list of users with all user-related information");
|
||||
}
|
||||
List<BasicUserInfo> userList, offsetList;
|
||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||
String appliedFilter = ((filter == null) || filter.isEmpty() ? "*" : filter);
|
||||
int appliedLimit = (limit <= 0) ? -1 : (limit + offset);
|
||||
|
||||
|
||||
@ -28,6 +28,7 @@ import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.api.admin.DeviceManagementAdminService;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
|
||||
|
||||
import javax.ws.rs.*;
|
||||
@ -50,6 +51,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
|
||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||
@QueryParam("offset") int offset,
|
||||
@QueryParam("limit") int limit) {
|
||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||
try {
|
||||
int currentTenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||
if (MultitenantConstants.SUPER_TENANT_ID != currentTenantId) {
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
package org.wso2.carbon.device.mgt.jaxrs.service.impl.util;
|
||||
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
|
||||
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||
import org.wso2.carbon.device.mgt.jaxrs.beans.*;
|
||||
@ -312,4 +313,17 @@ public class RequestValidationUtil {
|
||||
}
|
||||
}
|
||||
|
||||
public static void validatePaginationParameters(int offset, int limit) {
|
||||
if (offset < 0) {
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("Request parameter offset is s " +
|
||||
"negative value.").build());
|
||||
}
|
||||
if (limit < 0) {
|
||||
throw new InputValidationException(
|
||||
new ErrorResponse.ErrorResponseBuilder().setCode(400l).setMessage("Request parameter limit is a " +
|
||||
"negative value.").build());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
package org.wso2.carbon.device.mgt.core.config;
|
||||
|
||||
import org.wso2.carbon.device.mgt.core.config.identity.IdentityConfigurations;
|
||||
import org.wso2.carbon.device.mgt.core.config.pagination.PaginationConfiguration;
|
||||
import org.wso2.carbon.device.mgt.core.config.policy.PolicyConfiguration;
|
||||
import org.wso2.carbon.device.mgt.core.config.task.TaskConfiguration;
|
||||
|
||||
@ -37,6 +38,7 @@ public final class DeviceManagementConfig {
|
||||
private TaskConfiguration taskConfiguration;
|
||||
private IdentityConfigurations identityConfigurations;
|
||||
private PolicyConfiguration policyConfiguration;
|
||||
private PaginationConfiguration paginationConfiguration;
|
||||
private List<String> pushNotificationProviders;
|
||||
|
||||
|
||||
@ -87,5 +89,14 @@ public final class DeviceManagementConfig {
|
||||
this.pushNotificationProviders = pushNotificationProviders;
|
||||
}
|
||||
|
||||
@XmlElement(name = "PaginationConfiguration", required = true)
|
||||
public PaginationConfiguration getPaginationConfiguration() {
|
||||
return paginationConfiguration;
|
||||
}
|
||||
|
||||
public void setPaginationConfiguration(PaginationConfiguration paginationConfiguration) {
|
||||
this.paginationConfiguration = paginationConfiguration;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,71 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. licenses this file to you under the Apache License,
|
||||
* Version 2.0 (the "License"); you may not use this file except
|
||||
* in compliance with the License.
|
||||
* you may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
package org.wso2.carbon.device.mgt.core.config.pagination;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
/**
|
||||
* This class represents the information related to Pagination configuration.
|
||||
*/
|
||||
@XmlRootElement(name = "PaginationConfiguration")
|
||||
public class PaginationConfiguration {
|
||||
|
||||
private int deviceListPageSize;
|
||||
private int operationListPageSize;
|
||||
private int notificationListPageSize;
|
||||
private int activityListPageSize;
|
||||
|
||||
public int getDeviceListPageSize() {
|
||||
return deviceListPageSize;
|
||||
}
|
||||
|
||||
@XmlElement(name = "DeviceListPageSize", required = true)
|
||||
public void setDeviceListPageSize(int deviceListPageSize) {
|
||||
this.deviceListPageSize = deviceListPageSize;
|
||||
}
|
||||
|
||||
public int getOperationListPageSize() {
|
||||
return operationListPageSize;
|
||||
}
|
||||
|
||||
@XmlElement(name = "OperationListPageSize", required = true)
|
||||
public void setOperationListPageSize(int operationListPageSize) {
|
||||
this.operationListPageSize = operationListPageSize;
|
||||
}
|
||||
|
||||
public int getNotificationListPageSize() {
|
||||
return notificationListPageSize;
|
||||
}
|
||||
|
||||
@XmlElement(name = "NotificationListPageSize", required = true)
|
||||
public void setNotificationListPageSize(int notificationListPageSize) {
|
||||
this.notificationListPageSize = notificationListPageSize;
|
||||
}
|
||||
|
||||
public int getActivityListPageSize() {
|
||||
return activityListPageSize;
|
||||
}
|
||||
|
||||
@XmlElement(name = "ActivityListPageSize", required = true)
|
||||
public void setActivityListPageSize(int activityListPageSize) {
|
||||
this.activityListPageSize = activityListPageSize;
|
||||
}
|
||||
|
||||
}
|
||||
@ -102,7 +102,7 @@ public class ApplicationMappingDAOImpl implements ApplicationMappingDAO {
|
||||
Connection conn;
|
||||
PreparedStatement stmt = null;
|
||||
try {
|
||||
String sql = "DELETE DM_DEVICE_APPLICATION_MAPPING WHERE DEVICE_ID = ? AND " +
|
||||
String sql = "DELETE FROM DM_DEVICE_APPLICATION_MAPPING WHERE DEVICE_ID = ? AND " +
|
||||
"APPLICATION_ID = ? AND TENANT_ID = ?";
|
||||
|
||||
conn = this.getConnection();
|
||||
@ -114,7 +114,7 @@ public class ApplicationMappingDAOImpl implements ApplicationMappingDAO {
|
||||
stmt.execute();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new DeviceManagementDAOException("Error occurred while adding device application mapping", e);
|
||||
throw new DeviceManagementDAOException("Error occurred while removing device application mapping", e);
|
||||
} finally {
|
||||
DeviceManagementDAOUtil.cleanupResources(stmt, null);
|
||||
}
|
||||
|
||||
@ -129,7 +129,7 @@ public class EnrollmentDAOImpl implements EnrollmentDAO {
|
||||
int status = -1;
|
||||
try {
|
||||
conn = this.getConnection();
|
||||
String sql = "DELETE DM_ENROLMENT WHERE DEVICE_ID = ? AND OWNER = ? AND TENANT_ID = ?";
|
||||
String sql = "DELETE FROM DM_ENROLMENT WHERE DEVICE_ID = ? AND OWNER = ? AND TENANT_ID = ?";
|
||||
stmt = conn.prepareStatement(sql, new String[] {"id"});
|
||||
stmt.setInt(1, deviceId);
|
||||
stmt.setString(2, currentOwner);
|
||||
|
||||
@ -35,6 +35,7 @@ import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.core.notification.mgt.dao.NotificationDAO;
|
||||
import org.wso2.carbon.device.mgt.core.notification.mgt.dao.NotificationManagementDAOFactory;
|
||||
import org.wso2.carbon.device.mgt.core.notification.mgt.dao.util.NotificationDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
@ -177,6 +178,7 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
||||
public PaginationResult getAllNotifications(PaginationRequest request) throws NotificationManagementException {
|
||||
PaginationResult paginationResult = new PaginationResult();
|
||||
List<Notification> notifications = new ArrayList<>();
|
||||
request = DeviceManagerUtil.validateNotificationListPageSize(request);
|
||||
int count =0;
|
||||
try {
|
||||
NotificationManagementDAOFactory.openConnection();
|
||||
@ -199,6 +201,7 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
||||
PaginationRequest request) throws NotificationManagementException{
|
||||
PaginationResult paginationResult = new PaginationResult();
|
||||
List<Notification> notifications = new ArrayList<>();
|
||||
request = DeviceManagerUtil.validateNotificationListPageSize(request);
|
||||
int count =0;
|
||||
try {
|
||||
NotificationManagementDAOFactory.openConnection();
|
||||
|
||||
@ -508,6 +508,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
int count = 0;
|
||||
int tenantId = this.getTenantId();
|
||||
String deviceType = request.getDeviceType();
|
||||
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
allDevices = deviceDAO.getDevices(request, tenantId);
|
||||
@ -569,6 +570,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
List<Device> allDevices = new ArrayList<>();
|
||||
int count = 0;
|
||||
int tenantId = this.getTenantId();
|
||||
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
allDevices = deviceDAO.getDevices(request, tenantId);
|
||||
@ -1031,6 +1033,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
@Override
|
||||
public PaginationResult getOperations(DeviceIdentifier deviceId, PaginationRequest request)
|
||||
throws OperationManagementException {
|
||||
request = DeviceManagerUtil.validateOperationListPageSize(request);
|
||||
return pluginRepository.getOperationManager(deviceId.getType(), this.getTenantId())
|
||||
.getOperations(deviceId, request);
|
||||
}
|
||||
@ -1091,6 +1094,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
|
||||
@Override
|
||||
public List<Activity> getActivitiesUpdatedAfter(long timestamp, int limit, int offset) throws OperationManagementException {
|
||||
limit = DeviceManagerUtil.validateActivityListPageSize(limit);
|
||||
return DeviceManagementDataHolder.getInstance().getOperationManager().getActivitiesUpdatedAfter(timestamp, limit, offset);
|
||||
}
|
||||
|
||||
@ -1176,6 +1180,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
String username = request.getOwner();
|
||||
List<Device> devices = new ArrayList<>();
|
||||
List<Device> userDevices = new ArrayList<>();
|
||||
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
userDevices = deviceDAO.getDevicesOfUser(request, tenantId);
|
||||
@ -1253,6 +1258,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
int deviceCount = 0;
|
||||
int tenantId = this.getTenantId();
|
||||
String ownerShip = request.getOwnership();
|
||||
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
allDevices = deviceDAO.getDevicesByOwnership(request, tenantId);
|
||||
@ -1412,6 +1418,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
public List<Device> getDevicesByNameAndType(String deviceName, String type, int offset, int limit) throws DeviceManagementException {
|
||||
List<Device> devices = new ArrayList<>();
|
||||
List<Device> allDevices;
|
||||
limit = DeviceManagerUtil.validateDeviceListPageSize(limit);
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
allDevices = deviceDAO.getDevicesByNameAndType(deviceName, type, this.getTenantId(), offset, limit);
|
||||
@ -1474,6 +1481,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
List<Device> devices = new ArrayList<>();
|
||||
List<Device> allDevices = new ArrayList<>();
|
||||
String deviceName = request.getDeviceName();
|
||||
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
allDevices = deviceDAO.getDevicesByName(request, tenantId);
|
||||
@ -1636,6 +1644,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
||||
List<Device> allDevices = new ArrayList<>();
|
||||
int tenantId = this.getTenantId();
|
||||
String status = request.getStatus();
|
||||
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||
try {
|
||||
DeviceManagementDAOFactory.openConnection();
|
||||
allDevices = deviceDAO.getDevicesByStatus(request, tenantId);
|
||||
|
||||
@ -21,10 +21,11 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.w3c.dom.Document;
|
||||
import org.wso2.carbon.base.MultitenantConstants;
|
||||
import org.wso2.carbon.device.mgt.common.Device;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.TransactionManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.*;
|
||||
import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementException;
|
||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
||||
import org.wso2.carbon.device.mgt.core.config.DeviceManagementConfig;
|
||||
import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig;
|
||||
import org.wso2.carbon.device.mgt.core.config.datasource.JNDILookupDefinition;
|
||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
||||
@ -241,4 +242,79 @@ public final class DeviceManagerUtil {
|
||||
}
|
||||
}
|
||||
|
||||
public static int validateActivityListPageSize(int limit) throws OperationManagementException {
|
||||
if (limit == 0) {
|
||||
DeviceManagementConfig deviceManagementConfig = DeviceConfigurationManager.getInstance().
|
||||
getDeviceManagementConfig();
|
||||
if (deviceManagementConfig != null) {
|
||||
return deviceManagementConfig.getPaginationConfiguration().getActivityListPageSize();
|
||||
} else {
|
||||
throw new OperationManagementException("Device-Mgt configuration has not initialized. Please check the " +
|
||||
"cdm-config.xml file.");
|
||||
}
|
||||
}
|
||||
return limit;
|
||||
}
|
||||
|
||||
public static PaginationRequest validateOperationListPageSize(PaginationRequest paginationRequest) throws
|
||||
OperationManagementException {
|
||||
if (paginationRequest.getRowCount() == 0) {
|
||||
DeviceManagementConfig deviceManagementConfig = DeviceConfigurationManager.getInstance().
|
||||
getDeviceManagementConfig();
|
||||
if (deviceManagementConfig != null) {
|
||||
paginationRequest.setRowCount(deviceManagementConfig.getPaginationConfiguration().
|
||||
getOperationListPageSize());
|
||||
} else {
|
||||
throw new OperationManagementException("Device-Mgt configuration has not initialized. Please check the " +
|
||||
"cdm-config.xml file.");
|
||||
}
|
||||
}
|
||||
return paginationRequest;
|
||||
}
|
||||
|
||||
public static PaginationRequest validateNotificationListPageSize(PaginationRequest paginationRequest) throws
|
||||
NotificationManagementException {
|
||||
if (paginationRequest.getRowCount() == 0) {
|
||||
DeviceManagementConfig deviceManagementConfig = DeviceConfigurationManager.getInstance().
|
||||
getDeviceManagementConfig();
|
||||
if (deviceManagementConfig != null) {
|
||||
paginationRequest.setRowCount(deviceManagementConfig.getPaginationConfiguration().
|
||||
getNotificationListPageSize());
|
||||
} else {
|
||||
throw new NotificationManagementException("Device-Mgt configuration has not initialized. Please check the " +
|
||||
"cdm-config.xml file.");
|
||||
}
|
||||
}
|
||||
return paginationRequest;
|
||||
}
|
||||
|
||||
public static PaginationRequest validateDeviceListPageSize(PaginationRequest paginationRequest) throws
|
||||
DeviceManagementException {
|
||||
if (paginationRequest.getRowCount() == 0) {
|
||||
DeviceManagementConfig deviceManagementConfig = DeviceConfigurationManager.getInstance().
|
||||
getDeviceManagementConfig();
|
||||
if (deviceManagementConfig != null) {
|
||||
paginationRequest.setRowCount(deviceManagementConfig.getPaginationConfiguration().
|
||||
getDeviceListPageSize());
|
||||
} else {
|
||||
throw new DeviceManagementException("Device-Mgt configuration has not initialized. Please check the " +
|
||||
"cdm-config.xml file.");
|
||||
}
|
||||
}
|
||||
return paginationRequest;
|
||||
}
|
||||
|
||||
public static int validateDeviceListPageSize(int limit) throws DeviceManagementException {
|
||||
if (limit == 0) {
|
||||
DeviceManagementConfig deviceManagementConfig = DeviceConfigurationManager.getInstance().
|
||||
getDeviceManagementConfig();
|
||||
if (deviceManagementConfig != null) {
|
||||
return deviceManagementConfig.getPaginationConfiguration().getDeviceListPageSize();
|
||||
} else {
|
||||
throw new DeviceManagementException("Device-Mgt configuration has not initialized. Please check the " +
|
||||
"cdm-config.xml file.");
|
||||
}
|
||||
}
|
||||
return limit;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,123 +16,119 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
@Deprecated New
|
||||
*/
|
||||
var operationModule = function () {
|
||||
var log = new Log("/app/modules/business-controllers/operation.js");
|
||||
var utility = require('/app/modules/utility.js').utility;
|
||||
var constants = require('/app/modules/constants.js');
|
||||
var devicemgtProps = require("/app/modules/conf-reader/main.js")["conf"];
|
||||
var serviceInvokers = require("/app/modules/oauth/token-protected-service-invokers.js")["invokers"];
|
||||
|
||||
//var operationModule = function () {
|
||||
// var log = new Log("/app/modules/business-controllers/operation.js");
|
||||
// var utility = require('/app/modules/utility.js').utility;
|
||||
// var constants = require('/app/modules/constants.js');
|
||||
// var devicemgtProps = require("/app/modules/conf-reader/main.js")["conf"];
|
||||
// var serviceInvokers = require("/app/modules/oauth/token-protected-service-invokers.js")["invokers"];
|
||||
//
|
||||
// var publicMethods = {};
|
||||
// var privateMethods = {};
|
||||
//
|
||||
// /**
|
||||
// * This method reads the token from the Token client and return the access token.
|
||||
// * If the token pair s not set in the session this will send a redirect to the login page.
|
||||
// */
|
||||
// function getAccessToken(deviceType, owner, deviceId) {
|
||||
// var TokenClient = Packages.org.wso2.carbon.device.mgt.iot.apimgt.TokenClient;
|
||||
// var accessTokenClient = new TokenClient(deviceType);
|
||||
// var accessTokenInfo = accessTokenClient.getAccessToken(owner, deviceId);
|
||||
// return accessTokenInfo.getAccess_token();
|
||||
// }
|
||||
//
|
||||
// privateMethods.getOperationsFromFeatures = function (deviceType, operationType) {
|
||||
// var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/features/" + deviceType;
|
||||
// var featuresList = serviceInvokers.XMLHttp.get(url, function (responsePayload) {
|
||||
// var features = responsePayload;
|
||||
// var featureList = [];
|
||||
// var feature;
|
||||
// for (var i = 0; i < features.length; i++) {
|
||||
// feature = {};
|
||||
// var analyticStreams = utility.getDeviceTypeConfig(deviceType)["analyticStreams"];
|
||||
// if (analyticStreams) {
|
||||
// for (var stream in analyticStreams) {
|
||||
// if (analyticStreams[stream].name == features[i].name) {
|
||||
// feature.ui_unit = analyticStreams[stream].ui_unit;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// feature["operation"] = features[i].code;
|
||||
// feature["name"] = features[i].name;
|
||||
// feature["description"] = features[i].description;
|
||||
// feature["deviceType"] = deviceType;
|
||||
// feature["params"] = [];
|
||||
// var metaData = features[i].metadataEntries;
|
||||
// if (metaData) {
|
||||
// for (var j = 0; j < metaData.length; j++) {
|
||||
// feature["params"].push(metaData[j].value);
|
||||
// }
|
||||
// featureList.push(feature);
|
||||
// }
|
||||
// }
|
||||
// return featureList;
|
||||
// }, function (responsePayload) {
|
||||
// var response = {};
|
||||
// response["status"] = "error";
|
||||
// return response;
|
||||
// }
|
||||
// );
|
||||
// return featuresList;
|
||||
// };
|
||||
//
|
||||
// publicMethods.getControlOperations = function (deviceType) {
|
||||
// var operations = privateMethods.getOperationsFromFeatures(deviceType, "operation");
|
||||
// for (var op in operations) {
|
||||
// var iconPath = utility.getOperationIcon(deviceType, operations[op].operation);
|
||||
// if (iconPath) {
|
||||
// operations[op]["icon"] = iconPath;
|
||||
// }
|
||||
// }
|
||||
// return operations;
|
||||
// };
|
||||
//
|
||||
// publicMethods.getMonitorOperations = function (deviceType) {
|
||||
// return privateMethods.getOperationsFromFeatures(deviceType, "monitor");
|
||||
// };
|
||||
//
|
||||
// publicMethods.handlePOSTOperation = function (deviceType, operation, deviceId, params) {
|
||||
// var user = session.get(constants.USER_SESSION_KEY);
|
||||
// var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation;
|
||||
// var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId +
|
||||
// '","protocol":"mqtt", "sessionId":"' + session.getId() + '", "' +
|
||||
// constants.AUTHORIZATION_HEADER + '":"' + constants.BEARER_PREFIX +
|
||||
// getAccessToken(deviceType, user.username, deviceId) + '"}';
|
||||
// return post(endPoint, params, JSON.parse(header), "json");
|
||||
// };
|
||||
//
|
||||
// publicMethods.handleGETOperation = function (deviceType, operation, operationName, deviceId) {
|
||||
// var user = session.get(constants.USER_SESSION_KEY);
|
||||
// var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation;
|
||||
// var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId +
|
||||
// '","protocol":"mqtt", "' + constants.AUTHORIZATION_HEADER + '":"' +
|
||||
// constants.BEARER_PREFIX + getAccessToken(deviceType, user.username, deviceId) +
|
||||
// '"}';
|
||||
// var result = get(endPoint, {}, JSON.parse(header), "json");
|
||||
// if (result.data) {
|
||||
// var values = result.data.sensorValue.split(',');
|
||||
// if (operationName == 'gps') {
|
||||
// result.data.map = {
|
||||
// lat: parseFloat(values[0]),
|
||||
// lng: parseFloat(values[1])
|
||||
// }
|
||||
// } else {
|
||||
// var sqSum = 0;
|
||||
// for (var v in values) {
|
||||
// sqSum += Math.pow(values[v], 2);
|
||||
// }
|
||||
// result.data[operationName] = Math.sqrt(sqSum);
|
||||
// }
|
||||
// delete result.data['sensorValue'];
|
||||
// }
|
||||
// return result;
|
||||
// };
|
||||
//
|
||||
// return publicMethods;
|
||||
//}();
|
||||
var publicMethods = {};
|
||||
var privateMethods = {};
|
||||
|
||||
/**
|
||||
* This method reads the token from the Token client and return the access token.
|
||||
* If the token pair s not set in the session this will send a redirect to the login page.
|
||||
*/
|
||||
function getAccessToken(deviceType, owner, deviceId) {
|
||||
var TokenClient = Packages.org.wso2.carbon.device.mgt.iot.apimgt.TokenClient;
|
||||
var accessTokenClient = new TokenClient(deviceType);
|
||||
var accessTokenInfo = accessTokenClient.getAccessToken(owner, deviceId);
|
||||
return accessTokenInfo.getAccess_token();
|
||||
}
|
||||
|
||||
privateMethods.getOperationsFromFeatures = function (deviceType, operationType) {
|
||||
var url = devicemgtProps["httpsURL"] + constants.ADMIN_SERVICE_CONTEXT + "/features/" + deviceType;
|
||||
var featuresList = serviceInvokers.XMLHttp.get(url, function (responsePayload) {
|
||||
var features = responsePayload;
|
||||
var featureList = [];
|
||||
var feature;
|
||||
for (var i = 0; i < features.length; i++) {
|
||||
feature = {};
|
||||
var analyticStreams = utility.getDeviceTypeConfig(deviceType)["analyticStreams"];
|
||||
if (analyticStreams) {
|
||||
for (var stream in analyticStreams) {
|
||||
if (analyticStreams[stream].name == features[i].name) {
|
||||
feature.ui_unit = analyticStreams[stream].ui_unit;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
feature["operation"] = features[i].code;
|
||||
feature["name"] = features[i].name;
|
||||
feature["description"] = features[i].description;
|
||||
feature["deviceType"] = deviceType;
|
||||
feature["params"] = [];
|
||||
var metaData = features[i].metadataEntries;
|
||||
if (metaData) {
|
||||
for (var j = 0; j < metaData.length; j++) {
|
||||
feature["params"].push(metaData[j].value);
|
||||
}
|
||||
featureList.push(feature);
|
||||
}
|
||||
}
|
||||
return featureList;
|
||||
}, function (responsePayload) {
|
||||
var response = {};
|
||||
response["status"] = "error";
|
||||
return response;
|
||||
}
|
||||
);
|
||||
return featuresList;
|
||||
};
|
||||
|
||||
publicMethods.getControlOperations = function (deviceType) {
|
||||
var operations = privateMethods.getOperationsFromFeatures(deviceType, "operation");
|
||||
for (var op in operations) {
|
||||
var iconPath = utility.getOperationIcon(deviceType, operations[op].operation);
|
||||
if (iconPath) {
|
||||
operations[op]["icon"] = iconPath;
|
||||
}
|
||||
}
|
||||
return operations;
|
||||
};
|
||||
|
||||
publicMethods.getMonitorOperations = function (deviceType) {
|
||||
return privateMethods.getOperationsFromFeatures(deviceType, "monitor");
|
||||
};
|
||||
|
||||
publicMethods.handlePOSTOperation = function (deviceType, operation, deviceId, params) {
|
||||
var user = session.get(constants.USER_SESSION_KEY);
|
||||
var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation;
|
||||
var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId +
|
||||
'","protocol":"mqtt", "sessionId":"' + session.getId() + '", "' +
|
||||
constants.AUTHORIZATION_HEADER + '":"' + constants.BEARER_PREFIX +
|
||||
getAccessToken(deviceType, user.username, deviceId) + '"}';
|
||||
return post(endPoint, params, JSON.parse(header), "json");
|
||||
};
|
||||
|
||||
publicMethods.handleGETOperation = function (deviceType, operation, operationName, deviceId) {
|
||||
var user = session.get(constants.USER_SESSION_KEY);
|
||||
var endPoint = devicemgtProps["httpsURL"] + '/' + deviceType + "/controller/" + operation;
|
||||
var header = '{"owner":"' + user.username + '","deviceId":"' + deviceId +
|
||||
'","protocol":"mqtt", "' + constants.AUTHORIZATION_HEADER + '":"' +
|
||||
constants.BEARER_PREFIX + getAccessToken(deviceType, user.username, deviceId) +
|
||||
'"}';
|
||||
var result = get(endPoint, {}, JSON.parse(header), "json");
|
||||
if (result.data) {
|
||||
var values = result.data.sensorValue.split(',');
|
||||
if (operationName == 'gps') {
|
||||
result.data.map = {
|
||||
lat: parseFloat(values[0]),
|
||||
lng: parseFloat(values[1])
|
||||
}
|
||||
} else {
|
||||
var sqSum = 0;
|
||||
for (var v in values) {
|
||||
sqSum += Math.pow(values[v], 2);
|
||||
}
|
||||
result.data[operationName] = Math.sqrt(sqSum);
|
||||
}
|
||||
delete result.data['sensorValue'];
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
return publicMethods;
|
||||
}();
|
||||
@ -37,6 +37,12 @@ var conf = function () {
|
||||
return value;
|
||||
}
|
||||
);
|
||||
if (conf.generalConfig.host) {
|
||||
//TODO: Move enrollment URL into app-conf.json
|
||||
var enrollmentHost = conf.generalConfig.host.replace(/https:\/\/localhost(:\d+)?/, conf.httpsURL).replace(
|
||||
/http:\/\/localhost(:\d+)?/, conf.httpURL);
|
||||
conf.enrollmentUrl = enrollmentHost + conf.enrollmentDir;
|
||||
}
|
||||
application.put("CONF", conf);
|
||||
}
|
||||
return conf;
|
||||
|
||||
@ -27,8 +27,8 @@
|
||||
</ManagementRepository>
|
||||
<PushNotificationProviders>
|
||||
<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.GCMBasedPushNotificationProvider</Provider>
|
||||
<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.MQTTBasedPushNotificationProvider</Provider>
|
||||
<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.XMPPBasedPushNotificationProvider</Provider>
|
||||
<!--<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.MQTTBasedPushNotificationProvider</Provider>-->
|
||||
<!--<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.XMPPBasedPushNotificationProvider</Provider>-->
|
||||
</PushNotificationProviders>
|
||||
<IdentityConfiguration>
|
||||
<ServerUrl>https://localhost:9443</ServerUrl>
|
||||
@ -37,14 +37,14 @@
|
||||
</IdentityConfiguration>
|
||||
<PolicyConfiguration>
|
||||
<MonitoringClass>org.wso2.carbon.policy.mgt</MonitoringClass>
|
||||
<MonitoringEnable>false</MonitoringEnable>
|
||||
<MonitoringEnable>true</MonitoringEnable>
|
||||
<MonitoringFrequency>60000</MonitoringFrequency>
|
||||
<MaxRetries>5</MaxRetries>
|
||||
<MinRetriesToMarkUnreachable>8</MinRetriesToMarkUnreachable>
|
||||
<MinRetriesToMarkInactive>20</MinRetriesToMarkInactive>
|
||||
</PolicyConfiguration>
|
||||
<TaskConfiguration>
|
||||
<Enable>false</Enable>
|
||||
<Enable>true</Enable>
|
||||
<Frequency>600000</Frequency>
|
||||
<TaskClass>org.wso2.carbon.device.mgt.core.task.impl.DeviceDetailsRetrieverTask</TaskClass>
|
||||
<Operations>
|
||||
@ -62,5 +62,11 @@
|
||||
</Operation>
|
||||
</Operations>
|
||||
</TaskConfiguration>
|
||||
<PaginationConfiguration>
|
||||
<DeviceListPageSize>20</DeviceListPageSize>
|
||||
<NotificationListPageSize>20</NotificationListPageSize>
|
||||
<ActivityListPageSize>20</ActivityListPageSize>
|
||||
<OperationListPageSize>20</OperationListPageSize>
|
||||
</PaginationConfiguration>
|
||||
</DeviceMgtConfiguration>
|
||||
|
||||
|
||||
@ -134,7 +134,7 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE (
|
||||
ID INT NOT NULL AUTO_INCREMENT ,
|
||||
PROFILE_NAME VARCHAR(45) NOT NULL ,
|
||||
TENANT_ID INT NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(20) NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
CREATED_TIME DATETIME NOT NULL ,
|
||||
UPDATED_TIME DATETIME NOT NULL ,
|
||||
PRIMARY KEY (ID) ,
|
||||
@ -195,7 +195,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY (
|
||||
|
||||
CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
||||
ID INT(11) NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(20) NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
POLICY_ID INT(11) NOT NULL ,
|
||||
PRIMARY KEY (ID) ,
|
||||
CONSTRAINT FK_DEVICE_TYPE_POLICY
|
||||
@ -218,7 +218,7 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
PROFILE_ID INT(11) NOT NULL,
|
||||
FEATURE_CODE VARCHAR(100) NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(20) NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL,
|
||||
TENANT_ID INT(11) NOT NULL ,
|
||||
CONTENT BLOB NULL DEFAULT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
@ -339,7 +339,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_STATUS (
|
||||
CREATE TABLE IF NOT EXISTS DM_POLICY_CHANGE_MGT (
|
||||
ID INT NOT NULL AUTO_INCREMENT,
|
||||
POLICY_ID INT NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(20) NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
TENANT_ID INT(11) NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
@ -135,13 +135,13 @@ CREATE TABLE DM_PROFILE (
|
||||
ID INTEGER NOT NULL IDENTITY ,
|
||||
PROFILE_NAME VARCHAR(45) NOT NULL ,
|
||||
TENANT_ID INTEGER NOT NULL ,
|
||||
DEVICE_TYPE_ID INTEGER NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
CREATED_TIME DATETIME2(0) NOT NULL ,
|
||||
UPDATED_TIME DATETIME2(0) NOT NULL ,
|
||||
PRIMARY KEY (ID) ,
|
||||
CONSTRAINT DM_PROFILE_DEVICE_TYPE
|
||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
||||
REFERENCES DM_DEVICE_TYPE (ID )
|
||||
FOREIGN KEY (DEVICE_TYPE)
|
||||
REFERENCES DM_DEVICE_TYPE (NAME )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION
|
||||
);
|
||||
@ -196,7 +196,7 @@ CREATE TABLE DM_DEVICE_POLICY (
|
||||
|
||||
CREATE TABLE DM_DEVICE_TYPE_POLICY (
|
||||
ID INTEGER NOT NULL ,
|
||||
DEVICE_TYPE_ID INTEGER NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
POLICY_ID INTEGER NOT NULL ,
|
||||
PRIMARY KEY (ID) ,
|
||||
CONSTRAINT FK_DEVICE_TYPE_POLICY
|
||||
@ -205,8 +205,8 @@ CREATE TABLE DM_DEVICE_TYPE_POLICY (
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION,
|
||||
CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE
|
||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
||||
REFERENCES DM_DEVICE_TYPE (ID )
|
||||
FOREIGN KEY (DEVICE_TYPE)
|
||||
REFERENCES DM_DEVICE_TYPE (NAME )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION
|
||||
);
|
||||
@ -219,7 +219,7 @@ CREATE TABLE DM_PROFILE_FEATURES (
|
||||
ID INTEGER NOT NULL IDENTITY,
|
||||
PROFILE_ID INTEGER NOT NULL,
|
||||
FEATURE_CODE VARCHAR(100) NOT NULL,
|
||||
DEVICE_TYPE_ID INTEGER NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
TENANT_ID INTEGER NOT NULL ,
|
||||
CONTENT VARBINARY(max) NULL DEFAULT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
@ -340,7 +340,7 @@ CREATE TABLE DM_POLICY_COMPLIANCE_STATUS (
|
||||
CREATE TABLE DM_POLICY_CHANGE_MGT (
|
||||
ID INTEGER NOT NULL IDENTITY,
|
||||
POLICY_ID INTEGER NOT NULL,
|
||||
DEVICE_TYPE_ID INTEGER NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL,
|
||||
TENANT_ID INTEGER NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
);
|
||||
|
||||
@ -5,6 +5,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE (
|
||||
SHARED_WITH_ALL_TENANTS BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
PRIMARY KEY (ID)
|
||||
)ENGINE = InnoDB;
|
||||
CREATE INDEX device_type_name ON DM_DEVICE_TYPE (NAME);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS DM_DEVICE (
|
||||
ID INTEGER AUTO_INCREMENT NOT NULL,
|
||||
@ -117,13 +118,13 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE (
|
||||
ID INT NOT NULL AUTO_INCREMENT ,
|
||||
PROFILE_NAME VARCHAR(45) NOT NULL ,
|
||||
TENANT_ID INT NOT NULL ,
|
||||
DEVICE_TYPE_ID INT NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
CREATED_TIME DATETIME NOT NULL ,
|
||||
UPDATED_TIME DATETIME NOT NULL ,
|
||||
PRIMARY KEY (ID) ,
|
||||
CONSTRAINT DM_PROFILE_DEVICE_TYPE
|
||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
||||
REFERENCES DM_DEVICE_TYPE (ID )
|
||||
FOREIGN KEY (DEVICE_TYPE)
|
||||
REFERENCES DM_DEVICE_TYPE (NAME)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION
|
||||
)ENGINE = InnoDB;
|
||||
@ -171,7 +172,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY (
|
||||
|
||||
CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
||||
ID INT(11) NOT NULL ,
|
||||
DEVICE_TYPE_ID INT(11) NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
POLICY_ID INT(11) NOT NULL ,
|
||||
PRIMARY KEY (ID) ,
|
||||
CONSTRAINT FK_DEVICE_TYPE_POLICY
|
||||
@ -180,8 +181,8 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION,
|
||||
CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE
|
||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
||||
REFERENCES DM_DEVICE_TYPE (ID )
|
||||
FOREIGN KEY (DEVICE_TYPE )
|
||||
REFERENCES DM_DEVICE_TYPE (NAME )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION
|
||||
)ENGINE = InnoDB;
|
||||
@ -191,7 +192,7 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
PROFILE_ID INT(11) NOT NULL,
|
||||
FEATURE_CODE VARCHAR(100) NOT NULL,
|
||||
DEVICE_TYPE_ID INT NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
TENANT_ID INT(11) NOT NULL ,
|
||||
CONTENT BLOB NULL DEFAULT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
@ -308,7 +309,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_STATUS (
|
||||
CREATE TABLE IF NOT EXISTS DM_POLICY_CHANGE_MGT (
|
||||
ID INT NOT NULL AUTO_INCREMENT,
|
||||
POLICY_ID INT NOT NULL,
|
||||
DEVICE_TYPE_ID INT NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
TENANT_ID INT(11) NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
)ENGINE = InnoDB;
|
||||
|
||||
@ -250,13 +250,13 @@ CREATE TABLE DM_PROFILE (
|
||||
ID NUMBER(10) NOT NULL ,
|
||||
PROFILE_NAME VARCHAR2(45) NOT NULL ,
|
||||
TENANT_ID NUMBER(10) NOT NULL ,
|
||||
DEVICE_TYPE_ID NUMBER(10) NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR2(300) NOT NULL ,
|
||||
CREATED_TIME TIMESTAMP(0) NOT NULL ,
|
||||
UPDATED_TIME TIMESTAMP(0) NOT NULL ,
|
||||
CONSTRAINT PK_DM_PROFILE PRIMARY KEY (ID) ,
|
||||
CONSTRAINT DM_PROFILE_DEVICE_TYPE
|
||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
||||
REFERENCES DM_DEVICE_TYPE (ID )
|
||||
FOREIGN KEY (DEVICE_TYPE )
|
||||
REFERENCES DM_DEVICE_TYPE (NAME )
|
||||
)
|
||||
/
|
||||
-- Generate ID using sequence and trigger
|
||||
@ -338,15 +338,15 @@ WHEN (NEW.ID IS NULL)
|
||||
|
||||
CREATE TABLE DM_DEVICE_TYPE_POLICY (
|
||||
ID NUMBER(10) NOT NULL ,
|
||||
DEVICE_TYPE_ID NUMBER(10) NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR2(300) NOT NULL ,
|
||||
POLICY_ID NUMBER(10) NOT NULL ,
|
||||
CONSTRAINT PK_DEV_TYPE_POLICY PRIMARY KEY (ID) ,
|
||||
CONSTRAINT FK_DEV_TYPE_POLICY
|
||||
FOREIGN KEY (POLICY_ID )
|
||||
REFERENCES DM_POLICY (ID ),
|
||||
CONSTRAINT FK_DEV_TYPE_POLICY_DEV_TYPE
|
||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
||||
REFERENCES DM_DEVICE_TYPE (ID )
|
||||
FOREIGN KEY (DEVICE_TYPE )
|
||||
REFERENCES DM_DEVICE_TYPE (NAME )
|
||||
)
|
||||
/
|
||||
|
||||
@ -355,7 +355,7 @@ CREATE TABLE DM_PROFILE_FEATURES (
|
||||
ID NUMBER(10) NOT NULL,
|
||||
PROFILE_ID NUMBER(10) NOT NULL,
|
||||
FEATURE_CODE VARCHAR2(100) NOT NULL,
|
||||
DEVICE_TYPE_ID NUMBER(10) NOT NULL,
|
||||
DEVICE_TYPE VARCHAR2(300) NOT NULL ,
|
||||
TENANT_ID NUMBER(10) NOT NULL ,
|
||||
CONTENT BLOB DEFAULT NULL NULL,
|
||||
CONSTRAINT PK_DM_PROF_DM_POLICY_FEATURES PRIMARY KEY (ID),
|
||||
@ -566,7 +566,7 @@ WHEN (NEW.ID IS NULL)
|
||||
CREATE TABLE DM_POLICY_CHANGE_MGT (
|
||||
ID NUMBER(10) NOT NULL,
|
||||
POLICY_ID NUMBER(10) NOT NULL,
|
||||
DEVICE_TYPE_ID NUMBER(10) NOT NULL,
|
||||
DEVICE_TYPE VARCHAR2(300) NOT NULL,
|
||||
TENANT_ID NUMBER(10) NOT NULL,
|
||||
CONSTRAINT PK_DM_POLICY_CHANGE_MGT PRIMARY KEY (ID)
|
||||
)
|
||||
|
||||
@ -103,12 +103,12 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE (
|
||||
ID BIGSERIAL NOT NULL PRIMARY KEY,
|
||||
PROFILE_NAME VARCHAR(45) NOT NULL ,
|
||||
TENANT_ID INTEGER NOT NULL ,
|
||||
DEVICE_TYPE_ID INTEGER NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
CREATED_TIME TIMESTAMP NOT NULL ,
|
||||
UPDATED_TIME TIMESTAMP NOT NULL ,
|
||||
CONSTRAINT DM_PROFILE_DEVICE_TYPE
|
||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
||||
REFERENCES DM_DEVICE_TYPE (ID )
|
||||
FOREIGN KEY (DEVICE_TYPE )
|
||||
REFERENCES DM_DEVICE_TYPE (NAME )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION
|
||||
);
|
||||
@ -151,7 +151,7 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY (
|
||||
|
||||
CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
||||
ID INTEGER NOT NULL,
|
||||
DEVICE_TYPE_ID INTEGER NOT NULL ,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
POLICY_ID INTEGER NOT NULL ,
|
||||
PRIMARY KEY (ID) ,
|
||||
CONSTRAINT FK_DEVICE_TYPE_POLICY
|
||||
@ -160,8 +160,8 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY (
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION,
|
||||
CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE
|
||||
FOREIGN KEY (DEVICE_TYPE_ID )
|
||||
REFERENCES DM_DEVICE_TYPE (ID )
|
||||
FOREIGN KEY (DEVICE_TYPE )
|
||||
REFERENCES DM_DEVICE_TYPE (NAME )
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION
|
||||
);
|
||||
@ -170,7 +170,7 @@ CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES (
|
||||
ID BIGSERIAL NOT NULL PRIMARY KEY,
|
||||
PROFILE_ID INTEGER NOT NULL,
|
||||
FEATURE_CODE VARCHAR(100) NOT NULL,
|
||||
DEVICE_TYPE_ID INT NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL ,
|
||||
TENANT_ID INTEGER NOT NULL ,
|
||||
CONTENT BYTEA NULL DEFAULT NULL,
|
||||
CONSTRAINT FK_DM_PROFILE_DM_POLICY_FEATURES
|
||||
@ -272,7 +272,7 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_STATUS (
|
||||
CREATE TABLE IF NOT EXISTS DM_POLICY_CHANGE_MGT (
|
||||
ID BIGSERIAL NOT NULL PRIMARY KEY,
|
||||
POLICY_ID INTEGER NOT NULL,
|
||||
DEVICE_TYPE_ID INTEGER NOT NULL,
|
||||
DEVICE_TYPE VARCHAR(300) NOT NULL,
|
||||
TENANT_ID INTEGER NOT NULL
|
||||
);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user