mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Add group devices view to devicemgt react app
This commit is contained in:
parent
38c0e0b544
commit
b90b98b7cb
137
components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Groups/GroupDevicesModal.js
vendored
Normal file
137
components/device-mgt/io.entgra.device.mgt.ui/react-app/src/components/Groups/GroupDevicesModal.js
vendored
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020, Entgra (pvt) Ltd. (http://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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
import { Button, Modal } from 'antd';
|
||||||
|
import TimeAgo from 'javascript-time-ago';
|
||||||
|
// Load locale-specific relative date/time formatting rules.
|
||||||
|
import en from 'javascript-time-ago/locale/en';
|
||||||
|
import { withConfigContext } from '../../context/ConfigContext';
|
||||||
|
|
||||||
|
import ReportDevicesTable from '../Reports/Widgets/ReportDevicesTable';
|
||||||
|
|
||||||
|
let apiUrl;
|
||||||
|
|
||||||
|
class GroupDevicesModal extends React.Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
TimeAgo.addLocale(en);
|
||||||
|
this.state = {
|
||||||
|
data: [],
|
||||||
|
pagination: {},
|
||||||
|
loading: false,
|
||||||
|
selectedRows: [],
|
||||||
|
visible: false,
|
||||||
|
apiUrl: null,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
openDrawer = () => {
|
||||||
|
this.setState({ visible: true });
|
||||||
|
const groupData = {
|
||||||
|
groupId: this.props.groupData.id,
|
||||||
|
groupName: this.props.groupData.name,
|
||||||
|
};
|
||||||
|
this.fetchGroupDevices(groupData);
|
||||||
|
};
|
||||||
|
|
||||||
|
handleModalCancel = () => {
|
||||||
|
this.setState({
|
||||||
|
visible: false,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// fetch data from api
|
||||||
|
fetchGroupDevices = (params = {}, filters = {}) => {
|
||||||
|
const config = this.props.context;
|
||||||
|
|
||||||
|
// get current page
|
||||||
|
const currentPage = params.hasOwnProperty('page') ? params.page : 1;
|
||||||
|
|
||||||
|
const extraParams = {
|
||||||
|
offset: 10 * (currentPage - 1), // calculate the offset
|
||||||
|
limit: 10,
|
||||||
|
...params,
|
||||||
|
};
|
||||||
|
|
||||||
|
const encodedExtraParams = Object.keys(extraParams)
|
||||||
|
.map(key => key + '=' + extraParams[key])
|
||||||
|
.join('&');
|
||||||
|
|
||||||
|
apiUrl =
|
||||||
|
window.location.origin +
|
||||||
|
config.serverConfig.invoker.uri +
|
||||||
|
config.serverConfig.invoker.deviceMgt +
|
||||||
|
'/devices?' +
|
||||||
|
encodedExtraParams;
|
||||||
|
|
||||||
|
this.setState({ apiUrl: apiUrl });
|
||||||
|
};
|
||||||
|
|
||||||
|
handleTableChange = (pagination, filters, sorter) => {
|
||||||
|
const pager = { ...this.state.pagination };
|
||||||
|
pager.current = pagination.current;
|
||||||
|
this.setState({
|
||||||
|
pagination: pager,
|
||||||
|
});
|
||||||
|
this.fetchGroupDevices({
|
||||||
|
results: pagination.pageSize,
|
||||||
|
page: pagination.current,
|
||||||
|
sortField: sorter.field,
|
||||||
|
sortOrder: sorter.order,
|
||||||
|
...filters,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { apiUrl, visible } = this.state;
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
size={'small'}
|
||||||
|
icon="desktop"
|
||||||
|
onClick={this.openDrawer}
|
||||||
|
>
|
||||||
|
Devices
|
||||||
|
</Button>
|
||||||
|
<Modal
|
||||||
|
title="DEVICES"
|
||||||
|
width="80%"
|
||||||
|
visible={visible}
|
||||||
|
onCancel={this.handleModalCancel}
|
||||||
|
footer={[
|
||||||
|
<Button key="cancel" onClick={this.handleModalCancel}>
|
||||||
|
Cancel
|
||||||
|
</Button>,
|
||||||
|
<Button key="ok" type="primary" onClick={this.handleModalCancel}>
|
||||||
|
OK
|
||||||
|
</Button>,
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<div style={{ alignItems: 'center' }}>
|
||||||
|
<ReportDevicesTable apiUrl={apiUrl} />
|
||||||
|
</div>
|
||||||
|
</Modal>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default withConfigContext(GroupDevicesModal);
|
||||||
@ -26,6 +26,7 @@ import { withConfigContext } from '../../context/ConfigContext';
|
|||||||
import GroupActions from './GroupActions';
|
import GroupActions from './GroupActions';
|
||||||
import AddGroup from './AddGroup';
|
import AddGroup from './AddGroup';
|
||||||
import Filter from '../Utils/Filter/Filter';
|
import Filter from '../Utils/Filter/Filter';
|
||||||
|
import GroupDevicesModal from './GroupDevicesModal';
|
||||||
|
|
||||||
const searchFields = [
|
const searchFields = [
|
||||||
{
|
{
|
||||||
@ -82,6 +83,12 @@ class GroupsTable extends React.Component {
|
|||||||
</span>
|
</span>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: 'Devices',
|
||||||
|
dataIndex: 'id',
|
||||||
|
key: 'details',
|
||||||
|
render: (id, row) => <GroupDevicesModal groupData={row} />,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
rowSelection = {
|
rowSelection = {
|
||||||
|
|||||||
@ -32,8 +32,6 @@ import DeviceStatusReport from './components/Reports/Templates/DeviceStatusRepor
|
|||||||
import PolicyReportHome from './pages/Dashboard/Reports/PolicyReportHome';
|
import PolicyReportHome from './pages/Dashboard/Reports/PolicyReportHome';
|
||||||
import ReportDurationItemList from './pages/Dashboard/Reports/ReportDurationItemList';
|
import ReportDurationItemList from './pages/Dashboard/Reports/ReportDurationItemList';
|
||||||
import AppNotInstalledDevicesReport from './components/Reports/Templates/AppNotInstalledDevicesReport';
|
import AppNotInstalledDevicesReport from './components/Reports/Templates/AppNotInstalledDevicesReport';
|
||||||
import Devices from './pages/Dashboard/Devices/Devices';
|
|
||||||
import DeviceEnroll from './pages/Dashboard/Devices/DeviceEnroll';
|
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
{
|
{
|
||||||
@ -46,16 +44,16 @@ const routes = [
|
|||||||
exact: false,
|
exact: false,
|
||||||
component: Dashboard,
|
component: Dashboard,
|
||||||
routes: [
|
routes: [
|
||||||
{
|
// {
|
||||||
path: '/entgra/devices',
|
// path: '/entgra/devices',
|
||||||
component: Devices,
|
// component: Devices,
|
||||||
exact: true,
|
// exact: true,
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
path: '/entgra/devices/enroll',
|
// path: '/entgra/devices/enroll',
|
||||||
component: DeviceEnroll,
|
// component: DeviceEnroll,
|
||||||
exact: true,
|
// exact: true,
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
path: '/entgra/geo',
|
path: '/entgra/geo',
|
||||||
component: Geo,
|
component: Geo,
|
||||||
|
|||||||
@ -72,26 +72,26 @@ class Dashboard extends React.Component {
|
|||||||
marginRight: 110,
|
marginRight: 110,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<SubMenu
|
{/* <SubMenu*/}
|
||||||
key="devices"
|
{/* key="devices"*/}
|
||||||
title={
|
{/* title={*/}
|
||||||
<span>
|
{/* <span>*/}
|
||||||
<Icon type="appstore" />
|
{/* <Icon type="appstore" />*/}
|
||||||
<span>Devices</span>
|
{/* <span>Devices</span>*/}
|
||||||
</span>
|
{/* </span>*/}
|
||||||
}
|
{/* }*/}
|
||||||
>
|
{/* >*/}
|
||||||
<Menu.Item key="devices">
|
{/* <Menu.Item key="devices">*/}
|
||||||
<Link to="/entgra/devices">
|
{/* <Link to="/entgra/devices">*/}
|
||||||
<span>View</span>
|
{/* <span>View</span>*/}
|
||||||
</Link>
|
{/* </Link>*/}
|
||||||
</Menu.Item>
|
{/* </Menu.Item>*/}
|
||||||
<Menu.Item key="deviceEnroll">
|
{/* <Menu.Item key="deviceEnroll">*/}
|
||||||
<Link to="/entgra/devices/enroll">
|
{/* <Link to="/entgra/devices/enroll">*/}
|
||||||
<span>Enroll</span>
|
{/* <span>Enroll</span>*/}
|
||||||
</Link>
|
{/* </Link>*/}
|
||||||
</Menu.Item>
|
{/* </Menu.Item>*/}
|
||||||
</SubMenu>
|
{/* </SubMenu>*/}
|
||||||
<SubMenu
|
<SubMenu
|
||||||
key="geo"
|
key="geo"
|
||||||
title={
|
title={
|
||||||
|
|||||||
@ -304,6 +304,16 @@ public interface DeviceDAO {
|
|||||||
*/
|
*/
|
||||||
List<Device> searchDevicesInGroup(PaginationRequest request, int tenantId) throws DeviceManagementDAOException;
|
List<Device> searchDevicesInGroup(PaginationRequest request, int tenantId) throws DeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is used to get device count within a specific group.
|
||||||
|
*
|
||||||
|
* @param request PaginationRequest object holding the data for pagination
|
||||||
|
* @param tenantId tenant id
|
||||||
|
* @return Device count
|
||||||
|
* @throws DeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
int getCountOfDevicesInGroup(PaginationRequest request, int tenantId) throws DeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is used to retrieve all the devices of a given tenant and device type.
|
* This method is used to retrieve all the devices of a given tenant and device type.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -43,10 +43,10 @@ import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
|||||||
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||||
import org.wso2.carbon.device.mgt.common.EnrolmentInfo.Status;
|
import org.wso2.carbon.device.mgt.common.EnrolmentInfo.Status;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo;
|
|
||||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceLocationHistory;
|
|
||||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.DevicePropertyInfo;
|
import org.wso2.carbon.device.mgt.common.configuration.mgt.DevicePropertyInfo;
|
||||||
import org.wso2.carbon.device.mgt.common.device.details.DeviceData;
|
import org.wso2.carbon.device.mgt.common.device.details.DeviceData;
|
||||||
|
import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo;
|
||||||
|
import org.wso2.carbon.device.mgt.common.device.details.DeviceLocationHistory;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceDAO;
|
import org.wso2.carbon.device.mgt.core.dao.DeviceDAO;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||||
@ -842,6 +842,129 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
return devices;
|
return devices;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getCountOfDevicesInGroup(PaginationRequest request, int tenantId)
|
||||||
|
throws DeviceManagementDAOException {
|
||||||
|
int deviceCount = 0;
|
||||||
|
int groupId = request.getGroupId();
|
||||||
|
String deviceType = request.getDeviceType();
|
||||||
|
boolean isDeviceTypeProvided = false;
|
||||||
|
String deviceName = request.getDeviceName();
|
||||||
|
boolean isDeviceNameProvided = false;
|
||||||
|
String owner = request.getOwner();
|
||||||
|
boolean isOwnerProvided = false;
|
||||||
|
String ownerPattern = request.getOwnerPattern();
|
||||||
|
boolean isOwnerPatternProvided = false;
|
||||||
|
String ownership = request.getOwnership();
|
||||||
|
boolean isOwnershipProvided = false;
|
||||||
|
List<String> statusList = request.getStatusList();
|
||||||
|
boolean isStatusProvided = false;
|
||||||
|
Date since = request.getSince();
|
||||||
|
boolean isSinceProvided = false;
|
||||||
|
|
||||||
|
try {
|
||||||
|
Connection conn = getConnection();
|
||||||
|
String sql = "SELECT COUNT(d1.DEVICE_ID) AS DEVICE_COUNT " +
|
||||||
|
"FROM DM_ENROLMENT e, " +
|
||||||
|
"(SELECT gd.DEVICE_ID, " +
|
||||||
|
"gd.DESCRIPTION, " +
|
||||||
|
"gd.NAME, " +
|
||||||
|
"gd.DEVICE_IDENTIFICATION, " +
|
||||||
|
"t.NAME AS DEVICE_TYPE " +
|
||||||
|
"FROM " +
|
||||||
|
"(SELECT d.ID AS DEVICE_ID, " +
|
||||||
|
"d.DESCRIPTION, " +
|
||||||
|
"d.NAME, " +
|
||||||
|
"d.DEVICE_IDENTIFICATION, " +
|
||||||
|
"d.DEVICE_TYPE_ID " +
|
||||||
|
"FROM DM_DEVICE d, " +
|
||||||
|
"(SELECT dgm.DEVICE_ID " +
|
||||||
|
"FROM DM_DEVICE_GROUP_MAP dgm " +
|
||||||
|
"WHERE dgm.GROUP_ID = ?) dgm1 " +
|
||||||
|
"WHERE d.ID = dgm1.DEVICE_ID " +
|
||||||
|
"AND d.TENANT_ID = ?";
|
||||||
|
//Add the query for device-name
|
||||||
|
if (deviceName != null && !deviceName.isEmpty()) {
|
||||||
|
sql = sql + " AND d.NAME LIKE ?";
|
||||||
|
isDeviceNameProvided = true;
|
||||||
|
}
|
||||||
|
sql = sql + ") gd, DM_DEVICE_TYPE t";
|
||||||
|
if (since != null) {
|
||||||
|
sql = sql + ", DM_DEVICE_DETAIL dt";
|
||||||
|
isSinceProvided = true;
|
||||||
|
}
|
||||||
|
sql = sql + " WHERE gd.DEVICE_TYPE_ID = t.ID";
|
||||||
|
//Add query for last updated timestamp
|
||||||
|
if (isSinceProvided) {
|
||||||
|
sql = sql + " AND dt.DEVICE_ID = gd.DEVICE_ID AND dt.UPDATE_TIMESTAMP > ?";
|
||||||
|
}
|
||||||
|
//Add the query for device-type
|
||||||
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
|
sql = sql + " AND t.NAME = ?";
|
||||||
|
isDeviceTypeProvided = true;
|
||||||
|
}
|
||||||
|
sql = sql + " ) d1 WHERE d1.DEVICE_ID = e.DEVICE_ID AND TENANT_ID = ? ";
|
||||||
|
//Add the query for ownership
|
||||||
|
if (ownership != null && !ownership.isEmpty()) {
|
||||||
|
sql = sql + " AND e.OWNERSHIP = ?";
|
||||||
|
isOwnershipProvided = true;
|
||||||
|
}
|
||||||
|
//Add the query for owner
|
||||||
|
if (owner != null && !owner.isEmpty()) {
|
||||||
|
sql = sql + " AND e.OWNER = ?";
|
||||||
|
isOwnerProvided = true;
|
||||||
|
} else if (ownerPattern != null && !ownerPattern.isEmpty()) {
|
||||||
|
sql = sql + " AND e.OWNER LIKE ?";
|
||||||
|
isOwnerPatternProvided = true;
|
||||||
|
}
|
||||||
|
if (statusList != null && !statusList.isEmpty()) {
|
||||||
|
sql += buildStatusQuery(statusList);
|
||||||
|
isStatusProvided = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
|
||||||
|
int paramIdx = 1;
|
||||||
|
stmt.setInt(paramIdx++, groupId);
|
||||||
|
stmt.setInt(paramIdx++, tenantId);
|
||||||
|
if (isDeviceNameProvided) {
|
||||||
|
stmt.setString(paramIdx++, deviceName + "%");
|
||||||
|
}
|
||||||
|
if (isSinceProvided) {
|
||||||
|
stmt.setLong(paramIdx++, since.getTime());
|
||||||
|
}
|
||||||
|
if (isDeviceTypeProvided) {
|
||||||
|
stmt.setString(paramIdx++, deviceType);
|
||||||
|
}
|
||||||
|
stmt.setInt(paramIdx++, tenantId);
|
||||||
|
if (isOwnershipProvided) {
|
||||||
|
stmt.setString(paramIdx++, ownership);
|
||||||
|
}
|
||||||
|
if (isOwnerProvided) {
|
||||||
|
stmt.setString(paramIdx++, owner);
|
||||||
|
} else if (isOwnerPatternProvided) {
|
||||||
|
stmt.setString(paramIdx++, ownerPattern + "%");
|
||||||
|
}
|
||||||
|
if (isStatusProvided) {
|
||||||
|
for (String status : statusList) {
|
||||||
|
stmt.setString(paramIdx++, status);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try (ResultSet rs = stmt.executeQuery()) {
|
||||||
|
if (rs.next()) {
|
||||||
|
deviceCount = rs.getInt("DEVICE_COUNT");
|
||||||
|
}
|
||||||
|
return deviceCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while retrieving count of" +
|
||||||
|
" devices belonging to group : " + groupId;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceManagementDAOException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Connection getConnection() throws SQLException {
|
private Connection getConnection() throws SQLException {
|
||||||
return DeviceManagementDAOFactory.getConnection();
|
return DeviceManagementDAOFactory.getConnection();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,15 +23,12 @@ import org.apache.commons.logging.Log;
|
|||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.device.mgt.common.Count;
|
import org.wso2.carbon.device.mgt.common.Count;
|
||||||
import org.wso2.carbon.device.mgt.common.Device;
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
|
||||||
import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException;
|
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.exceptions.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.DeviceTypeNotFoundException;
|
import org.wso2.carbon.device.mgt.common.exceptions.DeviceTypeNotFoundException;
|
||||||
import org.wso2.carbon.device.mgt.common.exceptions.ReportManagementException;
|
import org.wso2.carbon.device.mgt.common.exceptions.ReportManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.report.mgt.ReportManagementService;
|
import org.wso2.carbon.device.mgt.common.report.mgt.ReportManagementService;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.ApplicationDAO;
|
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceDAO;
|
import org.wso2.carbon.device.mgt.core.dao.DeviceDAO;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||||
@ -56,11 +53,9 @@ public class ReportManagementServiceImpl implements ReportManagementService {
|
|||||||
private static final Log log = LogFactory.getLog(ReportManagementServiceImpl.class);
|
private static final Log log = LogFactory.getLog(ReportManagementServiceImpl.class);
|
||||||
|
|
||||||
private DeviceDAO deviceDAO;
|
private DeviceDAO deviceDAO;
|
||||||
private ApplicationDAO applicationDAO;
|
|
||||||
|
|
||||||
public ReportManagementServiceImpl() {
|
public ReportManagementServiceImpl() {
|
||||||
this.deviceDAO = DeviceManagementDAOFactory.getDeviceDAO();
|
this.deviceDAO = DeviceManagementDAOFactory.getDeviceDAO();
|
||||||
this.applicationDAO = DeviceManagementDAOFactory.getApplicationDAO();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -897,10 +897,11 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
DeviceManagementDAOFactory.openConnection();
|
DeviceManagementDAOFactory.openConnection();
|
||||||
if(request.getGroupId()!=0){
|
if(request.getGroupId()!=0){
|
||||||
allDevices = deviceDAO.searchDevicesInGroup(request, tenantId);
|
allDevices = deviceDAO.searchDevicesInGroup(request, tenantId);
|
||||||
|
count = deviceDAO.getCountOfDevicesInGroup(request, tenantId);
|
||||||
} else{
|
} else{
|
||||||
allDevices = deviceDAO.getDevices(request, tenantId);
|
allDevices = deviceDAO.getDevices(request, tenantId);
|
||||||
|
count = deviceDAO.getDeviceCount(request, tenantId);
|
||||||
}
|
}
|
||||||
count = deviceDAO.getDeviceCount(request, tenantId);
|
|
||||||
} catch (DeviceManagementDAOException e) {
|
} catch (DeviceManagementDAOException e) {
|
||||||
String msg = "Error occurred while retrieving device list pertaining to the current tenant";
|
String msg = "Error occurred while retrieving device list pertaining to the current tenant";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user