mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Fix filtering issues
This commit is contained in:
parent
d2317e47e0
commit
0e01b1c0ee
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2018 - 2024, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Entgra (Pvt) Ltd. 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 io.entgra.device.mgt.core.application.mgt.common;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class SubscriptionResponse {
|
||||||
|
private String applicationUUID;
|
||||||
|
private int count;
|
||||||
|
private List<?> data;
|
||||||
|
|
||||||
|
public SubscriptionResponse(String applicationUUID, int count, List<?> data) {
|
||||||
|
this.applicationUUID = applicationUUID;
|
||||||
|
this.count = count;
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SubscriptionResponse(String applicationUUID, List<?> data) {
|
||||||
|
this.applicationUUID = applicationUUID;
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getApplicationUUID() {
|
||||||
|
return applicationUUID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApplicationUUID(String applicationUUID) {
|
||||||
|
this.applicationUUID = applicationUUID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCount() {
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCount(int count) {
|
||||||
|
this.count = count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<?> getData() {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(List<?> data) {
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -24,6 +24,7 @@ import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionData;
|
|||||||
import io.entgra.device.mgt.core.application.mgt.common.ExecutionStatus;
|
import io.entgra.device.mgt.core.application.mgt.common.ExecutionStatus;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
||||||
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionResponse;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionType;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionType;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.CategorizedSubscriptionCountsDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.CategorizedSubscriptionCountsDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
||||||
@ -267,10 +268,10 @@ public interface SubscriptionManager {
|
|||||||
*/
|
*/
|
||||||
// List<SubscriptionsDTO> getRoleSubscriptionsByUUID(String uuid, String subscriptionStatus, PaginationRequest request,
|
// List<SubscriptionsDTO> getRoleSubscriptionsByUUID(String uuid, String subscriptionStatus, PaginationRequest request,
|
||||||
// int offset, int limit) throws ApplicationManagementException;
|
// int offset, int limit) throws ApplicationManagementException;
|
||||||
List<SubscriptionEntity> getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
SubscriptionResponse getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException;
|
throws ApplicationManagementException;
|
||||||
|
|
||||||
List<DeviceSubscription> getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
SubscriptionResponse getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException;
|
throws ApplicationManagementException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -402,6 +402,8 @@ public interface SubscriptionDAO {
|
|||||||
List<Integer> deviceIds, String actionStatus, String actionType,
|
List<Integer> deviceIds, String actionStatus, String actionType,
|
||||||
String actionTriggeredBy, String tabActionStatus,
|
String actionTriggeredBy, String tabActionStatus,
|
||||||
int limit, int offset) throws ApplicationManagementDAOException;
|
int limit, int offset) throws ApplicationManagementDAOException;
|
||||||
|
int getDeviceSubscriptionCount(int appReleaseId, boolean unsubscribe, int tenantId, String actionStatus, String actionType,
|
||||||
|
String actionTriggeredBy) throws ApplicationManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is used to get the details of device subscriptions related to a UUID.
|
* This method is used to get the details of device subscriptions related to a UUID.
|
||||||
|
|||||||
@ -1915,7 +1915,7 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
|
|||||||
public List<DeviceSubscriptionDTO> getSubscriptionDetailsByDeviceIds(int appReleaseId, boolean unsubscribe, int tenantId,
|
public List<DeviceSubscriptionDTO> getSubscriptionDetailsByDeviceIds(int appReleaseId, boolean unsubscribe, int tenantId,
|
||||||
List<Integer> deviceIds, String actionStatus, String actionType,
|
List<Integer> deviceIds, String actionStatus, String actionType,
|
||||||
String actionTriggeredBy, String tabActionStatus,
|
String actionTriggeredBy, String tabActionStatus,
|
||||||
int offset, int limit) throws ApplicationManagementDAOException {
|
int limit, int offset) throws ApplicationManagementDAOException {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Getting device subscriptions for the application release id " + appReleaseId
|
log.debug("Getting device subscriptions for the application release id " + appReleaseId
|
||||||
+ " and device ids " + deviceIds + " from the database");
|
+ " and device ids " + deviceIds + " from the database");
|
||||||
@ -2014,6 +2014,64 @@ public class GenericSubscriptionDAOImpl extends AbstractDAOImpl implements Subsc
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getDeviceSubscriptionCount(int appReleaseId, boolean unsubscribe, int tenantId, String actionStatus,
|
||||||
|
String actionType, String actionTriggeredBy) throws ApplicationManagementDAOException {
|
||||||
|
int deviceCount = 0;
|
||||||
|
try {
|
||||||
|
Connection conn = this.getDBConnection();
|
||||||
|
StringBuilder sql = new StringBuilder("SELECT "
|
||||||
|
+ "COUNT(DS.ID) AS DEVICE_COUNT "
|
||||||
|
+ "FROM AP_DEVICE_SUBSCRIPTION DS "
|
||||||
|
+ "WHERE DS.AP_APP_RELEASE_ID = ? AND DS.UNSUBSCRIBED = ? AND DS.TENANT_ID = ?");
|
||||||
|
|
||||||
|
if (actionStatus != null && !actionStatus.isEmpty()) {
|
||||||
|
sql.append(" AND DS.STATUS = ? ");
|
||||||
|
}
|
||||||
|
if (actionType != null && !actionType.isEmpty()) {
|
||||||
|
sql.append(" AND DS.ACTION_TRIGGERED_FROM = ? ");
|
||||||
|
}
|
||||||
|
if (actionTriggeredBy != null && !actionTriggeredBy.isEmpty()) {
|
||||||
|
sql.append(" AND DS.SUBSCRIBED_BY LIKE ? ");
|
||||||
|
}
|
||||||
|
|
||||||
|
try (PreparedStatement ps = conn.prepareStatement(sql.toString())) {
|
||||||
|
int paramIdx = 1;
|
||||||
|
ps.setInt(paramIdx++, appReleaseId);
|
||||||
|
ps.setBoolean(paramIdx++, unsubscribe);
|
||||||
|
ps.setInt(paramIdx++, tenantId);
|
||||||
|
|
||||||
|
if (actionStatus != null && !actionStatus.isEmpty()) {
|
||||||
|
ps.setString(paramIdx++, actionStatus);
|
||||||
|
}
|
||||||
|
if (actionType != null && !actionType.isEmpty()) {
|
||||||
|
ps.setString(paramIdx++, actionType);
|
||||||
|
}
|
||||||
|
if (actionTriggeredBy != null && !actionTriggeredBy.isEmpty()) {
|
||||||
|
ps.setString(paramIdx, "%" + actionTriggeredBy + "%");
|
||||||
|
}
|
||||||
|
|
||||||
|
try (ResultSet rs = ps.executeQuery()) {
|
||||||
|
if (rs.next()) {
|
||||||
|
deviceCount = rs.getInt("DEVICE_COUNT");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return deviceCount;
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while running SQL to get device subscription data for application ID";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new ApplicationManagementDAOException(msg, e);
|
||||||
|
}
|
||||||
|
} catch (DBConnectionException e) {
|
||||||
|
String msg = "Error occurred while obtaining the DB connection for getting device subscriptions for "
|
||||||
|
+ "application Id: " + appReleaseId;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new ApplicationManagementDAOException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
// public List<DeviceSubscriptionDTO> getSubscriptionDetailsByDeviceIds(int appReleaseId, boolean unsubscribe, int tenantId,
|
// public List<DeviceSubscriptionDTO> getSubscriptionDetailsByDeviceIds(int appReleaseId, boolean unsubscribe, int tenantId,
|
||||||
// List<Integer> deviceIds, String actionStatus, String actionType,
|
// List<Integer> deviceIds, String actionStatus, String actionType,
|
||||||
|
|||||||
@ -27,6 +27,7 @@ import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscription;
|
|||||||
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionData;
|
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionData;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
||||||
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionResponse;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.CategorizedSubscriptionCountsDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.CategorizedSubscriptionCountsDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.SubscriptionsDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.SubscriptionsDTO;
|
||||||
@ -1722,7 +1723,7 @@ public class SubscriptionManagerImpl implements SubscriptionManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SubscriptionEntity> getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
SubscriptionManagementHelperService subscriptionManagementHelperService =
|
SubscriptionManagementHelperService subscriptionManagementHelperService =
|
||||||
SubscriptionManagementServiceProvider.getInstance().getSubscriptionManagementHelperService(subscriptionInfo);
|
SubscriptionManagementServiceProvider.getInstance().getSubscriptionManagementHelperService(subscriptionInfo);
|
||||||
@ -1730,7 +1731,7 @@ public class SubscriptionManagerImpl implements SubscriptionManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceSubscription> getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
SubscriptionManagementHelperService subscriptionManagementHelperService =
|
SubscriptionManagementHelperService subscriptionManagementHelperService =
|
||||||
SubscriptionManagementServiceProvider.getInstance().getSubscriptionManagementHelperService(subscriptionInfo);
|
SubscriptionManagementServiceProvider.getInstance().getSubscriptionManagementHelperService(subscriptionInfo);
|
||||||
|
|||||||
@ -36,17 +36,20 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
public class SubscriptionManagementHelperUtil {
|
public class SubscriptionManagementHelperUtil {
|
||||||
public static List<DeviceSubscription> getDeviceSubscriptionData(List<DeviceSubscriptionDTO> deviceSubscriptionDTOS,
|
public static List<DeviceSubscription> getDeviceSubscriptionData(List<DeviceSubscriptionDTO> deviceSubscriptionDTOS,
|
||||||
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria) throws DeviceManagementException {
|
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria,
|
||||||
|
boolean isUnsubscribed)
|
||||||
|
throws DeviceManagementException {
|
||||||
List<Integer> deviceIds = deviceSubscriptionDTOS.stream().map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
List<Integer> deviceIds = deviceSubscriptionDTOS.stream().map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
||||||
PaginationRequest paginationRequest = new PaginationRequest(0, -1);
|
PaginationRequest paginationRequest = new PaginationRequest(0, -1);
|
||||||
paginationRequest.setDeviceName(deviceSubscriptionFilterCriteria.getName());
|
paginationRequest.setDeviceName(deviceSubscriptionFilterCriteria.getName());
|
||||||
paginationRequest.setDeviceStatus(deviceSubscriptionFilterCriteria.getDeviceStatus());
|
paginationRequest.setDeviceStatus(deviceSubscriptionFilterCriteria.getDeviceStatus());
|
||||||
paginationRequest.setOwner(deviceSubscriptionFilterCriteria.getOwner());
|
paginationRequest.setOwner(deviceSubscriptionFilterCriteria.getOwner());
|
||||||
List<Device> devices = HelperUtil.getDeviceManagementProviderService().getDevicesByDeviceIds(paginationRequest, deviceIds);
|
List<Device> devices = HelperUtil.getDeviceManagementProviderService().getDevicesByDeviceIds(paginationRequest, deviceIds);
|
||||||
return populateDeviceData(deviceSubscriptionDTOS, devices);
|
return populateDeviceData(deviceSubscriptionDTOS, devices, isUnsubscribed);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<DeviceSubscription> populateDeviceData(List<DeviceSubscriptionDTO> deviceSubscriptionDTOS, List<Device> devices) {
|
private static List<DeviceSubscription> populateDeviceData(List<DeviceSubscriptionDTO> deviceSubscriptionDTOS,
|
||||||
|
List<Device> devices, boolean isUnsubscribed) {
|
||||||
List<DeviceSubscription> deviceSubscriptions = new ArrayList<>();
|
List<DeviceSubscription> deviceSubscriptions = new ArrayList<>();
|
||||||
for (Device device : devices) {
|
for (Device device : devices) {
|
||||||
int idx = deviceSubscriptionDTOS.indexOf(new DeviceSubscriptionDTO(device.getId()));
|
int idx = deviceSubscriptionDTOS.indexOf(new DeviceSubscriptionDTO(device.getId()));
|
||||||
@ -61,7 +64,8 @@ public class SubscriptionManagementHelperUtil {
|
|||||||
deviceSubscription.setOwnershipType(device.getEnrolmentInfo().getOwnership().name());
|
deviceSubscription.setOwnershipType(device.getEnrolmentInfo().getOwnership().name());
|
||||||
deviceSubscription.setDateOfLastUpdate(new Timestamp(device.getEnrolmentInfo().getDateOfLastUpdate()));
|
deviceSubscription.setDateOfLastUpdate(new Timestamp(device.getEnrolmentInfo().getDateOfLastUpdate()));
|
||||||
SubscriptionData subscriptionData = new SubscriptionData();
|
SubscriptionData subscriptionData = new SubscriptionData();
|
||||||
subscriptionData.setTriggeredBy(deviceSubscriptionDTO.getActionTriggeredFrom());
|
subscriptionData.setTriggeredBy(isUnsubscribed ? deviceSubscriptionDTO.getUnsubscribedBy() :
|
||||||
|
deviceSubscriptionDTO.getSubscribedBy());
|
||||||
subscriptionData.setTriggeredAt(deviceSubscriptionDTO.getSubscribedTimestamp());
|
subscriptionData.setTriggeredAt(deviceSubscriptionDTO.getSubscribedTimestamp());
|
||||||
subscriptionData.setSubscriptionType(deviceSubscriptionDTO.getStatus());
|
subscriptionData.setSubscriptionType(deviceSubscriptionDTO.getStatus());
|
||||||
deviceSubscription.setSubscriptionData(subscriptionData);
|
deviceSubscription.setSubscriptionData(subscriptionData);
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionData;
|
|||||||
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionFilterCriteria;
|
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionFilterCriteria;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
||||||
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionResponse;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationReleaseDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationReleaseDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.SubscriptionsDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.SubscriptionsDTO;
|
||||||
@ -40,6 +41,7 @@ import io.entgra.device.mgt.core.device.mgt.common.Device;
|
|||||||
import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest;
|
import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.PaginationResult;
|
import io.entgra.device.mgt.core.device.mgt.common.PaginationResult;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
@ -65,10 +67,11 @@ public class DeviceBasedSubscriptionManagementHelperServiceImpl implements Subsc
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceSubscription> getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
||||||
List<DeviceSubscriptionDTO> deviceSubscriptionDTOS;
|
List<DeviceSubscriptionDTO> deviceSubscriptionDTOS;
|
||||||
|
int deviceCount = 0;
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -84,27 +87,34 @@ public class DeviceBasedSubscriptionManagementHelperServiceImpl implements Subsc
|
|||||||
|
|
||||||
String deviceSubscriptionStatus = SubscriptionManagementHelperUtil.getDeviceSubscriptionStatus(subscriptionInfo);
|
String deviceSubscriptionStatus = SubscriptionManagementHelperUtil.getDeviceSubscriptionStatus(subscriptionInfo);
|
||||||
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria = subscriptionInfo.getDeviceSubscriptionFilterCriteria();
|
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria = subscriptionInfo.getDeviceSubscriptionFilterCriteria();
|
||||||
|
DeviceManagementProviderService deviceManagementProviderService = HelperUtil.getDeviceManagementProviderService();
|
||||||
|
|
||||||
if (Objects.equals("NEW", deviceSubscriptionStatus)) {
|
if (Objects.equals("NEW", deviceSubscriptionStatus)) {
|
||||||
deviceSubscriptionDTOS = subscriptionDAO.getAllSubscriptionsDetails(applicationReleaseDTO.
|
deviceSubscriptionDTOS = subscriptionDAO.getAllSubscriptionsDetails(applicationReleaseDTO.
|
||||||
getId(),isUnsubscribe, tenantId, null, subscriptionInfo.getSubscriptionType(),
|
getId(),isUnsubscribe, tenantId, null, subscriptionInfo.getSubscriptionType().toUpperCase(),
|
||||||
deviceSubscriptionFilterCriteria.getTriggeredBy(),-1, -1);
|
deviceSubscriptionFilterCriteria.getTriggeredBy(),-1, -1);
|
||||||
|
|
||||||
List<Integer> deviceIdsOfSubscription = deviceSubscriptionDTOS.stream().
|
List<Integer> deviceIdsOfSubscription = deviceSubscriptionDTOS.stream().
|
||||||
map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
||||||
|
|
||||||
List<Integer> newDeviceIds = HelperUtil.getDeviceManagementProviderService().
|
List<Integer> newDeviceIds = deviceManagementProviderService.getDevicesNotInGivenIdList(deviceIdsOfSubscription,
|
||||||
getDevicesNotInGivenIdList(deviceIdsOfSubscription, new PaginationRequest(offset, limit));
|
new PaginationRequest(offset, limit));
|
||||||
|
|
||||||
deviceSubscriptionDTOS = newDeviceIds.stream().map(DeviceSubscriptionDTO::new).collect(Collectors.toList());
|
deviceSubscriptionDTOS = newDeviceIds.stream().map(DeviceSubscriptionDTO::new).collect(Collectors.toList());
|
||||||
|
|
||||||
|
deviceCount = deviceManagementProviderService.getDeviceCountNotInGivenIdList(deviceIdsOfSubscription);
|
||||||
} else {
|
} else {
|
||||||
deviceSubscriptionDTOS = subscriptionDAO.getAllSubscriptionsDetails(applicationReleaseDTO.
|
deviceSubscriptionDTOS = subscriptionDAO.getAllSubscriptionsDetails(applicationReleaseDTO.
|
||||||
getId(),isUnsubscribe, tenantId, null, subscriptionInfo.getSubscriptionType(),
|
getId(),isUnsubscribe, tenantId, subscriptionInfo.getDeviceSubscriptionStatus(), subscriptionInfo.
|
||||||
deviceSubscriptionFilterCriteria.getTriggeredBy(), limit, offset);
|
getSubscriptionType().toUpperCase(), deviceSubscriptionFilterCriteria.getTriggeredBy(), offset, limit);
|
||||||
|
|
||||||
|
deviceCount = subscriptionDAO.getDeviceSubscriptionCount(applicationReleaseDTO.getId(), isUnsubscribe, tenantId,
|
||||||
|
subscriptionInfo.getDeviceSubscriptionStatus(), subscriptionInfo.getSubscriptionType().toUpperCase(),
|
||||||
|
deviceSubscriptionFilterCriteria.getTriggeredBy());
|
||||||
}
|
}
|
||||||
|
List<DeviceSubscription> deviceSubscriptions = SubscriptionManagementHelperUtil.getDeviceSubscriptionData(deviceSubscriptionDTOS,
|
||||||
return SubscriptionManagementHelperUtil.getDeviceSubscriptionData(deviceSubscriptionDTOS,
|
subscriptionInfo.getDeviceSubscriptionFilterCriteria(), isUnsubscribe);
|
||||||
subscriptionInfo.getDeviceSubscriptionFilterCriteria());
|
return new SubscriptionResponse(subscriptionInfo.getApplicationUUID(), deviceCount, deviceSubscriptions);
|
||||||
|
|
||||||
} catch (DeviceManagementException e) {
|
} catch (DeviceManagementException e) {
|
||||||
String msg = "Error encountered while getting device details";
|
String msg = "Error encountered while getting device details";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
@ -119,9 +129,9 @@ public class DeviceBasedSubscriptionManagementHelperServiceImpl implements Subsc
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SubscriptionEntity> getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
return Collections.emptyList();
|
return new SubscriptionResponse(subscriptionInfo.getApplicationUUID(), Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionData;
|
|||||||
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionFilterCriteria;
|
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionFilterCriteria;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
||||||
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionResponse;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationReleaseDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationReleaseDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
||||||
@ -39,6 +40,7 @@ import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest;
|
|||||||
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.GroupManagementException;
|
import io.entgra.device.mgt.core.device.mgt.common.group.mgt.GroupManagementException;
|
||||||
import io.entgra.device.mgt.core.device.mgt.core.dto.GroupDetailsDTO;
|
import io.entgra.device.mgt.core.device.mgt.core.dto.GroupDetailsDTO;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import io.entgra.device.mgt.core.device.mgt.core.service.GroupManagementProviderService;
|
import io.entgra.device.mgt.core.device.mgt.core.service.GroupManagementProviderService;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
@ -61,11 +63,12 @@ public class GroupBasedSubscriptionManagementHelperServiceImpl implements Subscr
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceSubscription> getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
|
|
||||||
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
||||||
List<DeviceSubscriptionDTO> deviceSubscriptionDTOS;
|
List<DeviceSubscriptionDTO> deviceSubscriptionDTOS;
|
||||||
|
int deviceCount = 0;
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -89,6 +92,7 @@ public class GroupBasedSubscriptionManagementHelperServiceImpl implements Subscr
|
|||||||
|
|
||||||
String deviceSubscriptionStatus = SubscriptionManagementHelperUtil.getDeviceSubscriptionStatus(subscriptionInfo);
|
String deviceSubscriptionStatus = SubscriptionManagementHelperUtil.getDeviceSubscriptionStatus(subscriptionInfo);
|
||||||
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria = subscriptionInfo.getDeviceSubscriptionFilterCriteria();
|
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria = subscriptionInfo.getDeviceSubscriptionFilterCriteria();
|
||||||
|
DeviceManagementProviderService deviceManagementProviderService = HelperUtil.getDeviceManagementProviderService();
|
||||||
|
|
||||||
GroupManagementProviderService groupManagementProviderService = HelperUtil.getGroupManagementProviderService();
|
GroupManagementProviderService groupManagementProviderService = HelperUtil.getGroupManagementProviderService();
|
||||||
GroupDetailsDTO groupDetailsDTO;
|
GroupDetailsDTO groupDetailsDTO;
|
||||||
@ -108,9 +112,11 @@ public class GroupBasedSubscriptionManagementHelperServiceImpl implements Subscr
|
|||||||
List<Integer> deviceIdsOfSubscription = deviceSubscriptionDTOS.stream().
|
List<Integer> deviceIdsOfSubscription = deviceSubscriptionDTOS.stream().
|
||||||
map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
||||||
|
|
||||||
List<Integer> newDeviceIds = HelperUtil.getDeviceManagementProviderService().
|
List<Integer> newDeviceIds = deviceManagementProviderService.getDevicesNotInGivenIdList(deviceIdsOfSubscription,
|
||||||
getDevicesNotInGivenIdList(deviceIdsOfSubscription, new PaginationRequest(offset, limit));
|
new PaginationRequest(offset, limit));
|
||||||
deviceSubscriptionDTOS = newDeviceIds.stream().map(DeviceSubscriptionDTO::new).collect(Collectors.toList());
|
deviceSubscriptionDTOS = newDeviceIds.stream().map(DeviceSubscriptionDTO::new).collect(Collectors.toList());
|
||||||
|
|
||||||
|
deviceCount = deviceManagementProviderService.getDeviceCountNotInGivenIdList(deviceIdsOfSubscription);
|
||||||
} else {
|
} else {
|
||||||
groupDetailsDTO = groupManagementProviderService.getGroupDetailsWithDevices(subscriptionInfo.getIdentifier(),
|
groupDetailsDTO = groupManagementProviderService.getGroupDetailsWithDevices(subscriptionInfo.getIdentifier(),
|
||||||
applicationDTO.getDeviceTypeId(), deviceSubscriptionFilterCriteria.getOwner(), deviceSubscriptionFilterCriteria.getName(),
|
applicationDTO.getDeviceTypeId(), deviceSubscriptionFilterCriteria.getOwner(), deviceSubscriptionFilterCriteria.getName(),
|
||||||
@ -118,14 +124,17 @@ public class GroupBasedSubscriptionManagementHelperServiceImpl implements Subscr
|
|||||||
deviceIdsOwnByGroup = groupDetailsDTO.getDeviceIds();
|
deviceIdsOwnByGroup = groupDetailsDTO.getDeviceIds();
|
||||||
|
|
||||||
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
||||||
isUnsubscribe, tenantId, deviceIdsOwnByGroup, null,
|
isUnsubscribe, tenantId, deviceIdsOwnByGroup, subscriptionInfo.getDeviceSubscriptionStatus(),
|
||||||
subscriptionInfo.getSubscriptionType(), deviceSubscriptionFilterCriteria.getTriggeredBy(),
|
subscriptionInfo.getSubscriptionType(), deviceSubscriptionFilterCriteria.getTriggeredBy(),
|
||||||
null, limit, offset);
|
null, limit, offset);
|
||||||
|
|
||||||
|
deviceCount = subscriptionDAO.getDeviceSubscriptionCount(applicationReleaseDTO.getId(), isUnsubscribe, tenantId,
|
||||||
|
subscriptionInfo.getDeviceSubscriptionStatus(), subscriptionInfo.getSubscriptionType(),
|
||||||
|
deviceSubscriptionFilterCriteria.getTriggeredBy());
|
||||||
}
|
}
|
||||||
|
List<DeviceSubscription> deviceSubscriptions = SubscriptionManagementHelperUtil.getDeviceSubscriptionData(deviceSubscriptionDTOS,
|
||||||
return SubscriptionManagementHelperUtil.getDeviceSubscriptionData(deviceSubscriptionDTOS,
|
subscriptionInfo.getDeviceSubscriptionFilterCriteria(), isUnsubscribe);
|
||||||
subscriptionInfo.getDeviceSubscriptionFilterCriteria());
|
return new SubscriptionResponse(subscriptionInfo.getApplicationUUID(), deviceCount, deviceSubscriptions);
|
||||||
|
|
||||||
} catch (GroupManagementException e) {
|
} catch (GroupManagementException e) {
|
||||||
String msg = "Error encountered while retrieving group details for group: " + subscriptionInfo.getIdentifier();
|
String msg = "Error encountered while retrieving group details for group: " + subscriptionInfo.getIdentifier();
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
@ -143,7 +152,7 @@ public class GroupBasedSubscriptionManagementHelperServiceImpl implements Subscr
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SubscriptionEntity> getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
||||||
final int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
final int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
@ -157,8 +166,9 @@ public class GroupBasedSubscriptionManagementHelperServiceImpl implements Subscr
|
|||||||
log.error(msg);
|
log.error(msg);
|
||||||
throw new NotFoundException(msg);
|
throw new NotFoundException(msg);
|
||||||
}
|
}
|
||||||
return subscriptionDAO.
|
List<SubscriptionEntity> subscriptionEntities = subscriptionDAO.
|
||||||
getGroupsSubscriptionDetailsByAppReleaseID(applicationReleaseDTO.getId(), isUnsubscribe, tenantId, offset, limit);
|
getGroupsSubscriptionDetailsByAppReleaseID(applicationReleaseDTO.getId(), isUnsubscribe, tenantId, offset, limit);
|
||||||
|
return new SubscriptionResponse(subscriptionInfo.getApplicationUUID(), subscriptionEntities);
|
||||||
} catch (DBConnectionException | ApplicationManagementDAOException e) {
|
} catch (DBConnectionException | ApplicationManagementDAOException e) {
|
||||||
String msg = "Error encountered while connecting to the database";
|
String msg = "Error encountered while connecting to the database";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionData;
|
|||||||
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionFilterCriteria;
|
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionFilterCriteria;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
||||||
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionResponse;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationReleaseDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationReleaseDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.exception.ApplicationManagementException;
|
import io.entgra.device.mgt.core.application.mgt.common.exception.ApplicationManagementException;
|
||||||
@ -39,6 +40,7 @@ import io.entgra.device.mgt.core.device.mgt.common.Device;
|
|||||||
import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest;
|
import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.PaginationResult;
|
import io.entgra.device.mgt.core.device.mgt.common.PaginationResult;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
@ -65,10 +67,11 @@ public class RoleBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceSubscription> getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
||||||
List<DeviceSubscriptionDTO> deviceSubscriptionDTOS;
|
List<DeviceSubscriptionDTO> deviceSubscriptionDTOS;
|
||||||
|
int deviceCount = 0;
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -102,6 +105,7 @@ public class RoleBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
|
|
||||||
String deviceSubscriptionStatus = SubscriptionManagementHelperUtil.getDeviceSubscriptionStatus(subscriptionInfo);
|
String deviceSubscriptionStatus = SubscriptionManagementHelperUtil.getDeviceSubscriptionStatus(subscriptionInfo);
|
||||||
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria = subscriptionInfo.getDeviceSubscriptionFilterCriteria();
|
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria = subscriptionInfo.getDeviceSubscriptionFilterCriteria();
|
||||||
|
DeviceManagementProviderService deviceManagementProviderService = HelperUtil.getDeviceManagementProviderService();
|
||||||
|
|
||||||
if (Objects.equals("NEW", deviceSubscriptionStatus)) {
|
if (Objects.equals("NEW", deviceSubscriptionStatus)) {
|
||||||
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
||||||
@ -112,18 +116,23 @@ public class RoleBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
List<Integer> deviceIdsOfSubscription = deviceSubscriptionDTOS.stream().
|
List<Integer> deviceIdsOfSubscription = deviceSubscriptionDTOS.stream().
|
||||||
map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
||||||
|
|
||||||
List<Integer> newDeviceIds = HelperUtil.getDeviceManagementProviderService().
|
List<Integer> newDeviceIds = deviceManagementProviderService.getDevicesNotInGivenIdList(deviceIdsOfSubscription, new PaginationRequest(offset, limit));
|
||||||
getDevicesNotInGivenIdList(deviceIdsOfSubscription, new PaginationRequest(offset, limit));
|
|
||||||
deviceSubscriptionDTOS = newDeviceIds.stream().map(DeviceSubscriptionDTO::new).collect(Collectors.toList());
|
deviceSubscriptionDTOS = newDeviceIds.stream().map(DeviceSubscriptionDTO::new).collect(Collectors.toList());
|
||||||
|
deviceCount = deviceManagementProviderService.getDeviceCountNotInGivenIdList(deviceIdsOfSubscription);
|
||||||
} else {
|
} else {
|
||||||
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
||||||
isUnsubscribe, tenantId, deviceIdsOwnByRole, null,
|
isUnsubscribe, tenantId, deviceIdsOwnByRole, subscriptionInfo.getDeviceSubscriptionStatus(),
|
||||||
subscriptionInfo.getSubscriptionType(), deviceSubscriptionFilterCriteria.getTriggeredBy(),
|
subscriptionInfo.getSubscriptionType(), deviceSubscriptionFilterCriteria.getTriggeredBy(),
|
||||||
null, limit, offset);
|
null, limit, offset);
|
||||||
}
|
|
||||||
|
|
||||||
return SubscriptionManagementHelperUtil.getDeviceSubscriptionData(deviceSubscriptionDTOS,
|
deviceCount = subscriptionDAO.getDeviceSubscriptionCount(applicationReleaseDTO.getId(), isUnsubscribe, tenantId,
|
||||||
subscriptionInfo.getDeviceSubscriptionFilterCriteria());
|
subscriptionInfo.getDeviceSubscriptionStatus(), subscriptionInfo.getSubscriptionType(),
|
||||||
|
deviceSubscriptionFilterCriteria.getTriggeredBy());
|
||||||
|
}
|
||||||
|
List<DeviceSubscription> deviceSubscriptions = SubscriptionManagementHelperUtil.
|
||||||
|
getDeviceSubscriptionData(deviceSubscriptionDTOS,
|
||||||
|
subscriptionInfo.getDeviceSubscriptionFilterCriteria(), isUnsubscribe);
|
||||||
|
return new SubscriptionResponse(subscriptionInfo.getApplicationUUID(), deviceCount, deviceSubscriptions);
|
||||||
|
|
||||||
} catch (UserStoreException e) {
|
} catch (UserStoreException e) {
|
||||||
String msg = "Error encountered while getting the user management store for tenant id " + tenantId;
|
String msg = "Error encountered while getting the user management store for tenant id " + tenantId;
|
||||||
@ -143,7 +152,7 @@ public class RoleBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SubscriptionEntity> getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
||||||
final int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
final int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
@ -157,8 +166,9 @@ public class RoleBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
log.error(msg);
|
log.error(msg);
|
||||||
throw new NotFoundException(msg);
|
throw new NotFoundException(msg);
|
||||||
}
|
}
|
||||||
return subscriptionDAO.
|
List<SubscriptionEntity> subscriptionEntities = subscriptionDAO.
|
||||||
getRoleSubscriptionsByAppReleaseID(applicationReleaseDTO.getId(), isUnsubscribe, tenantId, offset, limit);
|
getRoleSubscriptionsByAppReleaseID(applicationReleaseDTO.getId(), isUnsubscribe, tenantId, offset, limit);
|
||||||
|
return new SubscriptionResponse(subscriptionInfo.getApplicationUUID(), subscriptionEntities);
|
||||||
} catch (DBConnectionException | ApplicationManagementDAOException e) {
|
} catch (DBConnectionException | ApplicationManagementDAOException e) {
|
||||||
String msg = "Error encountered while connecting to the database";
|
String msg = "Error encountered while connecting to the database";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
|
|||||||
@ -23,6 +23,7 @@ import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscription;
|
|||||||
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionFilterCriteria;
|
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionFilterCriteria;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
||||||
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionResponse;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationReleaseDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.ApplicationReleaseDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.exception.ApplicationManagementException;
|
import io.entgra.device.mgt.core.application.mgt.common.exception.ApplicationManagementException;
|
||||||
@ -37,6 +38,7 @@ import io.entgra.device.mgt.core.device.mgt.common.Device;
|
|||||||
import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest;
|
import io.entgra.device.mgt.core.device.mgt.common.PaginationRequest;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.PaginationResult;
|
import io.entgra.device.mgt.core.device.mgt.common.PaginationResult;
|
||||||
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
import io.entgra.device.mgt.core.device.mgt.common.exceptions.DeviceManagementException;
|
||||||
|
import io.entgra.device.mgt.core.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
@ -60,10 +62,11 @@ public class UserBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public List<DeviceSubscription> getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
||||||
List<DeviceSubscriptionDTO> deviceSubscriptionDTOS;
|
List<DeviceSubscriptionDTO> deviceSubscriptionDTOS;
|
||||||
|
int deviceCount = 0;
|
||||||
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -91,6 +94,7 @@ public class UserBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
|
|
||||||
String deviceSubscriptionStatus = SubscriptionManagementHelperUtil.getDeviceSubscriptionStatus(subscriptionInfo);
|
String deviceSubscriptionStatus = SubscriptionManagementHelperUtil.getDeviceSubscriptionStatus(subscriptionInfo);
|
||||||
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria = subscriptionInfo.getDeviceSubscriptionFilterCriteria();
|
DeviceSubscriptionFilterCriteria deviceSubscriptionFilterCriteria = subscriptionInfo.getDeviceSubscriptionFilterCriteria();
|
||||||
|
DeviceManagementProviderService deviceManagementProviderService = HelperUtil.getDeviceManagementProviderService();
|
||||||
|
|
||||||
if (Objects.equals("NEW", deviceSubscriptionStatus)) {
|
if (Objects.equals("NEW", deviceSubscriptionStatus)) {
|
||||||
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
||||||
@ -101,20 +105,25 @@ public class UserBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
List<Integer> deviceIdsOfSubscription = deviceSubscriptionDTOS.stream().
|
List<Integer> deviceIdsOfSubscription = deviceSubscriptionDTOS.stream().
|
||||||
map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
map(DeviceSubscriptionDTO::getDeviceId).collect(Collectors.toList());
|
||||||
|
|
||||||
List<Integer> newDeviceIds = HelperUtil.getDeviceManagementProviderService().
|
List<Integer> newDeviceIds = deviceManagementProviderService.getDevicesNotInGivenIdList(deviceIdsOfSubscription,
|
||||||
getDevicesNotInGivenIdList(deviceIdsOfSubscription, new PaginationRequest(offset, limit));
|
new PaginationRequest(offset, limit));
|
||||||
deviceSubscriptionDTOS = newDeviceIds.stream().map(DeviceSubscriptionDTO::new).collect(Collectors.toList());
|
deviceSubscriptionDTOS = newDeviceIds.stream().map(DeviceSubscriptionDTO::new).collect(Collectors.toList());
|
||||||
|
|
||||||
|
deviceCount = deviceManagementProviderService.getDeviceCountNotInGivenIdList(deviceIdsOfSubscription);
|
||||||
} else {
|
} else {
|
||||||
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
deviceSubscriptionDTOS = subscriptionDAO.getSubscriptionDetailsByDeviceIds(applicationReleaseDTO.getId(),
|
||||||
isUnsubscribe, tenantId, deviceIdsOwnByUser, null,
|
isUnsubscribe, tenantId, deviceIdsOwnByUser, subscriptionInfo.getDeviceSubscriptionStatus(),
|
||||||
subscriptionInfo.getSubscriptionType(), deviceSubscriptionFilterCriteria.getTriggeredBy(),
|
subscriptionInfo.getSubscriptionType(), deviceSubscriptionFilterCriteria.getTriggeredBy(),
|
||||||
null, limit, offset);
|
null, limit, offset);
|
||||||
|
|
||||||
|
deviceCount = subscriptionDAO.getDeviceSubscriptionCount(applicationReleaseDTO.getId(), isUnsubscribe, tenantId,
|
||||||
|
subscriptionInfo.getDeviceSubscriptionStatus(), subscriptionInfo.getSubscriptionType(),
|
||||||
|
deviceSubscriptionFilterCriteria.getTriggeredBy());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<DeviceSubscription> deviceSubscriptions = SubscriptionManagementHelperUtil.getDeviceSubscriptionData(deviceSubscriptionDTOS,
|
||||||
return SubscriptionManagementHelperUtil.getDeviceSubscriptionData(deviceSubscriptionDTOS,
|
subscriptionInfo.getDeviceSubscriptionFilterCriteria(), isUnsubscribe);
|
||||||
subscriptionInfo.getDeviceSubscriptionFilterCriteria());
|
return new SubscriptionResponse(subscriptionInfo.getApplicationUUID(), deviceCount, deviceSubscriptions);
|
||||||
|
|
||||||
} catch (DeviceManagementException e) {
|
} catch (DeviceManagementException e) {
|
||||||
String msg = "Error encountered while getting device details";
|
String msg = "Error encountered while getting device details";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
@ -129,7 +138,7 @@ public class UserBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SubscriptionEntity> getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
public SubscriptionResponse getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException {
|
throws ApplicationManagementException {
|
||||||
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
final boolean isUnsubscribe = Objects.equals("unsubscribe", subscriptionInfo.getSubscriptionStatus());
|
||||||
final int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
final int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
@ -143,8 +152,9 @@ public class UserBasedSubscriptionManagementHelperServiceImpl implements Subscri
|
|||||||
log.error(msg);
|
log.error(msg);
|
||||||
throw new NotFoundException(msg);
|
throw new NotFoundException(msg);
|
||||||
}
|
}
|
||||||
return subscriptionDAO.
|
List<SubscriptionEntity> subscriptionEntities = subscriptionDAO.
|
||||||
getUserSubscriptionsByAppReleaseID(applicationReleaseDTO.getId(), isUnsubscribe, tenantId, offset, limit);
|
getUserSubscriptionsByAppReleaseID(applicationReleaseDTO.getId(), isUnsubscribe, tenantId, offset, limit);
|
||||||
|
return new SubscriptionResponse(subscriptionInfo.getApplicationUUID(), subscriptionEntities);
|
||||||
} catch (DBConnectionException | ApplicationManagementDAOException e) {
|
} catch (DBConnectionException | ApplicationManagementDAOException e) {
|
||||||
String msg = "Error encountered while connecting to the database";
|
String msg = "Error encountered while connecting to the database";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
|
|||||||
@ -23,6 +23,7 @@ import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscription;
|
|||||||
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionData;
|
import io.entgra.device.mgt.core.application.mgt.common.DeviceSubscriptionData;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionEntity;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionInfo;
|
||||||
|
import io.entgra.device.mgt.core.application.mgt.common.SubscriptionResponse;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.DeviceSubscriptionDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.dto.SubscriptionsDTO;
|
import io.entgra.device.mgt.core.application.mgt.common.dto.SubscriptionsDTO;
|
||||||
import io.entgra.device.mgt.core.application.mgt.common.exception.ApplicationManagementException;
|
import io.entgra.device.mgt.core.application.mgt.common.exception.ApplicationManagementException;
|
||||||
@ -37,9 +38,9 @@ public interface SubscriptionManagementHelperService {
|
|||||||
SubscriptionDAO subscriptionDAO = ApplicationManagementDAOFactory.getSubscriptionDAO();
|
SubscriptionDAO subscriptionDAO = ApplicationManagementDAOFactory.getSubscriptionDAO();
|
||||||
ApplicationDAO applicationDAO = ApplicationManagementDAOFactory.getApplicationDAO();
|
ApplicationDAO applicationDAO = ApplicationManagementDAOFactory.getApplicationDAO();
|
||||||
ApplicationReleaseDAO applicationReleaseDAO = ApplicationManagementDAOFactory.getApplicationReleaseDAO();
|
ApplicationReleaseDAO applicationReleaseDAO = ApplicationManagementDAOFactory.getApplicationReleaseDAO();
|
||||||
List<DeviceSubscription> getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
SubscriptionResponse getStatusBaseSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException;
|
throws ApplicationManagementException;
|
||||||
List<SubscriptionEntity> getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
SubscriptionResponse getSubscriptions(SubscriptionInfo subscriptionInfo, int limit, int offset)
|
||||||
throws ApplicationManagementException;
|
throws ApplicationManagementException;
|
||||||
void getSubscriptionStatistics() throws ApplicationManagementException;
|
void getSubscriptionStatistics() throws ApplicationManagementException;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -868,6 +868,9 @@ public interface DeviceDAO {
|
|||||||
List<Integer> getDevicesNotInGivenIdList(PaginationRequest request, List<Integer> deviceIds, int tenantId)
|
List<Integer> getDevicesNotInGivenIdList(PaginationRequest request, List<Integer> deviceIds, int tenantId)
|
||||||
throws DeviceManagementDAOException;
|
throws DeviceManagementDAOException;
|
||||||
|
|
||||||
|
int getDeviceCountNotInGivenIdList(List<Integer> deviceIds, int tenantId)
|
||||||
|
throws DeviceManagementDAOException;
|
||||||
|
|
||||||
List<Device> getDevicesByDeviceIds(PaginationRequest paginationRequest, List<Integer> deviceIds, int tenantId)
|
List<Device> getDevicesByDeviceIds(PaginationRequest paginationRequest, List<Integer> deviceIds, int tenantId)
|
||||||
throws DeviceManagementDAOException;
|
throws DeviceManagementDAOException;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3308,10 +3308,11 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
try {
|
try {
|
||||||
Connection connection = getConnection();
|
Connection connection = getConnection();
|
||||||
String sql = "SELECT ID AS DEVICE_ID FROM DM_DEVICE WHERE ID NOT IN " +
|
String sql = "SELECT ID AS DEVICE_ID FROM DM_DEVICE WHERE ID NOT IN " +
|
||||||
"(" + deviceIdStringList + ") LIMIT ? OFFSET ?";
|
"(" + deviceIdStringList + ") AND TENANT_ID = ? LIMIT ? OFFSET ?";
|
||||||
try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
|
try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
|
||||||
preparedStatement.setInt(1, request.getRowCount());
|
preparedStatement.setInt(1, tenantId);
|
||||||
preparedStatement.setInt(2, request.getStartIndex());
|
preparedStatement.setInt(2, request.getRowCount());
|
||||||
|
preparedStatement.setInt(3, request.getStartIndex());
|
||||||
try (ResultSet resultSet = preparedStatement.executeQuery()) {
|
try (ResultSet resultSet = preparedStatement.executeQuery()) {
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
filteredDeviceIds.add(resultSet.getInt("DEVICE_ID"));
|
filteredDeviceIds.add(resultSet.getInt("DEVICE_ID"));
|
||||||
@ -3326,6 +3327,31 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getDeviceCountNotInGivenIdList(List<Integer> deviceIds, int tenantId)
|
||||||
|
throws DeviceManagementDAOException {
|
||||||
|
int deviceCount = 0;
|
||||||
|
String deviceIdStringList = deviceIds.stream().map(String::valueOf).collect(Collectors.joining(","));
|
||||||
|
try {
|
||||||
|
Connection connection = getConnection();
|
||||||
|
String sql = "SELECT COUNT(ID) AS COUNT FROM DM_DEVICE WHERE ID NOT IN " +
|
||||||
|
"(" + deviceIdStringList + ") AND TENANT_ID = ?";
|
||||||
|
try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
|
||||||
|
preparedStatement.setInt(1, tenantId);
|
||||||
|
try (ResultSet resultSet = preparedStatement.executeQuery()) {
|
||||||
|
if (resultSet.next()) {
|
||||||
|
deviceCount = resultSet.getInt("COUNT");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return deviceCount;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while retrieving device count";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceManagementDAOException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Device> getDevicesByDeviceIds(PaginationRequest paginationRequest, List<Integer> deviceIds, int tenantId)
|
public List<Device> getDevicesByDeviceIds(PaginationRequest paginationRequest, List<Integer> deviceIds, int tenantId)
|
||||||
throws DeviceManagementDAOException {
|
throws DeviceManagementDAOException {
|
||||||
@ -3352,7 +3378,7 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (paginationRequest.getDeviceName() != null) {
|
if (paginationRequest.getDeviceName() != null) {
|
||||||
sql = sql + " AND d.DEVICE_NAME = ?";
|
sql = sql + " AND d.NAME = ?";
|
||||||
isDeviceNameProvided = true;
|
isDeviceNameProvided = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1155,6 +1155,7 @@ public interface DeviceManagementProviderService {
|
|||||||
|
|
||||||
List<Integer> getDevicesNotInGivenIdList(List<Integer> deviceIds, PaginationRequest paginationRequest)
|
List<Integer> getDevicesNotInGivenIdList(List<Integer> deviceIds, PaginationRequest paginationRequest)
|
||||||
throws DeviceManagementException;
|
throws DeviceManagementException;
|
||||||
|
int getDeviceCountNotInGivenIdList(List<Integer> deviceIds) throws DeviceManagementException;
|
||||||
|
|
||||||
List<Device> getDevicesByDeviceIds(PaginationRequest paginationRequest, List<Integer> deviceIds)
|
List<Device> getDevicesByDeviceIds(PaginationRequest paginationRequest, List<Integer> deviceIds)
|
||||||
throws DeviceManagementException;
|
throws DeviceManagementException;
|
||||||
|
|||||||
@ -5620,6 +5620,27 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getDeviceCountNotInGivenIdList(List<Integer> deviceIds)
|
||||||
|
throws DeviceManagementException {
|
||||||
|
|
||||||
|
int tenantId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantId();
|
||||||
|
try {
|
||||||
|
DeviceManagementDAOFactory.openConnection();
|
||||||
|
return deviceDAO.getDeviceCountNotInGivenIdList(deviceIds, tenantId);
|
||||||
|
} catch (DeviceManagementDAOException e) {
|
||||||
|
String msg = "Error encountered while getting device ids";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceManagementException(msg, e);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error encountered while getting the database connection";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceManagementException(msg, e);
|
||||||
|
} finally {
|
||||||
|
DeviceManagementDAOFactory.closeConnection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Device> getDevicesByDeviceIds(PaginationRequest paginationRequest, List<Integer> deviceIds)
|
public List<Device> getDevicesByDeviceIds(PaginationRequest paginationRequest, List<Integer> deviceIds)
|
||||||
throws DeviceManagementException {
|
throws DeviceManagementException {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user