From 9a7286a84bbb4e9425cea4e204a0e48a11b404d2 Mon Sep 17 00:00:00 2001 From: prabathabey Date: Wed, 22 Jun 2016 14:52:59 +0530 Subject: [PATCH] Removing DeviceWrapper and all its associated usage, as it appeared to be a redundant element in the precense of 'Device' --- .../service/api/DeviceManagementService.java | 4 +- .../impl/DeviceManagementServiceImpl.java | 18 ++- .../device/mgt/core/search/mgt/Processor.java | 8 +- .../core/search/mgt/ResultSetAggregator.java | 4 +- .../core/search/mgt/SearchManagerService.java | 6 +- .../mgt/core/search/mgt/dao/SearchDAO.java | 7 +- .../search/mgt/dao/impl/SearchDAOImpl.java | 49 +++----- .../core/search/mgt/impl/ProcessorImpl.java | 107 ++++++++---------- .../mgt/impl/ResultSetAggregatorImpl.java | 38 ++++--- .../mgt/impl/SearchManagerServiceImpl.java | 8 +- .../mgt/core/search/mgt/impl/Utils.java | 39 +++---- .../device/mgt/core/Search/SearchDevice.java | 48 ++++---- 12 files changed, 157 insertions(+), 179 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java index bd0933816a..7b5b61e2da 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/api/DeviceManagementService.java @@ -24,7 +24,6 @@ import org.wso2.carbon.apimgt.annotations.api.Permission; import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.Feature; import org.wso2.carbon.device.mgt.common.app.mgt.Application; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.search.SearchContext; import org.wso2.carbon.device.mgt.jaxrs.beans.DeviceList; @@ -298,8 +297,7 @@ public interface DeviceManagementService { code = 200, message = "OK. \n Device list searched for has successfully been retrieved. Location header " + "contains URL of newly enrolled device", - response = DeviceWrapper.class, - responseContainer = "List", + response = DeviceList.class, responseHeaders = { @ResponseHeader( name = "Content-Type", diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java index 9fcb5824a3..00b128e4b3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/DeviceManagementServiceImpl.java @@ -23,7 +23,6 @@ import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.common.*; 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.device.details.DeviceWrapper; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException; import org.wso2.carbon.device.mgt.common.search.SearchContext; @@ -77,6 +76,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { DeviceManagementProviderService dms = DeviceMgtAPIUtils.getDeviceManagementService(); PaginationRequest request = new PaginationRequest(offset, limit); PaginationResult result; + DeviceList devices = new DeviceList(); if (type != null) { request.setDeviceType(type); @@ -129,13 +129,10 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { result = dms.getAllDevices(request); int resultCount = result.getRecordsTotal(); if (resultCount == 0) { - throw new NotFoundException( - new ErrorResponse.ErrorResponseBuilder().setCode(404l).setMessage("No device is currently" + - " enrolled with the server").build()); + Response.status(Response.Status.OK).entity(devices).build(); } } - DeviceList devices = new DeviceList(); devices.setList((List) result.getData()); devices.setCount(result.getRecordsTotal()); return Response.status(Response.Status.OK).entity(devices).build(); @@ -210,7 +207,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { public Response searchDevices(@QueryParam("offset") int offset, @QueryParam("limit") int limit, SearchContext searchContext) { SearchManagerService searchManagerService; - List devices; + List devices; + DeviceList deviceList = new DeviceList(); try { searchManagerService = DeviceMgtAPIUtils.getSearchManagerService(); devices = searchManagerService.search(searchContext); @@ -221,11 +219,11 @@ public class DeviceManagementServiceImpl implements DeviceManagementService { new ErrorResponse.ErrorResponseBuilder().setCode(500l).setMessage(msg).build()); } if (devices == null || devices.size() == 0) { - throw new NotFoundException( - new ErrorResponse.ErrorResponseBuilder().setCode(404l).setMessage("It is likely that no device is found upon " + - "the provided search filters").build()); + Response.status(Response.Status.OK).entity(deviceList); } - return Response.status(Response.Status.OK).entity(devices).build(); + + deviceList.setList(devices); + return Response.status(Response.Status.OK).entity(deviceList).build(); } @GET diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/Processor.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/Processor.java index 4c7058be02..30644c27b0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/Processor.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/Processor.java @@ -19,15 +19,15 @@ package org.wso2.carbon.device.mgt.core.search.mgt; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; -import org.wso2.carbon.device.mgt.common.search.Condition; +import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.search.SearchContext; import java.util.List; public interface Processor { - List execute(SearchContext searchContext) throws SearchMgtException; + List execute(SearchContext searchContext) throws SearchMgtException; + + List getUpdatedDevices(long epochTime) throws SearchMgtException; - List getUpdatedDevices(long epochTime) throws SearchMgtException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/ResultSetAggregator.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/ResultSetAggregator.java index 9a5b9ab3f7..3741b46679 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/ResultSetAggregator.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/ResultSetAggregator.java @@ -19,13 +19,13 @@ package org.wso2.carbon.device.mgt.core.search.mgt; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; +import org.wso2.carbon.device.mgt.common.Device; import java.util.List; import java.util.Map; public interface ResultSetAggregator { - List aggregate(Map> deviceWrappers); + List aggregate(Map> devices); } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/SearchManagerService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/SearchManagerService.java index 554ecfc0f9..ff86e47545 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/SearchManagerService.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/SearchManagerService.java @@ -19,15 +19,15 @@ package org.wso2.carbon.device.mgt.core.search.mgt; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; +import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.search.SearchContext; import java.util.List; public interface SearchManagerService { - List search(SearchContext searchContext) throws SearchMgtException; + List search(SearchContext searchContext) throws SearchMgtException; - List getUpdated(long epochTime) throws SearchMgtException; + List getUpdated(long epochTime) throws SearchMgtException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/SearchDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/SearchDAO.java index 04379dae6d..bd17d7c26e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/SearchDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/SearchDAO.java @@ -19,13 +19,14 @@ package org.wso2.carbon.device.mgt.core.search.mgt.dao; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; +import org.wso2.carbon.device.mgt.common.Device; import java.util.List; public interface SearchDAO { - List searchDeviceDetailsTable(String query) throws SearchDAOException; + List searchDeviceDetailsTable(String query) throws SearchDAOException; + + List searchDevicePropertyTable(String query) throws SearchDAOException; - List searchDevicePropertyTable(String query) throws SearchDAOException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/impl/SearchDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/impl/SearchDAOImpl.java index 89725a135d..fc162c59b9 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/impl/SearchDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/dao/impl/SearchDAOImpl.java @@ -25,7 +25,6 @@ import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo; import org.wso2.carbon.device.mgt.common.device.details.DeviceLocation; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory; import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil; import org.wso2.carbon.device.mgt.core.search.mgt.dao.SearchDAO; @@ -38,22 +37,19 @@ import java.util.HashMap; import java.util.List; import java.util.Map; - public class SearchDAOImpl implements SearchDAO { private static final Log log = LogFactory.getLog(SearchDAOImpl.class); @Override - public List searchDeviceDetailsTable(String query) throws SearchDAOException { - + public List searchDeviceDetailsTable(String query) throws SearchDAOException { if (log.isDebugEnabled()) { log.debug("Query : " + query); } - Connection conn; PreparedStatement stmt = null; ResultSet rs; - List devices = new ArrayList<>(); + List devices = new ArrayList<>(); Map devs = new HashMap<>(); try { conn = this.getConnection(); @@ -101,15 +97,11 @@ public class SearchDAOImpl implements SearchDAO { deviceLocation.setDeviceId(rs.getInt("ID")); deviceLocation.setUpdatedTime(new java.util.Date(rs.getLong("DL_UPDATED_TIMESTAMP"))); - DeviceWrapper wrapper = new DeviceWrapper(); - wrapper.setDevice(device); - wrapper.setDeviceInfo(deviceInfo); - wrapper.setDeviceLocation(deviceLocation); - wrapper.setDeviceIdentifier(identifier); - devices.add(wrapper); + deviceInfo.setLocation(deviceLocation); + device.setDeviceInfo(deviceInfo); + devices.add(device); devs.put(device.getId(), device.getId()); } - } } catch (SQLException e) { throw new SearchDAOException("Error occurred while acquiring the device details.", e); @@ -126,8 +118,7 @@ public class SearchDAOImpl implements SearchDAO { } @Override - public List searchDevicePropertyTable(String query) throws SearchDAOException { - + public List searchDevicePropertyTable(String query) throws SearchDAOException { if (log.isDebugEnabled()) { log.debug("Query : " + query); } @@ -135,7 +126,7 @@ public class SearchDAOImpl implements SearchDAO { Connection conn; PreparedStatement stmt = null; ResultSet rs; - List devices = new ArrayList<>(); + List devices = new ArrayList<>(); Map devs = new HashMap<>(); try { conn = this.getConnection(); @@ -183,13 +174,9 @@ public class SearchDAOImpl implements SearchDAO { deviceLocation.setDeviceId(rs.getInt("ID")); deviceLocation.setUpdatedTime(new java.util.Date(rs.getLong("DL_UPDATED_TIMESTAMP"))); - DeviceWrapper wrapper = new DeviceWrapper(); - wrapper.setDevice(device); - wrapper.setDeviceInfo(deviceInfo); - wrapper.setDeviceLocation(deviceLocation); - wrapper.setDeviceIdentifier(identifier); - - devices.add(wrapper); + deviceInfo.setLocation(deviceLocation); + device.setDeviceInfo(deviceInfo); + devices.add(device); devs.put(device.getId(), device.getId()); } @@ -214,8 +201,7 @@ public class SearchDAOImpl implements SearchDAO { return DeviceManagementDAOFactory.getConnection(); } - private List fillPropertiesOfDevices(List devices) throws SearchDAOException { - + private List fillPropertiesOfDevices(List devices) throws SearchDAOException { if (devices.isEmpty()) { return null; } @@ -249,14 +235,13 @@ public class SearchDAOImpl implements SearchDAO { return devices; } - private DeviceInfo getDeviceInfo(List devices, int deviceId) { - - for (DeviceWrapper dw : devices) { - if (dw.getDevice().getId() == deviceId) { - if (dw.getDeviceInfo() == null) { - dw.setDeviceInfo(new DeviceInfo()); + private DeviceInfo getDeviceInfo(List devices, int deviceId) { + for (Device device : devices) { + if (device.getId() == deviceId) { + if (device.getDeviceInfo() == null) { + device.setDeviceInfo(new DeviceInfo()); } - return dw.getDeviceInfo(); + return device.getDeviceInfo(); } } return null; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ProcessorImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ProcessorImpl.java index 70f5b87feb..2673c3f263 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ProcessorImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ProcessorImpl.java @@ -19,10 +19,7 @@ package org.wso2.carbon.device.mgt.core.search.mgt.impl; -import org.wso2.carbon.context.CarbonContext; import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.app.mgt.ApplicationManagementException; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; import org.wso2.carbon.device.mgt.common.search.SearchContext; import org.wso2.carbon.device.mgt.core.dao.ApplicationDAO; import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException; @@ -48,13 +45,13 @@ public class ProcessorImpl implements Processor { } @Override - public List execute(SearchContext searchContext) throws SearchMgtException { + public List execute(SearchContext searchContext) throws SearchMgtException { QueryBuilder queryBuilder = new QueryBuilderImpl(); - List generalDevices = new ArrayList<>(); - List> allANDDevices = new ArrayList<>(); - List> allORDevices = new ArrayList<>(); - List locationDevices = new ArrayList<>(); + List generalDevices = new ArrayList<>(); + List> allANDDevices = new ArrayList<>(); + List> allORDevices = new ArrayList<>(); + List locationDevices = new ArrayList<>(); try { Map> queries = queryBuilder.buildQueries(searchContext.getConditions()); DeviceManagementDAOFactory.openConnection(); @@ -64,13 +61,13 @@ public class ProcessorImpl implements Processor { } if (queries.containsKey(Constants.PROP_AND)) { for (String query : queries.get(Constants.PROP_AND)) { - List andDevices = searchDAO.searchDevicePropertyTable(query); + List andDevices = searchDAO.searchDevicePropertyTable(query); allANDDevices.add(andDevices); } } if (queries.containsKey(Constants.PROP_OR)) { for (String query : queries.get(Constants.PROP_OR)) { - List orDevices = searchDAO.searchDevicePropertyTable(query); + List orDevices = searchDAO.searchDevicePropertyTable(query); allORDevices.add(orDevices); } } @@ -88,23 +85,22 @@ public class ProcessorImpl implements Processor { DeviceManagementDAOFactory.closeConnection(); } - ResultSetAggregator aggregator = new ResultSetAggregatorImpl(); - Map> deviceWrappers = new HashMap<>(); + Map> devices = new HashMap<>(); - deviceWrappers.put(Constants.GENERAL, generalDevices); - deviceWrappers.put(Constants.PROP_AND, this.processANDSearch(allANDDevices)); - deviceWrappers.put(Constants.PROP_OR, this.processORSearch(allORDevices)); - deviceWrappers.put(Constants.LOCATION, locationDevices); + devices.put(Constants.GENERAL, generalDevices); + devices.put(Constants.PROP_AND, this.processANDSearch(allANDDevices)); + devices.put(Constants.PROP_OR, this.processORSearch(allORDevices)); + devices.put(Constants.LOCATION, locationDevices); - List finalDeviceWrappers = aggregator.aggregate(deviceWrappers); - this.setApplicationListOfDevices(finalDeviceWrappers); - return finalDeviceWrappers; + List finalDevices = aggregator.aggregate(devices); + this.setApplicationListOfDevices(finalDevices); + return finalDevices; } @Override - public List getUpdatedDevices(long epochTime) throws SearchMgtException { + public List getUpdatedDevices(long epochTime) throws SearchMgtException { if((1 + (int)Math.floor(Math.log10(epochTime))) <=10 ) { epochTime = epochTime * 1000; @@ -126,15 +122,14 @@ public class ProcessorImpl implements Processor { } - private List processANDSearch(List> deLists) { - - List devices = new ArrayList<>(); - List smallestDeviceList = this.findListWithLowestItems(deLists); - List> maps = this.convertDeviceListToMap(deLists); + private List processANDSearch(List> deLists) { + List deviceList = new ArrayList<>(); + List smallestDeviceList = this.findListWithLowestItems(deLists); + List> maps = this.convertDeviceListToMap(deLists); boolean valueExist = false; - for (DeviceWrapper dw : smallestDeviceList) { - for (Map deviceWrapperMap : maps) { - if (deviceWrapperMap.containsKey(dw.getDevice().getId())) { + for (Device device : smallestDeviceList) { + for (Map devices : maps) { + if (devices.containsKey(device.getId())) { valueExist = true; } else { valueExist = false; @@ -142,63 +137,61 @@ public class ProcessorImpl implements Processor { } } if (valueExist) { - devices.add(dw); + deviceList.add(device); } } - return devices; + return deviceList; } - private List processORSearch(List> deLists) { - List devices = new ArrayList<>(); - Map map = new HashMap<>(); + private List processORSearch(List> deLists) { + List devices = new ArrayList<>(); + Map map = new HashMap<>(); - for (List list : deLists) { - for (DeviceWrapper dw : list) { - if (!map.containsKey(dw.getDevice().getId())) { - map.put(dw.getDevice().getId(), dw); - devices.add(dw); + for (List list : deLists) { + for (Device device : list) { + if (!map.containsKey(device.getId())) { + map.put(device.getId(), device); + devices.add(device); } } } return devices; } - private List findListWithLowestItems(List> deLists) { - + private List findListWithLowestItems(List> deLists) { int size = 0; - List deviceWrappers = new ArrayList<>(); - for (List list : deLists) { + List devices = new ArrayList<>(); + for (List list : deLists) { if (size == 0) { size = list.size(); - deviceWrappers = list; - continue; + devices = list; } else { if (list.size() < size) { - deviceWrappers = list; + devices = list; } } } - return deviceWrappers; + return devices; } - private List> convertDeviceListToMap(List> deLists) { - - List> maps = new ArrayList<>(); - for (List deviceWrapperList : deLists) { - Map deviceWrapperMap = new HashMap<>(); + private List> convertDeviceListToMap(List> deLists) { + List> maps = new ArrayList<>(); + for (List devices : deLists) { + Map deviceMap = new HashMap<>(); - for (DeviceWrapper dw : deviceWrapperList) { - deviceWrapperMap.put(dw.getDevice().getId(), dw); + for (Device device: devices) { + deviceMap.put(device.getId(), device); } - maps.add(deviceWrapperMap); + maps.add(deviceMap); } return maps; } - private void setApplicationListOfDevices(List deviceWrappers) throws SearchMgtException { + + private void setApplicationListOfDevices(List devices) throws SearchMgtException { try { DeviceManagementDAOFactory.openConnection(); - for (DeviceWrapper wrapper : deviceWrappers) { - wrapper.setApplications(applicationDAO.getInstalledApplications(wrapper.getDevice().getId())); + for (Device device : devices) { + device.setApplications(applicationDAO.getInstalledApplications(device.getId())); } } catch (DeviceManagementDAOException e) { throw new SearchMgtException("Error occurred while fetching the Application List of devices ", e); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ResultSetAggregatorImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ResultSetAggregatorImpl.java index dc33400b6e..acc565a9af 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ResultSetAggregatorImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/ResultSetAggregatorImpl.java @@ -19,23 +19,26 @@ package org.wso2.carbon.device.mgt.core.search.mgt.impl; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; +import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.core.search.mgt.Constants; import org.wso2.carbon.device.mgt.core.search.mgt.ResultSetAggregator; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class ResultSetAggregatorImpl implements ResultSetAggregator { @Override - public List aggregate(Map> deviceWrappers) { + public List aggregate(Map> devices) { - Map generalQueryMap = this.convertToMap(deviceWrappers.get(Constants.GENERAL)); - Map andMap = this.convertToMap(deviceWrappers.get(Constants.PROP_AND)); - Map orMap = this.convertToMap(deviceWrappers.get(Constants.PROP_OR)); - Map locationMap = this.convertToMap(deviceWrappers.get(Constants.LOCATION)); - Map finalMap = new HashMap<>(); - List finalResult = new ArrayList<>(); + Map generalQueryMap = this.convertToMap(devices.get(Constants.GENERAL)); + Map andMap = this.convertToMap(devices.get(Constants.PROP_AND)); + Map orMap = this.convertToMap(devices.get(Constants.PROP_OR)); + Map locationMap = this.convertToMap(devices.get(Constants.LOCATION)); + Map finalMap = new HashMap<>(); + List finalResult = new ArrayList<>(); if (andMap.isEmpty()) { finalMap = generalQueryMap; @@ -70,24 +73,23 @@ public class ResultSetAggregatorImpl implements ResultSetAggregator { return finalResult; } - private Map convertToMap(List deviceWrappers) { - - if (deviceWrappers == null) { + private Map convertToMap(List devices) { + if (devices == null) { return null; } - Map deviceWrapperMap = new HashMap<>(); - for (DeviceWrapper dw : deviceWrappers) { - deviceWrapperMap.put(dw.getDevice().getId(), dw); + Map deviceWrapperMap = new HashMap<>(); + for (Device device : devices) { + deviceWrapperMap.put(device.getId(), device); } return deviceWrapperMap; } - private List convertDeviceMapToList(Map map) { - List list = new ArrayList<>(); - + private List convertDeviceMapToList(Map map) { + List list = new ArrayList<>(); for (Integer a : map.keySet()) { list.add(map.get(a)); } return list; } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/SearchManagerServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/SearchManagerServiceImpl.java index cc9a51d919..faecb93e9c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/SearchManagerServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/SearchManagerServiceImpl.java @@ -19,7 +19,7 @@ package org.wso2.carbon.device.mgt.core.search.mgt.impl; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; +import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.search.SearchContext; import org.wso2.carbon.device.mgt.core.search.mgt.Processor; import org.wso2.carbon.device.mgt.core.search.mgt.SearchManagerService; @@ -29,7 +29,6 @@ import java.util.List; public class SearchManagerServiceImpl implements SearchManagerService { - private Processor processor; public SearchManagerServiceImpl() { @@ -37,13 +36,14 @@ public class SearchManagerServiceImpl implements SearchManagerService { } @Override - public List search(SearchContext searchContext) throws SearchMgtException { + public List search(SearchContext searchContext) throws SearchMgtException { return processor.execute(searchContext); } @Override - public List getUpdated(long epochTime) throws SearchMgtException { + public List getUpdated(long epochTime) throws SearchMgtException { return processor.getUpdatedDevices(epochTime); } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/Utils.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/Utils.java index 3522228511..17990ff6fb 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/Utils.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/search/mgt/impl/Utils.java @@ -19,7 +19,7 @@ package org.wso2.carbon.device.mgt.core.search.mgt.impl; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; +import org.wso2.carbon.device.mgt.common.Device; import java.util.ArrayList; import java.util.HashMap; @@ -65,22 +65,23 @@ public class Utils { boolean bool = false; switch (column) { - case "deviceModel": + case "deviceModel": bool = true; break; - case "vendor": + case "vendor": bool = true; break; - case "osVersion": + case "osVersion": bool = true; break; - case "connectionType": + case "connectionType": bool = true; break; - case "ssid": + case "ssid": bool = true; break; - default: bool =false; + default: + bool = false; break; } @@ -89,9 +90,9 @@ public class Utils { public static String getConvertedValue(String column, String value) { - if(checkColumnType(column)){ - return "\'" + value + "\'"; - } else return value; + if (checkColumnType(column)) { + return "\'" + value + "\'"; + } else return value; } @@ -130,28 +131,28 @@ public class Utils { return stList; } - public static Integer[] getArrayOfDeviceIds(List deviceWrappers) { - - Integer[] arr = new Integer[deviceWrappers.size()]; + public static Integer[] getArrayOfDeviceIds(List devices) { + Integer[] arr = new Integer[devices.size()]; int x = 0; - for (DeviceWrapper dw : deviceWrappers) { - arr[x] = dw.getDevice().getId(); + for (Device device : devices) { + arr[x] = device.getId(); x++; } return arr; } - public static String getDeviceIdsAsString(List deviceWrappers) { + public static String getDeviceIdsAsString(List devices) { String str = ""; - for (DeviceWrapper dw : deviceWrappers) { - str += dw.getDevice().getId() + ","; + for (Device device : devices) { + str += device.getId() + ","; } - if (deviceWrappers.isEmpty()) { + if (devices.isEmpty()) { return null; } return str.substring(0, str.length() - 1); } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/Search/SearchDevice.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/Search/SearchDevice.java index 93c15914ad..8d46eb2d58 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/Search/SearchDevice.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/Search/SearchDevice.java @@ -24,7 +24,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; -import org.wso2.carbon.device.mgt.common.device.details.DeviceWrapper; +import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.search.Condition; import org.wso2.carbon.device.mgt.common.search.SearchContext; import org.wso2.carbon.device.mgt.core.common.BaseDeviceManagementTest; @@ -79,22 +79,22 @@ public class SearchDevice extends BaseDeviceManagementTest { context.setConditions(conditions); SearchManagerService service = new SearchManagerServiceImpl(); - List deviceWrappers = service.search(context); + List devices = service.search(context); Gson gson = new Gson(); - String bbbb = gson.toJson(deviceWrappers); + String bbbb = gson.toJson(devices); log.info(bbbb); - for (DeviceWrapper dw : deviceWrappers) { - log.debug(dw.getDevice().getDescription()); - log.debug(dw.getDevice().getDeviceIdentifier()); + for (Device device : devices) { + log.debug(device.getDescription()); + log.debug(device.getDeviceIdentifier()); } } @Test - public void doValidLocationSearch() throws Exception{ + public void doValidLocationSearch() throws Exception { SearchContext context = new SearchContext(); List conditions = new ArrayList<>(); @@ -109,21 +109,21 @@ public class SearchDevice extends BaseDeviceManagementTest { context.setConditions(conditions); SearchManagerService service = new SearchManagerServiceImpl(); - List deviceWrappers = service.search(context); + List devices = service.search(context); Gson gson = new Gson(); - String bbbb = gson.toJson(deviceWrappers); + String bbbb = gson.toJson(devices); log.info("Valid Search " + bbbb); - for (DeviceWrapper dw : deviceWrappers) { - log.debug(dw.getDevice().getDescription()); - log.debug(dw.getDevice().getDeviceIdentifier()); + for (Device device : devices) { + log.debug(device.getDescription()); + log.debug(device.getDeviceIdentifier()); } } @Test - public void doInvalidLocationSearch() throws Exception{ + public void doInvalidLocationSearch() throws Exception { SearchContext context = new SearchContext(); List conditions = new ArrayList<>(); @@ -138,21 +138,21 @@ public class SearchDevice extends BaseDeviceManagementTest { context.setConditions(conditions); SearchManagerService service = new SearchManagerServiceImpl(); - List deviceWrappers = service.search(context); + List devices = service.search(context); Gson gson = new Gson(); - String bbbb = gson.toJson(deviceWrappers); + String bbbb = gson.toJson(devices); log.info("Invalid Search " + bbbb); - for (DeviceWrapper dw : deviceWrappers) { - log.debug(dw.getDevice().getDescription()); - log.debug(dw.getDevice().getDeviceIdentifier()); + for (Device device : devices) { + log.debug(device.getDescription()); + log.debug(device.getDeviceIdentifier()); } } @Test - public void doStringSearch() throws Exception{ + public void doStringSearch() throws Exception { SearchContext context = new SearchContext(); List conditions = new ArrayList<>(); @@ -167,16 +167,16 @@ public class SearchDevice extends BaseDeviceManagementTest { context.setConditions(conditions); SearchManagerService service = new SearchManagerServiceImpl(); - List deviceWrappers = service.search(context); + List devices = service.search(context); Gson gson = new Gson(); - String bbbb = gson.toJson(deviceWrappers); + String bbbb = gson.toJson(devices); log.info("Invalid Search " + bbbb); - for (DeviceWrapper dw : deviceWrappers) { - log.debug(dw.getDevice().getDescription()); - log.debug(dw.getDevice().getDeviceIdentifier()); + for (Device device : devices) { + log.debug(device.getDescription()); + log.debug(device.getDeviceIdentifier()); } } }