mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Fixed EMM-1447, EMM-1424
This commit is contained in:
parent
89cebcdb9e
commit
6cc1bb088c
@ -81,7 +81,7 @@ public class ActivityProviderServiceImpl implements ActivityInfoProviderService
|
|||||||
long timestamp = 0;
|
long timestamp = 0;
|
||||||
boolean isIfModifiedSinceSet = false;
|
boolean isIfModifiedSinceSet = false;
|
||||||
boolean isSinceSet = false;
|
boolean isSinceSet = false;
|
||||||
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
if (ifModifiedSince != null && !ifModifiedSince.isEmpty()) {
|
if (ifModifiedSince != null && !ifModifiedSince.isEmpty()) {
|
||||||
Date ifSinceDate;
|
Date ifSinceDate;
|
||||||
SimpleDateFormat format = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
|
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) {
|
@QueryParam("limit") int limit) {
|
||||||
try {
|
try {
|
||||||
// RequestValidationUtil.validateSelectionCriteria(type, user, roleName, ownership, status);
|
// RequestValidationUtil.validateSelectionCriteria(type, user, roleName, ownership, status);
|
||||||
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService();
|
DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService();
|
||||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||||
PaginationResult result;
|
PaginationResult result;
|
||||||
@ -154,6 +154,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
|||||||
public Response getDeviceByUser(@QueryParam("offset") int offset,
|
public Response getDeviceByUser(@QueryParam("offset") int offset,
|
||||||
@QueryParam("limit") int limit) {
|
@QueryParam("limit") int limit) {
|
||||||
|
|
||||||
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||||
PaginationResult result;
|
PaginationResult result;
|
||||||
DeviceList devices = new DeviceList();
|
DeviceList devices = new DeviceList();
|
||||||
@ -292,6 +293,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
|||||||
@QueryParam("offset") int offset,
|
@QueryParam("offset") int offset,
|
||||||
@QueryParam("limit") int limit) {
|
@QueryParam("limit") int limit) {
|
||||||
OperationList operationsList = new OperationList();
|
OperationList operationsList = new OperationList();
|
||||||
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||||
PaginationResult result;
|
PaginationResult result;
|
||||||
DeviceManagementProviderService dms;
|
DeviceManagementProviderService dms;
|
||||||
|
|||||||
@ -50,6 +50,7 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
|||||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||||
@QueryParam("offset") int offset, @QueryParam("limit") int limit) {
|
@QueryParam("offset") int offset, @QueryParam("limit") int limit) {
|
||||||
|
|
||||||
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
PaginationRequest request = new PaginationRequest(offset, limit);
|
PaginationRequest request = new PaginationRequest(offset, limit);
|
||||||
PaginationResult result;
|
PaginationResult result;
|
||||||
|
|
||||||
|
|||||||
@ -140,6 +140,7 @@ public class PolicyManagementServiceImpl implements PolicyManagementService {
|
|||||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||||
@QueryParam("offset") int offset,
|
@QueryParam("offset") int offset,
|
||||||
@QueryParam("limit") int limit) {
|
@QueryParam("limit") int limit) {
|
||||||
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService();
|
PolicyManagerService policyManagementService = DeviceMgtAPIUtils.getPolicyManagementService();
|
||||||
List<Policy> policies;
|
List<Policy> policies;
|
||||||
List<Policy> filteredPolicies;
|
List<Policy> filteredPolicies;
|
||||||
|
|||||||
@ -61,6 +61,7 @@ public class RoleManagementServiceImpl implements RoleManagementService {
|
|||||||
@QueryParam("user-store") String userStore,
|
@QueryParam("user-store") String userStore,
|
||||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||||
@QueryParam("offset") int offset, @QueryParam("limit") int limit) {
|
@QueryParam("offset") int offset, @QueryParam("limit") int limit) {
|
||||||
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
List<String> filteredRoles;
|
List<String> filteredRoles;
|
||||||
RoleList targetRoles = new RoleList();
|
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.core.service.EmailMetaInfo;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.beans.*;
|
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.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.Constants;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.util.CredentialManagementResponseBuilder;
|
import org.wso2.carbon.device.mgt.jaxrs.util.CredentialManagementResponseBuilder;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
|
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");
|
log.debug("Getting the list of users with all user-related information");
|
||||||
}
|
}
|
||||||
List<BasicUserInfo> userList, offsetList;
|
List<BasicUserInfo> userList, offsetList;
|
||||||
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
String appliedFilter = ((filter == null) || filter.isEmpty() ? "*" : filter);
|
String appliedFilter = ((filter == null) || filter.isEmpty() ? "*" : filter);
|
||||||
int appliedLimit = (limit <= 0) ? -1 : (limit + offset);
|
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.DeviceList;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.beans.ErrorResponse;
|
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.api.admin.DeviceManagementAdminService;
|
||||||
|
import org.wso2.carbon.device.mgt.jaxrs.service.impl.util.RequestValidationUtil;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
|
import org.wso2.carbon.device.mgt.jaxrs.util.DeviceMgtAPIUtils;
|
||||||
|
|
||||||
import javax.ws.rs.*;
|
import javax.ws.rs.*;
|
||||||
@ -50,6 +51,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
|
|||||||
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
@HeaderParam("If-Modified-Since") String ifModifiedSince,
|
||||||
@QueryParam("offset") int offset,
|
@QueryParam("offset") int offset,
|
||||||
@QueryParam("limit") int limit) {
|
@QueryParam("limit") int limit) {
|
||||||
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
try {
|
try {
|
||||||
int currentTenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
|
int currentTenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
if (MultitenantConstants.SUPER_TENANT_ID != currentTenantId) {
|
if (MultitenantConstants.SUPER_TENANT_ID != currentTenantId) {
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
package org.wso2.carbon.device.mgt.jaxrs.service.impl.util;
|
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.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.configuration.mgt.PlatformConfiguration;
|
||||||
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||||
import org.wso2.carbon.device.mgt.jaxrs.beans.*;
|
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;
|
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.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.policy.PolicyConfiguration;
|
||||||
import org.wso2.carbon.device.mgt.core.config.task.TaskConfiguration;
|
import org.wso2.carbon.device.mgt.core.config.task.TaskConfiguration;
|
||||||
|
|
||||||
@ -37,6 +38,7 @@ public final class DeviceManagementConfig {
|
|||||||
private TaskConfiguration taskConfiguration;
|
private TaskConfiguration taskConfiguration;
|
||||||
private IdentityConfigurations identityConfigurations;
|
private IdentityConfigurations identityConfigurations;
|
||||||
private PolicyConfiguration policyConfiguration;
|
private PolicyConfiguration policyConfiguration;
|
||||||
|
private PaginationConfiguration paginationConfiguration;
|
||||||
private List<String> pushNotificationProviders;
|
private List<String> pushNotificationProviders;
|
||||||
|
|
||||||
|
|
||||||
@ -87,5 +89,14 @@ public final class DeviceManagementConfig {
|
|||||||
this.pushNotificationProviders = pushNotificationProviders;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -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.NotificationDAO;
|
||||||
import org.wso2.carbon.device.mgt.core.notification.mgt.dao.NotificationManagementDAOFactory;
|
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.notification.mgt.dao.util.NotificationDAOUtil;
|
||||||
|
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -177,6 +178,7 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
|||||||
public PaginationResult getAllNotifications(PaginationRequest request) throws NotificationManagementException {
|
public PaginationResult getAllNotifications(PaginationRequest request) throws NotificationManagementException {
|
||||||
PaginationResult paginationResult = new PaginationResult();
|
PaginationResult paginationResult = new PaginationResult();
|
||||||
List<Notification> notifications = new ArrayList<>();
|
List<Notification> notifications = new ArrayList<>();
|
||||||
|
request = DeviceManagerUtil.validateNotificationListPageSize(request);
|
||||||
int count =0;
|
int count =0;
|
||||||
try {
|
try {
|
||||||
NotificationManagementDAOFactory.openConnection();
|
NotificationManagementDAOFactory.openConnection();
|
||||||
@ -199,6 +201,7 @@ public class NotificationManagementServiceImpl implements NotificationManagement
|
|||||||
PaginationRequest request) throws NotificationManagementException{
|
PaginationRequest request) throws NotificationManagementException{
|
||||||
PaginationResult paginationResult = new PaginationResult();
|
PaginationResult paginationResult = new PaginationResult();
|
||||||
List<Notification> notifications = new ArrayList<>();
|
List<Notification> notifications = new ArrayList<>();
|
||||||
|
request = DeviceManagerUtil.validateNotificationListPageSize(request);
|
||||||
int count =0;
|
int count =0;
|
||||||
try {
|
try {
|
||||||
NotificationManagementDAOFactory.openConnection();
|
NotificationManagementDAOFactory.openConnection();
|
||||||
|
|||||||
@ -508,6 +508,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
int tenantId = this.getTenantId();
|
int tenantId = this.getTenantId();
|
||||||
String deviceType = request.getDeviceType();
|
String deviceType = request.getDeviceType();
|
||||||
|
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.openConnection();
|
DeviceManagementDAOFactory.openConnection();
|
||||||
allDevices = deviceDAO.getDevices(request, tenantId);
|
allDevices = deviceDAO.getDevices(request, tenantId);
|
||||||
@ -569,6 +570,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
List<Device> allDevices = new ArrayList<>();
|
List<Device> allDevices = new ArrayList<>();
|
||||||
int count = 0;
|
int count = 0;
|
||||||
int tenantId = this.getTenantId();
|
int tenantId = this.getTenantId();
|
||||||
|
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.openConnection();
|
DeviceManagementDAOFactory.openConnection();
|
||||||
allDevices = deviceDAO.getDevices(request, tenantId);
|
allDevices = deviceDAO.getDevices(request, tenantId);
|
||||||
@ -1031,6 +1033,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
@Override
|
@Override
|
||||||
public PaginationResult getOperations(DeviceIdentifier deviceId, PaginationRequest request)
|
public PaginationResult getOperations(DeviceIdentifier deviceId, PaginationRequest request)
|
||||||
throws OperationManagementException {
|
throws OperationManagementException {
|
||||||
|
request = DeviceManagerUtil.validateOperationListPageSize(request);
|
||||||
return pluginRepository.getOperationManager(deviceId.getType(), this.getTenantId())
|
return pluginRepository.getOperationManager(deviceId.getType(), this.getTenantId())
|
||||||
.getOperations(deviceId, request);
|
.getOperations(deviceId, request);
|
||||||
}
|
}
|
||||||
@ -1091,6 +1094,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Activity> getActivitiesUpdatedAfter(long timestamp, int limit, int offset) throws OperationManagementException {
|
public List<Activity> getActivitiesUpdatedAfter(long timestamp, int limit, int offset) throws OperationManagementException {
|
||||||
|
limit = DeviceManagerUtil.validateActivityListPageSize(limit);
|
||||||
return DeviceManagementDataHolder.getInstance().getOperationManager().getActivitiesUpdatedAfter(timestamp, limit, offset);
|
return DeviceManagementDataHolder.getInstance().getOperationManager().getActivitiesUpdatedAfter(timestamp, limit, offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1176,6 +1180,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
String username = request.getOwner();
|
String username = request.getOwner();
|
||||||
List<Device> devices = new ArrayList<>();
|
List<Device> devices = new ArrayList<>();
|
||||||
List<Device> userDevices = new ArrayList<>();
|
List<Device> userDevices = new ArrayList<>();
|
||||||
|
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.openConnection();
|
DeviceManagementDAOFactory.openConnection();
|
||||||
userDevices = deviceDAO.getDevicesOfUser(request, tenantId);
|
userDevices = deviceDAO.getDevicesOfUser(request, tenantId);
|
||||||
@ -1253,6 +1258,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
int deviceCount = 0;
|
int deviceCount = 0;
|
||||||
int tenantId = this.getTenantId();
|
int tenantId = this.getTenantId();
|
||||||
String ownerShip = request.getOwnership();
|
String ownerShip = request.getOwnership();
|
||||||
|
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.openConnection();
|
DeviceManagementDAOFactory.openConnection();
|
||||||
allDevices = deviceDAO.getDevicesByOwnership(request, tenantId);
|
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 {
|
public List<Device> getDevicesByNameAndType(String deviceName, String type, int offset, int limit) throws DeviceManagementException {
|
||||||
List<Device> devices = new ArrayList<>();
|
List<Device> devices = new ArrayList<>();
|
||||||
List<Device> allDevices;
|
List<Device> allDevices;
|
||||||
|
limit = DeviceManagerUtil.validateDeviceListPageSize(limit);
|
||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.openConnection();
|
DeviceManagementDAOFactory.openConnection();
|
||||||
allDevices = deviceDAO.getDevicesByNameAndType(deviceName, type, this.getTenantId(), offset, limit);
|
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> devices = new ArrayList<>();
|
||||||
List<Device> allDevices = new ArrayList<>();
|
List<Device> allDevices = new ArrayList<>();
|
||||||
String deviceName = request.getDeviceName();
|
String deviceName = request.getDeviceName();
|
||||||
|
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.openConnection();
|
DeviceManagementDAOFactory.openConnection();
|
||||||
allDevices = deviceDAO.getDevicesByName(request, tenantId);
|
allDevices = deviceDAO.getDevicesByName(request, tenantId);
|
||||||
@ -1636,6 +1644,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
List<Device> allDevices = new ArrayList<>();
|
List<Device> allDevices = new ArrayList<>();
|
||||||
int tenantId = this.getTenantId();
|
int tenantId = this.getTenantId();
|
||||||
String status = request.getStatus();
|
String status = request.getStatus();
|
||||||
|
request = DeviceManagerUtil.validateDeviceListPageSize(request);
|
||||||
try {
|
try {
|
||||||
DeviceManagementDAOFactory.openConnection();
|
DeviceManagementDAOFactory.openConnection();
|
||||||
allDevices = deviceDAO.getDevicesByStatus(request, tenantId);
|
allDevices = deviceDAO.getDevicesByStatus(request, tenantId);
|
||||||
|
|||||||
@ -21,10 +21,11 @@ import org.apache.commons.logging.Log;
|
|||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.wso2.carbon.base.MultitenantConstants;
|
import org.wso2.carbon.base.MultitenantConstants;
|
||||||
import org.wso2.carbon.device.mgt.common.Device;
|
import org.wso2.carbon.device.mgt.common.*;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.notification.mgt.NotificationManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.TransactionManagementException;
|
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.DataSourceConfig;
|
||||||
import org.wso2.carbon.device.mgt.core.config.datasource.JNDILookupDefinition;
|
import org.wso2.carbon.device.mgt.core.config.datasource.JNDILookupDefinition;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,8 +27,8 @@
|
|||||||
</ManagementRepository>
|
</ManagementRepository>
|
||||||
<PushNotificationProviders>
|
<PushNotificationProviders>
|
||||||
<Provider>org.wso2.carbon.device.mgt.extensions.push.notification.provider.gcm.GCMBasedPushNotificationProvider</Provider>
|
<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.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.xmpp.XMPPBasedPushNotificationProvider</Provider>-->
|
||||||
</PushNotificationProviders>
|
</PushNotificationProviders>
|
||||||
<IdentityConfiguration>
|
<IdentityConfiguration>
|
||||||
<ServerUrl>https://localhost:9443</ServerUrl>
|
<ServerUrl>https://localhost:9443</ServerUrl>
|
||||||
@ -37,14 +37,14 @@
|
|||||||
</IdentityConfiguration>
|
</IdentityConfiguration>
|
||||||
<PolicyConfiguration>
|
<PolicyConfiguration>
|
||||||
<MonitoringClass>org.wso2.carbon.policy.mgt</MonitoringClass>
|
<MonitoringClass>org.wso2.carbon.policy.mgt</MonitoringClass>
|
||||||
<MonitoringEnable>false</MonitoringEnable>
|
<MonitoringEnable>true</MonitoringEnable>
|
||||||
<MonitoringFrequency>60000</MonitoringFrequency>
|
<MonitoringFrequency>60000</MonitoringFrequency>
|
||||||
<MaxRetries>5</MaxRetries>
|
<MaxRetries>5</MaxRetries>
|
||||||
<MinRetriesToMarkUnreachable>8</MinRetriesToMarkUnreachable>
|
<MinRetriesToMarkUnreachable>8</MinRetriesToMarkUnreachable>
|
||||||
<MinRetriesToMarkInactive>20</MinRetriesToMarkInactive>
|
<MinRetriesToMarkInactive>20</MinRetriesToMarkInactive>
|
||||||
</PolicyConfiguration>
|
</PolicyConfiguration>
|
||||||
<TaskConfiguration>
|
<TaskConfiguration>
|
||||||
<Enable>false</Enable>
|
<Enable>true</Enable>
|
||||||
<Frequency>600000</Frequency>
|
<Frequency>600000</Frequency>
|
||||||
<TaskClass>org.wso2.carbon.device.mgt.core.task.impl.DeviceDetailsRetrieverTask</TaskClass>
|
<TaskClass>org.wso2.carbon.device.mgt.core.task.impl.DeviceDetailsRetrieverTask</TaskClass>
|
||||||
<Operations>
|
<Operations>
|
||||||
@ -62,5 +62,11 @@
|
|||||||
</Operation>
|
</Operation>
|
||||||
</Operations>
|
</Operations>
|
||||||
</TaskConfiguration>
|
</TaskConfiguration>
|
||||||
|
<PaginationConfiguration>
|
||||||
|
<DeviceListPageSize>20</DeviceListPageSize>
|
||||||
|
<NotificationListPageSize>20</NotificationListPageSize>
|
||||||
|
<ActivityListPageSize>20</ActivityListPageSize>
|
||||||
|
<OperationListPageSize>20</OperationListPageSize>
|
||||||
|
</PaginationConfiguration>
|
||||||
</DeviceMgtConfiguration>
|
</DeviceMgtConfiguration>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user