mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
* Commented cdm app copying
* Implemented the getDevice() * Added documentation * Added a method to deviceDAO to get the device by a DeviceIdentifier
This commit is contained in:
parent
773fba11bf
commit
a3dc5d07e5
@ -135,7 +135,26 @@ public class DeviceManagerImpl implements DeviceManager {
|
||||
@Override
|
||||
public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||
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());
|
||||
}
|
||||
}else{
|
||||
throw new DeviceManagementException("No device found for the id '" + deviceId.getId() + "'");
|
||||
}
|
||||
} catch (DeviceManagementDAOException e) {
|
||||
throw new DeviceManagementException("Error occurred while obtaining the device for id '" + deviceId.getId() + "'",
|
||||
e);
|
||||
}
|
||||
return convertedDevice;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -38,6 +38,14 @@ public interface DeviceDAO {
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
|
||||
@ -21,8 +21,8 @@ package org.wso2.carbon.device.mgt.core.dao.impl;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
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.util.DeviceManagementDAOUtil;
|
||||
import org.wso2.carbon.device.mgt.core.dto.Device;
|
||||
import org.wso2.carbon.device.mgt.core.dto.Status;
|
||||
|
||||
@ -98,6 +98,48 @@ public class DeviceDAOImpl implements DeviceDAO {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override public Device getDeviceByDeviceIdentifier(Integer type, String identifier)
|
||||
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;
|
||||
|
||||
@ -223,13 +223,15 @@
|
||||
<outputDirectory>${project.artifactId}-${project.version}/repository/resources
|
||||
</outputDirectory>
|
||||
</fileSet>
|
||||
<!-- copy cdm jaggery app -->
|
||||
<fileSet>
|
||||
<directory>src/repository/jaggeryapps</directory>
|
||||
<outputDirectory>wso2cdm-${project.version}/repository/deployment/server/jaggeryapps
|
||||
</outputDirectory>
|
||||
<fileMode>755</fileMode>
|
||||
</fileSet>
|
||||
<!-- copy cdm jaggery app
|
||||
Commented the section since the repo was moved to MDM
|
||||
-->
|
||||
<!--<fileSet>-->
|
||||
<!--<directory>src/repository/jaggeryapps</directory>-->
|
||||
<!--<outputDirectory>wso2cdm-${project.version}/repository/deployment/server/jaggeryapps-->
|
||||
<!--</outputDirectory>-->
|
||||
<!--<fileMode>755</fileMode>-->
|
||||
<!--</fileSet>-->
|
||||
</fileSets>
|
||||
|
||||
<dependencySets>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user