mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Changing the device info object by adding the application list
This commit is contained in:
parent
dafd219868
commit
6328d35797
@ -23,6 +23,9 @@ import io.swagger.annotations.ApiModel;
|
|||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import org.wso2.carbon.device.mgt.common.Device;
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
|
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@ApiModel(value = "DeviceWrapper", description = "This contains device details including, " +
|
@ApiModel(value = "DeviceWrapper", description = "This contains device details including, " +
|
||||||
"location and device meta information.")
|
"location and device meta information.")
|
||||||
@ -38,6 +41,8 @@ public class DeviceWrapper {
|
|||||||
@ApiModelProperty(name = "deviceLocation", value = "Device's current location", required = true)
|
@ApiModelProperty(name = "deviceLocation", value = "Device's current location", required = true)
|
||||||
private DeviceLocation deviceLocation;
|
private DeviceLocation deviceLocation;
|
||||||
|
|
||||||
|
private List<Application> applications;
|
||||||
|
|
||||||
public Device getDevice() {
|
public Device getDevice() {
|
||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
@ -69,5 +74,13 @@ public class DeviceWrapper {
|
|||||||
public void setDeviceLocation(DeviceLocation deviceLocation) {
|
public void setDeviceLocation(DeviceLocation deviceLocation) {
|
||||||
this.deviceLocation = deviceLocation;
|
this.deviceLocation = deviceLocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Application> getApplications() {
|
||||||
|
return applications;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setApplications(List<Application> applications) {
|
||||||
|
this.applications = applications;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,8 +19,13 @@
|
|||||||
|
|
||||||
package org.wso2.carbon.device.mgt.core.search.mgt.impl;
|
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.device.details.DeviceWrapper;
|
||||||
import org.wso2.carbon.device.mgt.common.search.SearchContext;
|
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;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||||
import org.wso2.carbon.device.mgt.core.search.mgt.*;
|
import org.wso2.carbon.device.mgt.core.search.mgt.*;
|
||||||
import org.wso2.carbon.device.mgt.core.search.mgt.dao.SearchDAO;
|
import org.wso2.carbon.device.mgt.core.search.mgt.dao.SearchDAO;
|
||||||
@ -35,9 +40,11 @@ import java.util.Map;
|
|||||||
public class ProcessorImpl implements Processor {
|
public class ProcessorImpl implements Processor {
|
||||||
|
|
||||||
private SearchDAO searchDAO;
|
private SearchDAO searchDAO;
|
||||||
|
private ApplicationDAO applicationDAO;
|
||||||
|
|
||||||
public ProcessorImpl() {
|
public ProcessorImpl() {
|
||||||
searchDAO = DeviceManagementDAOFactory.getSearchDAO();
|
searchDAO = DeviceManagementDAOFactory.getSearchDAO();
|
||||||
|
applicationDAO = DeviceManagementDAOFactory.getApplicationDAO();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -91,7 +98,9 @@ public class ProcessorImpl implements Processor {
|
|||||||
deviceWrappers.put(Constants.PROP_OR, this.processORSearch(allORDevices));
|
deviceWrappers.put(Constants.PROP_OR, this.processORSearch(allORDevices));
|
||||||
deviceWrappers.put(Constants.LOCATION, locationDevices);
|
deviceWrappers.put(Constants.LOCATION, locationDevices);
|
||||||
|
|
||||||
return aggregator.aggregate(deviceWrappers);
|
List<DeviceWrapper> finalDeviceWrappers = aggregator.aggregate(deviceWrappers);
|
||||||
|
this.setApplicationListOfDevices(finalDeviceWrappers);
|
||||||
|
return finalDeviceWrappers;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -186,5 +195,21 @@ public class ProcessorImpl implements Processor {
|
|||||||
return maps;
|
return maps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void setApplicationListOfDevices(List<DeviceWrapper> deviceWrappers) throws SearchMgtException {
|
||||||
|
try {
|
||||||
|
DeviceManagementDAOFactory.openConnection();
|
||||||
|
for (DeviceWrapper wrapper : deviceWrappers) {
|
||||||
|
wrapper.setApplications(applicationDAO.getInstalledApplications(wrapper.getDevice().getId()));
|
||||||
|
}
|
||||||
|
} catch (DeviceManagementDAOException e) {
|
||||||
|
throw new SearchMgtException("Error occurred while fetching the Application List of devices ", e);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
throw new SearchMgtException("Error occurred while opening a connection to the data source", e);
|
||||||
|
} finally {
|
||||||
|
DeviceManagementDAOFactory.closeConnection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user