Device Type not present in DB, return null instead of dummy object

4.x.x
manoj 10 years ago
parent 5eed51c3dc
commit a774bc89aa

@ -120,6 +120,7 @@ public class DeviceTypeDAOImpl implements DeviceTypeDAO {
Connection conn = null; Connection conn = null;
PreparedStatement stmt = null; PreparedStatement stmt = null;
ResultSet rs = null; ResultSet rs = null;
DeviceType deviceType = null;
try { try {
conn = this.getConnection(); conn = this.getConnection();
String sql = "SELECT ID From DM_DEVICE_TYPE WHERE NAME = ?"; String sql = "SELECT ID From DM_DEVICE_TYPE WHERE NAME = ?";
@ -127,14 +128,11 @@ public class DeviceTypeDAOImpl implements DeviceTypeDAO {
stmt.setString(1, type); stmt.setString(1, type);
rs = stmt.executeQuery(); rs = stmt.executeQuery();
int id = -1;
if (rs.next()) { if (rs.next()) {
id = rs.getInt("ID"); deviceType = new DeviceType();
deviceType.setId(rs.getInt("ID"));
deviceType.setName(type);
} }
DeviceType deviceType = new DeviceType();
deviceType.setId(id);
deviceType.setName(type);
return deviceType; return deviceType;
} catch (SQLException e) { } catch (SQLException e) {
throw new DeviceManagementDAOException("Error occurred while fetch device type id for device type " + throw new DeviceManagementDAOException("Error occurred while fetch device type id for device type " +

@ -55,10 +55,9 @@ import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOF
import org.wso2.carbon.device.mgt.core.service.DeviceManagementService; import org.wso2.carbon.device.mgt.core.service.DeviceManagementService;
import org.wso2.carbon.device.mgt.core.service.DeviceManagementServiceImpl; import org.wso2.carbon.device.mgt.core.service.DeviceManagementServiceImpl;
import org.wso2.carbon.device.mgt.core.util.DeviceManagementSchemaInitializer; import org.wso2.carbon.device.mgt.core.util.DeviceManagementSchemaInitializer;
import org.wso2.carbon.user.core.service.RealmService;
import org.wso2.carbon.ndatasource.core.DataSourceService; import org.wso2.carbon.ndatasource.core.DataSourceService;
import org.wso2.carbon.registry.core.service.RegistryService; import org.wso2.carbon.registry.core.service.RegistryService;
import org.wso2.carbon.user.core.service.RealmService;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

@ -111,23 +111,23 @@ public final class DeviceManagerUtil {
/** /**
* Adds a new device type to the database if it does not exists. * Adds a new device type to the database if it does not exists.
* *
* @param deviceType device type * @param typeName device type
* @return status of the operation * @return status of the operation
*/ */
public static boolean registerDeviceType(String deviceType) throws DeviceManagementException { public static boolean registerDeviceType(String typeName) throws DeviceManagementException {
boolean status; boolean status;
try { try {
DeviceTypeDAO deviceTypeDAO = DeviceManagementDAOFactory.getDeviceTypeDAO(); DeviceTypeDAO deviceTypeDAO = DeviceManagementDAOFactory.getDeviceTypeDAO();
DeviceType deviceTypeId = deviceTypeDAO.getDeviceType(deviceType); DeviceType deviceType = deviceTypeDAO.getDeviceType(typeName);
if (deviceTypeId == null) { if (deviceType == null) {
DeviceType dt = new DeviceType(); DeviceType dt = new DeviceType();
dt.setName(deviceType); dt.setName(typeName);
deviceTypeDAO.addDeviceType(dt); deviceTypeDAO.addDeviceType(dt);
} }
status = true; status = true;
} catch (DeviceManagementDAOException e) { } catch (DeviceManagementDAOException e) {
throw new DeviceManagementException("Error occurred while registering the device type '" + throw new DeviceManagementException("Error occurred while registering the device type '" +
deviceType + "'", e); typeName + "'", e);
} }
return status; return status;
} }
@ -135,22 +135,22 @@ public final class DeviceManagerUtil {
/** /**
* Un-registers an existing device type from the device management metadata repository. * Un-registers an existing device type from the device management metadata repository.
* *
* @param deviceType device type * @param typeName device type
* @return status of the operation * @return status of the operation
*/ */
public static boolean unregisterDeviceType(String deviceType) throws DeviceManagementException { public static boolean unregisterDeviceType(String typeName) throws DeviceManagementException {
try { try {
DeviceTypeDAO deviceTypeDAO = DeviceManagementDAOFactory.getDeviceTypeDAO(); DeviceTypeDAO deviceTypeDAO = DeviceManagementDAOFactory.getDeviceTypeDAO();
DeviceType deviceTypeId = deviceTypeDAO.getDeviceType(deviceType); DeviceType deviceType = deviceTypeDAO.getDeviceType(typeName);
if (deviceTypeId == null) { if (deviceType == null) {
DeviceType dt = new DeviceType(); DeviceType dt = new DeviceType();
dt.setName(deviceType); dt.setName(typeName);
deviceTypeDAO.removeDeviceType(deviceType); deviceTypeDAO.removeDeviceType(typeName);
} }
return true; return true;
} catch (DeviceManagementDAOException e) { } catch (DeviceManagementDAOException e) {
throw new DeviceManagementException("Error occurred while registering the device type '" + throw new DeviceManagementException("Error occurred while registering the device type '" +
deviceType + "'", e); typeName + "'", e);
} }
} }

Loading…
Cancel
Save