mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge pull request #2 from dulichan/master
Implements the getDevice method of DeviceManager
This commit is contained in:
commit
0ffa15f463
@ -47,8 +47,7 @@ public class DeviceManagerImpl implements DeviceManager {
|
|||||||
this.deviceTypeDAO = DeviceManagementDAOFactory.getDeviceTypeDAO();
|
this.deviceTypeDAO = DeviceManagementDAOFactory.getDeviceTypeDAO();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public boolean enrollDevice(Device device) throws DeviceManagementException {
|
||||||
public boolean enrollDevice(Device device) throws DeviceManagementException {
|
|
||||||
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(device.getType());
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(device.getType());
|
||||||
boolean status = dms.enrollDevice(device);
|
boolean status = dms.enrollDevice(device);
|
||||||
|
|
||||||
@ -59,13 +58,13 @@ public class DeviceManagerImpl implements DeviceManager {
|
|||||||
this.getDeviceDAO().addDevice(deviceDto);
|
this.getDeviceDAO().addDevice(deviceDto);
|
||||||
|
|
||||||
} catch (DeviceManagementDAOException e) {
|
} catch (DeviceManagementDAOException e) {
|
||||||
throw new DeviceManagementException("Error occurred while enrolling the device '" + device.getId() + "'", e);
|
throw new DeviceManagementException("Error occurred while enrolling the device '" + device.getId() + "'",
|
||||||
|
e);
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public boolean modifyEnrollment(Device device) throws DeviceManagementException {
|
||||||
public boolean modifyEnrollment(Device device) throws DeviceManagementException {
|
|
||||||
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(device.getType());
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(device.getType());
|
||||||
boolean status = dms.modifyEnrollment(device);
|
boolean status = dms.modifyEnrollment(device);
|
||||||
try {
|
try {
|
||||||
@ -77,47 +76,37 @@ public class DeviceManagerImpl implements DeviceManager {
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
|
||||||
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
||||||
return dms.disenrollDevice(deviceId);
|
return dms.disenrollDevice(deviceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
|
||||||
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
||||||
return dms.isEnrolled(deviceId);
|
return dms.isEnrolled(deviceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
|
|
||||||
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
||||||
return dms.isActive(deviceId);
|
return dms.isActive(deviceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public boolean setActive(DeviceIdentifier deviceId, boolean status) throws DeviceManagementException {
|
||||||
public boolean setActive(DeviceIdentifier deviceId, boolean status)
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
||||||
throws DeviceManagementException {
|
|
||||||
DeviceManagerService dms =
|
|
||||||
this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
|
||||||
return dms.setActive(deviceId, status);
|
return dms.setActive(deviceId, status);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public List<Device> getAllDevices(String type) throws DeviceManagementException {
|
||||||
public List<Device> getAllDevices(String type) throws DeviceManagementException {
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(type);
|
||||||
DeviceManagerService dms =
|
|
||||||
this.getPluginRepository().getDeviceManagementProvider(type);
|
|
||||||
List<Device> devicesList = new ArrayList<Device>();
|
List<Device> devicesList = new ArrayList<Device>();
|
||||||
try {
|
try {
|
||||||
Integer deviceTypeId = this.getDeviceTypeDAO().getDeviceTypeIdByDeviceTypeName(type);
|
Integer deviceTypeId = this.getDeviceTypeDAO().getDeviceTypeIdByDeviceTypeName(type);
|
||||||
List<org.wso2.carbon.device.mgt.core.dto.Device> devices =
|
List<org.wso2.carbon.device.mgt.core.dto.Device> devices = this.getDeviceDAO().getDevices(deviceTypeId);
|
||||||
this.getDeviceDAO().getDevices(deviceTypeId);
|
|
||||||
|
|
||||||
for (org.wso2.carbon.device.mgt.core.dto.Device device : devices) {
|
for (org.wso2.carbon.device.mgt.core.dto.Device device : devices) {
|
||||||
DeviceType deviceType = this.deviceTypeDAO.getDeviceType(device.getDeviceTypeId());
|
DeviceType deviceType = this.deviceTypeDAO.getDeviceType(device.getDeviceTypeId());
|
||||||
Device convertedDevice = DeviceManagementDAOUtil.convertDevice(device, deviceType);
|
Device convertedDevice = DeviceManagementDAOUtil.convertDevice(device, deviceType);
|
||||||
DeviceIdentifier deviceIdentifier =
|
DeviceIdentifier deviceIdentifier = DeviceManagementDAOUtil.createDeviceIdentifier(device, deviceType);
|
||||||
DeviceManagementDAOUtil.createDeviceIdentifier(device, deviceType);
|
|
||||||
Device dmsDevice = dms.getDevice(deviceIdentifier);
|
Device dmsDevice = dms.getDevice(deviceIdentifier);
|
||||||
if (dmsDevice != null) {
|
if (dmsDevice != null) {
|
||||||
convertedDevice.setProperties(dmsDevice.getProperties());
|
convertedDevice.setProperties(dmsDevice.getProperties());
|
||||||
@ -126,26 +115,41 @@ public class DeviceManagerImpl implements DeviceManager {
|
|||||||
devicesList.add(convertedDevice);
|
devicesList.add(convertedDevice);
|
||||||
}
|
}
|
||||||
} catch (DeviceManagementDAOException e) {
|
} catch (DeviceManagementDAOException e) {
|
||||||
throw new DeviceManagementException("Error occurred while obtaining the device for type '" + type + "'",
|
throw new DeviceManagementException("Error occurred while obtaining the device for type '" + type + "'", e);
|
||||||
e);
|
|
||||||
}
|
}
|
||||||
return devicesList;
|
return devicesList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
|
||||||
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
||||||
return dms.getDevice(deviceId);
|
Device convertedDevice = null;
|
||||||
|
try {
|
||||||
|
Integer deviceTypeId = this.getDeviceTypeDAO().getDeviceTypeIdByDeviceTypeName(deviceId.getType());
|
||||||
|
org.wso2.carbon.device.mgt.core.dto.Device device =
|
||||||
|
this.getDeviceDAO().getDeviceByDeviceIdentifier(deviceTypeId, deviceId.getId());
|
||||||
|
if (device != null) {
|
||||||
|
convertedDevice = DeviceManagementDAOUtil
|
||||||
|
.convertDevice(device, this.getDeviceTypeDAO().getDeviceType(deviceTypeId));
|
||||||
|
Device dmsDevice = dms.getDevice(deviceId);
|
||||||
|
if (dmsDevice != null) {
|
||||||
|
convertedDevice.setProperties(dmsDevice.getProperties());
|
||||||
|
convertedDevice.setFeatures(dmsDevice.getFeatures());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (DeviceManagementDAOException e) {
|
||||||
|
throw new DeviceManagementException(
|
||||||
|
"Error occurred while obtaining the device for id '" + deviceId.getId() + "'", e);
|
||||||
|
}
|
||||||
|
return convertedDevice;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
|
||||||
public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
|
|
||||||
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(device.getType());
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(device.getType());
|
||||||
return dms.updateDeviceInfo(device);
|
return dms.updateDeviceInfo(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType)
|
||||||
public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType) throws DeviceManagementException {
|
throws DeviceManagementException {
|
||||||
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
DeviceManagerService dms = this.getPluginRepository().getDeviceManagementProvider(deviceId.getType());
|
||||||
return dms.setOwnership(deviceId, ownershipType);
|
return dms.setOwnership(deviceId, ownershipType);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,6 +38,14 @@ public interface DeviceDAO {
|
|||||||
|
|
||||||
Device getDeviceByDeviceId(Long deviceId) throws DeviceManagementDAOException;
|
Device getDeviceByDeviceId(Long deviceId) throws DeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param type - Device type.
|
||||||
|
* @param identifier - Device identifier.
|
||||||
|
* @return
|
||||||
|
* @throws DeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
Device getDeviceByDeviceIdentifier(Integer type, String identifier) throws DeviceManagementDAOException;
|
||||||
|
|
||||||
List<Device> getDevices() throws DeviceManagementDAOException;
|
List<Device> getDevices() throws DeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -21,8 +21,8 @@ package org.wso2.carbon.device.mgt.core.dao.impl;
|
|||||||
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.device.mgt.core.dao.DeviceDAO;
|
import org.wso2.carbon.device.mgt.core.dao.DeviceDAO;
|
||||||
import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil;
|
|
||||||
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.util.DeviceManagementDAOUtil;
|
||||||
import org.wso2.carbon.device.mgt.core.dto.Device;
|
import org.wso2.carbon.device.mgt.core.dto.Device;
|
||||||
import org.wso2.carbon.device.mgt.core.dto.Status;
|
import org.wso2.carbon.device.mgt.core.dto.Status;
|
||||||
|
|
||||||
@ -40,13 +40,11 @@ public class DeviceDAOImpl implements DeviceDAO {
|
|||||||
private DataSource dataSource;
|
private DataSource dataSource;
|
||||||
private static final Log log = LogFactory.getLog(DeviceDAOImpl.class);
|
private static final Log log = LogFactory.getLog(DeviceDAOImpl.class);
|
||||||
|
|
||||||
|
|
||||||
public DeviceDAOImpl(DataSource dataSource) {
|
public DeviceDAOImpl(DataSource dataSource) {
|
||||||
this.dataSource = dataSource;
|
this.dataSource = dataSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public void addDevice(Device device) throws DeviceManagementDAOException {
|
||||||
public void addDevice(Device device) throws DeviceManagementDAOException {
|
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
try {
|
try {
|
||||||
@ -77,29 +75,64 @@ public class DeviceDAOImpl implements DeviceDAO {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public void updateDevice(Device device) throws DeviceManagementDAOException {
|
||||||
public void updateDevice(Device device) throws DeviceManagementDAOException {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public void updateDeviceStatus(Long deviceId, Status status) throws DeviceManagementDAOException {
|
||||||
public void updateDeviceStatus(Long deviceId, Status status) throws DeviceManagementDAOException {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public void deleteDevice(Long deviceId) throws DeviceManagementDAOException {
|
||||||
public void deleteDevice(Long deviceId) throws DeviceManagementDAOException {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public Device getDeviceByDeviceId(Long deviceId) throws DeviceManagementDAOException {
|
||||||
public Device getDeviceByDeviceId(Long deviceId)
|
|
||||||
throws DeviceManagementDAOException {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override public Device getDeviceByDeviceIdentifier(Integer type, String identifier)
|
||||||
public List<Device> getDevices() throws DeviceManagementDAOException {
|
throws DeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
ResultSet resultSet = null;
|
||||||
|
Device device = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String selectDBQueryForType = "SELECT ID, DESCRIPTION, NAME, DATE_OF_ENROLLMENT, " +
|
||||||
|
"DATE_OF_LAST_UPDATE, OWNERSHIP, STATUS, DEVICE_TYPE_ID, " +
|
||||||
|
"DEVICE_IDENTIFICATION, OWNER, TENANT_ID FROM DM_DEVICE " +
|
||||||
|
"WHERE DM_DEVICE.DEVICE_TYPE_ID=? AND DM_DEVICE.DEVICE_IDENTIFICATION=?";
|
||||||
|
stmt = conn.prepareStatement(selectDBQueryForType);
|
||||||
|
stmt.setInt(1, type);
|
||||||
|
stmt.setString(2, identifier);
|
||||||
|
resultSet = stmt.executeQuery();
|
||||||
|
while (resultSet.next()) {
|
||||||
|
device = new Device();
|
||||||
|
device.setId(resultSet.getInt(1));
|
||||||
|
device.setDescription(resultSet.getString(2));
|
||||||
|
device.setName(resultSet.getString(3));
|
||||||
|
device.setDateOfEnrollment(resultSet.getLong(4));
|
||||||
|
device.setDateOfLastUpdate(resultSet.getLong(5));
|
||||||
|
//TODO:- Ownership is not a enum in DeviceDAO
|
||||||
|
device.setOwnerShip(resultSet.getString(6));
|
||||||
|
device.setStatus(Status.valueOf(resultSet.getString(7)));
|
||||||
|
device.setDeviceTypeId(resultSet.getInt(8));
|
||||||
|
device.setDeviceIdentificationId(resultSet.getString(9));
|
||||||
|
device.setOwnerId(resultSet.getString(10));
|
||||||
|
device.setTenantId(resultSet.getInt(11));
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while listing devices for type '" + type + "'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new DeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
DeviceManagementDAOUtil.cleanupResources(conn, stmt, resultSet);
|
||||||
|
}
|
||||||
|
return device;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public List<Device> getDevices() throws DeviceManagementDAOException {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -223,13 +223,15 @@
|
|||||||
<outputDirectory>${project.artifactId}-${project.version}/repository/resources
|
<outputDirectory>${project.artifactId}-${project.version}/repository/resources
|
||||||
</outputDirectory>
|
</outputDirectory>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
<!-- copy cdm jaggery app -->
|
<!-- copy cdm jaggery app
|
||||||
<fileSet>
|
Commented the section since the repo was moved to MDM
|
||||||
<directory>src/repository/jaggeryapps</directory>
|
-->
|
||||||
<outputDirectory>wso2cdm-${project.version}/repository/deployment/server/jaggeryapps
|
<!--<fileSet>-->
|
||||||
</outputDirectory>
|
<!--<directory>src/repository/jaggeryapps</directory>-->
|
||||||
<fileMode>755</fileMode>
|
<!--<outputDirectory>wso2cdm-${project.version}/repository/deployment/server/jaggeryapps-->
|
||||||
</fileSet>
|
<!--</outputDirectory>-->
|
||||||
|
<!--<fileMode>755</fileMode>-->
|
||||||
|
<!--</fileSet>-->
|
||||||
</fileSets>
|
</fileSets>
|
||||||
|
|
||||||
<dependencySets>
|
<dependencySets>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user