fixed issue in modify enrollment

4.x.x
hasuniea 9 years ago
parent 3582973f84
commit 9f6dd55223

@ -22,7 +22,6 @@ import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
import org.wso2.carbon.device.mgt.common.EnrolmentInfo.Status;
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
import java.util.List;
@ -33,7 +32,7 @@ public interface DeviceDAO {
int addDevice(int typeId, Device device, int tenantId) throws DeviceManagementDAOException;
int updateDevice(int typeId, Device device, int tenantId) throws DeviceManagementDAOException;
boolean updateDevice(int typeId, Device device, int tenantId) throws DeviceManagementDAOException;
int removeDevice(DeviceIdentifier deviceId, int tenantId) throws DeviceManagementDAOException;

@ -67,11 +67,11 @@ public class DeviceDAOImpl implements DeviceDAO {
}
@Override
public int updateDevice(int typeId, Device device, int tenantId) throws DeviceManagementDAOException {
public boolean updateDevice(int typeId, Device device, int tenantId) throws DeviceManagementDAOException {
Connection conn;
PreparedStatement stmt = null;
ResultSet rs = null;
int deviceId = -1;
boolean status = false;
int rows;
try {
conn = this.getConnection();
String sql =
@ -83,18 +83,16 @@ public class DeviceDAOImpl implements DeviceDAO {
stmt.setString(3, device.getDeviceIdentifier());
stmt.setInt(4, typeId);
stmt.setInt(5, tenantId);
stmt.executeUpdate();
rs = stmt.getGeneratedKeys();
if (rs.next()) {
deviceId = rs.getInt(1);
rows = stmt.executeUpdate();
if (rows>0) {
status = true;
}
return deviceId;
return status;
} catch (SQLException e) {
throw new DeviceManagementDAOException("Error occurred while enrolling device '" +
device.getName() + "'", e);
} finally {
DeviceManagementDAOUtil.cleanupResources(stmt, rs);
DeviceManagementDAOUtil.cleanupResources(stmt, null);
}
}

@ -139,6 +139,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
EnrolmentInfo newEnrolmentInfo = device.getEnrolmentInfo();
if (existingEnrolmentInfo != null && newEnrolmentInfo != null) {
if (existingEnrolmentInfo.equals(newEnrolmentInfo)) {
device.setId(existingDevice.getId());
device.getEnrolmentInfo().setDateOfEnrolment(existingEnrolmentInfo.getDateOfEnrolment());
this.modifyEnrollment(device);
status = true;
@ -210,8 +211,8 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
DeviceManagementDAOFactory.beginTransaction();
DeviceType type = deviceTypeDAO.getDeviceType(device.getType());
int deviceId = deviceDAO.updateDevice(type.getId(), device, tenantId);
enrolmentDAO.updateEnrollment(deviceId, device.getEnrolmentInfo(), tenantId);
deviceDAO.updateDevice(type.getId(), device, tenantId);
enrolmentDAO.updateEnrollment(device.getId(), device.getEnrolmentInfo(), tenantId);
DeviceManagementDAOFactory.commitTransaction();
} catch (DeviceManagementDAOException | TransactionManagementException e) {

Loading…
Cancel
Save