mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'master' into 'master'
Use device updated timestamp to filter updated devices See merge request entgra/carbon-device-mgt!687
This commit is contained in:
commit
2959cab240
@ -118,7 +118,8 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String sql = "UPDATE DM_DEVICE SET NAME = ?, DESCRIPTION = ?, LAST_UPDATED_TIMESTAMP = ? " +
|
String sql = "UPDATE DM_DEVICE SET NAME = ?, DESCRIPTION = ?, LAST_UPDATED_TIMESTAMP = ? " +
|
||||||
"WHERE DEVICE_TYPE_ID = (SELECT ID FROM DM_DEVICE_TYPE WHERE NAME = ? AND (PROVIDER_TENANT_ID = ? OR SHARED_WITH_ALL_TENANTS = ?)) " +
|
"WHERE DEVICE_TYPE_ID = (SELECT ID FROM DM_DEVICE_TYPE " +
|
||||||
|
"WHERE NAME = ? AND (PROVIDER_TENANT_ID = ? OR SHARED_WITH_ALL_TENANTS = ?)) " +
|
||||||
"AND DEVICE_IDENTIFICATION = ? AND TENANT_ID = ?";
|
"AND DEVICE_IDENTIFICATION = ? AND TENANT_ID = ?";
|
||||||
stmt = conn.prepareStatement(sql, new String[]{"id"});
|
stmt = conn.prepareStatement(sql, new String[]{"id"});
|
||||||
stmt.setString(1, device.getName());
|
stmt.setString(1, device.getName());
|
||||||
@ -164,20 +165,14 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
+ "d.NAME, "
|
+ "d.NAME, "
|
||||||
+ "t.NAME AS DEVICE_TYPE, "
|
+ "t.NAME AS DEVICE_TYPE, "
|
||||||
+ "d.DEVICE_IDENTIFICATION "
|
+ "d.DEVICE_IDENTIFICATION "
|
||||||
+ "FROM DM_DEVICE d, DM_DEVICE_TYPE t";
|
+ "FROM DM_DEVICE d, DM_DEVICE_TYPE t WHERE "
|
||||||
|
|
||||||
if (deviceData.getLastModifiedDate() != null) {
|
|
||||||
sql += ", DM_DEVICE_DETAIL dt";
|
|
||||||
}
|
|
||||||
|
|
||||||
sql += " WHERE "
|
|
||||||
+ "t.NAME = ? AND "
|
+ "t.NAME = ? AND "
|
||||||
+ "t.ID = d.DEVICE_TYPE_ID AND "
|
+ "t.ID = d.DEVICE_TYPE_ID AND "
|
||||||
+ "d.DEVICE_IDENTIFICATION = ? AND "
|
+ "d.DEVICE_IDENTIFICATION = ? AND "
|
||||||
+ "d.TENANT_ID = ?";
|
+ "d.TENANT_ID = ?";
|
||||||
|
|
||||||
if (deviceData.getLastModifiedDate() != null) {
|
if (deviceData.getLastModifiedDate() != null) {
|
||||||
sql += " AND dt.DEVICE_ID = d.ID AND dt.UPDATE_TIMESTAMP > ?";
|
sql += " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
}
|
}
|
||||||
|
|
||||||
sql += ") d1 WHERE d1.ID = e.DEVICE_ID AND ";
|
sql += ") d1 WHERE d1.ID = e.DEVICE_ID AND ";
|
||||||
@ -197,7 +192,7 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
stmt.setString(paramIndx++, deviceData.getDeviceIdentifier().getId());
|
stmt.setString(paramIndx++, deviceData.getDeviceIdentifier().getId());
|
||||||
stmt.setInt(paramIndx++, tenantId);
|
stmt.setInt(paramIndx++, tenantId);
|
||||||
if (deviceData.getLastModifiedDate() != null) {
|
if (deviceData.getLastModifiedDate() != null) {
|
||||||
stmt.setLong(paramIndx++, deviceData.getLastModifiedDate().getTime());
|
stmt.setTimestamp(paramIndx++, new Timestamp(deviceData.getLastModifiedDate().getTime()));
|
||||||
}
|
}
|
||||||
if (!StringUtils.isBlank(deviceData.getDeviceOwner())) {
|
if (!StringUtils.isBlank(deviceData.getDeviceOwner())) {
|
||||||
stmt.setString(paramIndx++, deviceData.getDeviceOwner());
|
stmt.setString(paramIndx++, deviceData.getDeviceOwner());
|
||||||
@ -354,15 +349,15 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
String sql = "SELECT d1.ID AS DEVICE_ID, d1.DESCRIPTION, d1.NAME AS DEVICE_NAME, d1.DEVICE_TYPE, " +
|
String sql = "SELECT d1.ID AS DEVICE_ID, d1.DESCRIPTION, d1.NAME AS DEVICE_NAME, d1.DEVICE_TYPE, " +
|
||||||
"d1.DEVICE_IDENTIFICATION, e.OWNER, e.OWNERSHIP, e.STATUS, e.IS_TRANSFERRED, e.DATE_OF_LAST_UPDATE, " +
|
"d1.DEVICE_IDENTIFICATION, e.OWNER, e.OWNERSHIP, e.STATUS, e.IS_TRANSFERRED, e.DATE_OF_LAST_UPDATE, " +
|
||||||
"e.DATE_OF_ENROLMENT, e.ID AS ENROLMENT_ID FROM DM_ENROLMENT e, (SELECT d.ID, d.DESCRIPTION, d.NAME, " +
|
"e.DATE_OF_ENROLMENT, e.ID AS ENROLMENT_ID FROM DM_ENROLMENT e, (SELECT d.ID, d.DESCRIPTION, d.NAME, " +
|
||||||
"t.NAME AS DEVICE_TYPE, d.DEVICE_IDENTIFICATION FROM DM_DEVICE d, DM_DEVICE_TYPE t, DM_DEVICE_DETAIL dt " +
|
"t.NAME AS DEVICE_TYPE, d.DEVICE_IDENTIFICATION FROM DM_DEVICE d, DM_DEVICE_TYPE t " +
|
||||||
"WHERE t.NAME = ? AND t.ID = d.DEVICE_TYPE_ID AND d.DEVICE_IDENTIFICATION = ? AND d.TENANT_ID = ? AND dt.DEVICE_ID = d.ID " +
|
"WHERE t.NAME = ? AND t.ID = d.DEVICE_TYPE_ID AND d.DEVICE_IDENTIFICATION = ? AND d.TENANT_ID = ? " +
|
||||||
"AND dt.UPDATE_TIMESTAMP > ?) d1 WHERE d1.ID = e.DEVICE_ID AND TENANT_ID = ? ORDER BY e.DATE_OF_LAST_UPDATE DESC";
|
"AND d.LAST_UPDATED_TIMESTAMP > ?) d1 WHERE d1.ID = e.DEVICE_ID AND TENANT_ID = ? ORDER BY e.DATE_OF_LAST_UPDATE DESC";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
int paramIdx = 1;
|
int paramIdx = 1;
|
||||||
stmt.setString(paramIdx++, deviceIdentifier.getType());
|
stmt.setString(paramIdx++, deviceIdentifier.getType());
|
||||||
stmt.setString(paramIdx++, deviceIdentifier.getId());
|
stmt.setString(paramIdx++, deviceIdentifier.getId());
|
||||||
stmt.setInt(paramIdx++, tenantId);
|
stmt.setInt(paramIdx++, tenantId);
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
stmt.setInt(paramIdx, tenantId);
|
stmt.setInt(paramIdx, tenantId);
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
if (rs.next()) {
|
if (rs.next()) {
|
||||||
@ -549,11 +544,10 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
"(SELECT d.ID, d.DESCRIPTION, d.NAME, " +
|
"(SELECT d.ID, d.DESCRIPTION, d.NAME, " +
|
||||||
"t.NAME AS DEVICE_TYPE, d.DEVICE_IDENTIFICATION " +
|
"t.NAME AS DEVICE_TYPE, d.DEVICE_IDENTIFICATION " +
|
||||||
"FROM" +
|
"FROM" +
|
||||||
" DM_DEVICE d, DM_DEVICE_TYPE t," +
|
" DM_DEVICE d, DM_DEVICE_TYPE t " +
|
||||||
" DM_DEVICE_DETAIL dt " +
|
|
||||||
"WHERE " +
|
"WHERE " +
|
||||||
"t.ID = d.DEVICE_TYPE_ID AND d.DEVICE_IDENTIFICATION = ? AND d.TENANT_ID = ? AND" +
|
"t.ID = d.DEVICE_TYPE_ID AND d.DEVICE_IDENTIFICATION = ? AND d.TENANT_ID = ? AND" +
|
||||||
" dt.DEVICE_ID = d.ID AND dt.UPDATE_TIMESTAMP > ?) d1 " +
|
" d.LAST_UPDATED_TIMESTAMP > ?) d1 " +
|
||||||
"WHERE" +
|
"WHERE" +
|
||||||
" d1.ID = e.DEVICE_ID AND TENANT_ID = ? " +
|
" d1.ID = e.DEVICE_ID AND TENANT_ID = ? " +
|
||||||
"ORDER BY " +
|
"ORDER BY " +
|
||||||
@ -562,7 +556,7 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
int paramIdx = 1;
|
int paramIdx = 1;
|
||||||
stmt.setString(paramIdx++, deviceIdentifier);
|
stmt.setString(paramIdx++, deviceIdentifier);
|
||||||
stmt.setInt(paramIdx++, tenantId);
|
stmt.setInt(paramIdx++, tenantId);
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
stmt.setInt(paramIdx, tenantId);
|
stmt.setInt(paramIdx, tenantId);
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
if (rs.next()) {
|
if (rs.next()) {
|
||||||
@ -589,14 +583,15 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
String sql = "SELECT d1.ID AS DEVICE_ID, d1.DESCRIPTION, d1.NAME AS DEVICE_NAME, d1.DEVICE_TYPE, " +
|
String sql = "SELECT d1.ID AS DEVICE_ID, d1.DESCRIPTION, d1.NAME AS DEVICE_NAME, d1.DEVICE_TYPE, " +
|
||||||
"d1.DEVICE_IDENTIFICATION, e.OWNER, e.OWNERSHIP, e.STATUS, e.IS_TRANSFERRED, e.DATE_OF_LAST_UPDATE, " +
|
"d1.DEVICE_IDENTIFICATION, e.OWNER, e.OWNERSHIP, e.STATUS, e.IS_TRANSFERRED, e.DATE_OF_LAST_UPDATE, " +
|
||||||
"e.DATE_OF_ENROLMENT, e.ID AS ENROLMENT_ID FROM DM_ENROLMENT e, (SELECT d.ID, d.DESCRIPTION, d.NAME, " +
|
"e.DATE_OF_ENROLMENT, e.ID AS ENROLMENT_ID FROM DM_ENROLMENT e, (SELECT d.ID, d.DESCRIPTION, d.NAME, " +
|
||||||
"t.NAME AS DEVICE_TYPE, d.DEVICE_IDENTIFICATION FROM DM_DEVICE d, DM_DEVICE_TYPE t, DM_DEVICE_DETAIL dt " +
|
"t.NAME AS DEVICE_TYPE, d.DEVICE_IDENTIFICATION FROM DM_DEVICE d, DM_DEVICE_TYPE t " +
|
||||||
"WHERE t.NAME = ? AND t.ID = d.DEVICE_TYPE_ID AND d.DEVICE_IDENTIFICATION = ? AND d.TENANT_ID = ? AND dt.DEVICE_ID = d.ID " +
|
"WHERE t.NAME = ? AND t.ID = d.DEVICE_TYPE_ID AND d.DEVICE_IDENTIFICATION = ? AND d.TENANT_ID = ? " +
|
||||||
"AND dt.UPDATE_TIMESTAMP > ?) d1 WHERE d1.ID = e.DEVICE_ID AND TENANT_ID = ? AND e.OWNER = ? ORDER BY e.DATE_OF_LAST_UPDATE DESC";
|
"AND d.LAST_UPDATED_TIMESTAMP > ?) d1 WHERE d1.ID = e.DEVICE_ID AND TENANT_ID = ? AND e.OWNER = ? " +
|
||||||
|
"ORDER BY e.DATE_OF_LAST_UPDATE DESC";
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setString(1, deviceIdentifier.getType());
|
stmt.setString(1, deviceIdentifier.getType());
|
||||||
stmt.setString(2, deviceIdentifier.getId());
|
stmt.setString(2, deviceIdentifier.getId());
|
||||||
stmt.setInt(3, tenantId);
|
stmt.setInt(3, tenantId);
|
||||||
stmt.setLong(4, since.getTime());
|
stmt.setTimestamp(4, new Timestamp(since.getTime()));
|
||||||
stmt.setInt(5, tenantId);
|
stmt.setInt(5, tenantId);
|
||||||
stmt.setString(6, owner);
|
stmt.setString(6, owner);
|
||||||
rs = stmt.executeQuery();
|
rs = stmt.executeQuery();
|
||||||
@ -912,15 +907,11 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
sql = sql + " AND d.NAME LIKE ?";
|
sql = sql + " AND d.NAME LIKE ?";
|
||||||
isDeviceNameProvided = true;
|
isDeviceNameProvided = true;
|
||||||
}
|
}
|
||||||
sql = sql + ") gd, DM_DEVICE_TYPE t";
|
sql = sql + ") gd, DM_DEVICE_TYPE t WHERE gd.DEVICE_TYPE_ID = t.ID";
|
||||||
if (since != null) {
|
|
||||||
sql = sql + ", DM_DEVICE_DETAIL dt";
|
|
||||||
isSinceProvided = true;
|
|
||||||
}
|
|
||||||
sql = sql + " WHERE gd.DEVICE_TYPE_ID = t.ID";
|
|
||||||
//Add query for last updated timestamp
|
//Add query for last updated timestamp
|
||||||
if (isSinceProvided) {
|
if (since != null) {
|
||||||
sql = sql + " AND dt.DEVICE_ID = gd.DEVICE_ID AND dt.UPDATE_TIMESTAMP > ?";
|
sql = sql + " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
|
isSinceProvided = true;
|
||||||
}
|
}
|
||||||
//Add the query for device-type
|
//Add the query for device-type
|
||||||
if (deviceType != null && !deviceType.isEmpty()) {
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
@ -954,7 +945,7 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
stmt.setString(paramIdx++, deviceName + "%");
|
stmt.setString(paramIdx++, deviceName + "%");
|
||||||
}
|
}
|
||||||
if (isSinceProvided) {
|
if (isSinceProvided) {
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
}
|
}
|
||||||
if (isDeviceTypeProvided) {
|
if (isDeviceTypeProvided) {
|
||||||
stmt.setString(paramIdx++, deviceType);
|
stmt.setString(paramIdx++, deviceType);
|
||||||
@ -1182,17 +1173,12 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
"t.NAME AS DEVICE_TYPE " +
|
"t.NAME AS DEVICE_TYPE " +
|
||||||
"FROM " +
|
"FROM " +
|
||||||
"DM_DEVICE d, " +
|
"DM_DEVICE d, " +
|
||||||
"DM_DEVICE_TYPE t";
|
"DM_DEVICE_TYPE t WHERE DEVICE_TYPE_ID = t.ID AND d.TENANT_ID = ?";
|
||||||
//Add query for last updated timestamp
|
//Add query for last updated timestamp
|
||||||
if (since != null) {
|
if (since != null) {
|
||||||
sql = sql + " , DM_DEVICE_DETAIL dt";
|
sql = sql + " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
isSinceProvided = true;
|
isSinceProvided = true;
|
||||||
}
|
}
|
||||||
sql = sql + " WHERE DEVICE_TYPE_ID = t.ID AND d.TENANT_ID = ?";
|
|
||||||
//Add query for last updated timestamp
|
|
||||||
if (isSinceProvided) {
|
|
||||||
sql = sql + " AND dt.DEVICE_ID = d.ID AND dt.UPDATE_TIMESTAMP > ?";
|
|
||||||
}
|
|
||||||
if (deviceType != null && !deviceType.isEmpty()) {
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
sql = sql + " AND t.NAME = ?";
|
sql = sql + " AND t.NAME = ?";
|
||||||
isDeviceTypeProvided = true;
|
isDeviceTypeProvided = true;
|
||||||
@ -1223,7 +1209,7 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
int paramIdx = 1;
|
int paramIdx = 1;
|
||||||
stmt.setInt(paramIdx++, tenantId);
|
stmt.setInt(paramIdx++, tenantId);
|
||||||
if (isSinceProvided) {
|
if (isSinceProvided) {
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
}
|
}
|
||||||
if (isDeviceTypeProvided) {
|
if (isDeviceTypeProvided) {
|
||||||
stmt.setString(paramIdx++, request.getDeviceType());
|
stmt.setString(paramIdx++, request.getDeviceType());
|
||||||
|
|||||||
@ -38,6 +38,7 @@ import java.sql.Connection;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -90,15 +91,12 @@ public class GenericDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
"d.DEVICE_IDENTIFICATION, " +
|
"d.DEVICE_IDENTIFICATION, " +
|
||||||
"t.NAME AS DEVICE_TYPE " +
|
"t.NAME AS DEVICE_TYPE " +
|
||||||
"FROM DM_DEVICE d, DM_DEVICE_TYPE t ";
|
"FROM DM_DEVICE d, DM_DEVICE_TYPE t ";
|
||||||
//Add the query to filter active devices on timestamp
|
|
||||||
if (since != null) {
|
|
||||||
sql = sql + ", DM_DEVICE_DETAIL dt";
|
|
||||||
isSinceProvided = true;
|
|
||||||
}
|
|
||||||
sql = sql + " WHERE DEVICE_TYPE_ID = t.ID AND d.TENANT_ID = ?";
|
sql = sql + " WHERE DEVICE_TYPE_ID = t.ID AND d.TENANT_ID = ?";
|
||||||
//Add query for last updated timestamp
|
//Add query for last updated timestamp
|
||||||
if (isSinceProvided) {
|
if (since != null) {
|
||||||
sql = sql + " AND dt.DEVICE_ID = d.ID AND dt.UPDATE_TIMESTAMP > ?";
|
sql = sql + " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
|
isSinceProvided = true;
|
||||||
}
|
}
|
||||||
//Add the query for device-type
|
//Add the query for device-type
|
||||||
if (deviceType != null && !deviceType.isEmpty()) {
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
@ -134,7 +132,7 @@ public class GenericDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
int paramIdx = 1;
|
int paramIdx = 1;
|
||||||
stmt.setInt(paramIdx++, tenantId);
|
stmt.setInt(paramIdx++, tenantId);
|
||||||
if (isSinceProvided) {
|
if (isSinceProvided) {
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
}
|
}
|
||||||
if (isDeviceTypeProvided) {
|
if (isDeviceTypeProvided) {
|
||||||
stmt.setString(paramIdx++, deviceType);
|
stmt.setString(paramIdx++, deviceType);
|
||||||
@ -234,14 +232,11 @@ public class GenericDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
isDeviceNameProvided = true;
|
isDeviceNameProvided = true;
|
||||||
}
|
}
|
||||||
sql = sql + ") gd, DM_DEVICE_TYPE t";
|
sql = sql + ") gd, DM_DEVICE_TYPE t";
|
||||||
if (since != null) {
|
|
||||||
sql = sql + ", DM_DEVICE_DETAIL dt";
|
|
||||||
isSinceProvided = true;
|
|
||||||
}
|
|
||||||
sql = sql + " WHERE gd.DEVICE_TYPE_ID = t.ID";
|
sql = sql + " WHERE gd.DEVICE_TYPE_ID = t.ID";
|
||||||
//Add query for last updated timestamp
|
//Add query for last updated timestamp
|
||||||
if (isSinceProvided) {
|
if (since != null) {
|
||||||
sql = sql + " AND dt.DEVICE_ID = gd.DEVICE_ID AND dt.UPDATE_TIMESTAMP > ?";
|
sql = sql + " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
|
isSinceProvided = true;
|
||||||
}
|
}
|
||||||
//Add the query for device-type
|
//Add the query for device-type
|
||||||
if (deviceType != null && !deviceType.isEmpty()) {
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
@ -276,7 +271,7 @@ public class GenericDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
stmt.setString(paramIdx++, deviceName + "%");
|
stmt.setString(paramIdx++, deviceName + "%");
|
||||||
}
|
}
|
||||||
if (isSinceProvided) {
|
if (isSinceProvided) {
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
}
|
}
|
||||||
if (isDeviceTypeProvided) {
|
if (isDeviceTypeProvided) {
|
||||||
stmt.setString(paramIdx++, deviceType);
|
stmt.setString(paramIdx++, deviceType);
|
||||||
|
|||||||
@ -36,6 +36,7 @@ import java.sql.Connection;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -89,16 +90,11 @@ public class OracleDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
"d.DEVICE_IDENTIFICATION, " +
|
"d.DEVICE_IDENTIFICATION, " +
|
||||||
"t.NAME AS DEVICE_TYPE " +
|
"t.NAME AS DEVICE_TYPE " +
|
||||||
"FROM DM_DEVICE d, " +
|
"FROM DM_DEVICE d, " +
|
||||||
"DM_DEVICE_TYPE t ";
|
"DM_DEVICE_TYPE t WHERE DEVICE_TYPE_ID = t.ID AND d.TENANT_ID = ?";
|
||||||
//Add the query to filter active devices on timestamp
|
|
||||||
if (since != null) {
|
|
||||||
sql = sql + ", DM_DEVICE_DETAIL dt";
|
|
||||||
isSinceProvided = true;
|
|
||||||
}
|
|
||||||
sql = sql + " WHERE DEVICE_TYPE_ID = t.ID AND d.TENANT_ID = ?";
|
|
||||||
//Add query for last updated timestamp
|
//Add query for last updated timestamp
|
||||||
if (isSinceProvided) {
|
if (since != null) {
|
||||||
sql = sql + " AND dt.DEVICE_ID = d.ID AND dt.UPDATE_TIMESTAMP > ?";
|
sql = sql + " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
|
isSinceProvided = true;
|
||||||
}
|
}
|
||||||
//Add the query for device-type
|
//Add the query for device-type
|
||||||
if (deviceType != null && !deviceType.isEmpty()) {
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
@ -134,7 +130,7 @@ public class OracleDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
int paramIdx = 1;
|
int paramIdx = 1;
|
||||||
stmt.setInt(paramIdx++, tenantId);
|
stmt.setInt(paramIdx++, tenantId);
|
||||||
if (isSinceProvided) {
|
if (isSinceProvided) {
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
}
|
}
|
||||||
if (isDeviceTypeProvided) {
|
if (isDeviceTypeProvided) {
|
||||||
stmt.setString(paramIdx++, deviceType);
|
stmt.setString(paramIdx++, deviceType);
|
||||||
@ -235,15 +231,11 @@ public class OracleDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
sql = sql + " AND d.NAME LIKE ?";
|
sql = sql + " AND d.NAME LIKE ?";
|
||||||
isDeviceNameProvided = true;
|
isDeviceNameProvided = true;
|
||||||
}
|
}
|
||||||
sql = sql + ") gd, DM_DEVICE_TYPE t";
|
sql = sql + ") gd, DM_DEVICE_TYPE t WHERE gd.DEVICE_TYPE_ID = t.ID";
|
||||||
if (since != null) {
|
|
||||||
sql = sql + ", DM_DEVICE_DETAIL dt";
|
|
||||||
isSinceProvided = true;
|
|
||||||
}
|
|
||||||
sql = sql + " WHERE gd.DEVICE_TYPE_ID = t.ID";
|
|
||||||
//Add query for last updated timestamp
|
//Add query for last updated timestamp
|
||||||
if (isSinceProvided) {
|
if (since != null) {
|
||||||
sql = sql + " AND dt.DEVICE_ID = gd.DEVICE_ID AND dt.UPDATE_TIMESTAMP > ?";
|
sql = sql + " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
|
isSinceProvided = true;
|
||||||
}
|
}
|
||||||
//Add the query for device-type
|
//Add the query for device-type
|
||||||
if (deviceType != null && !deviceType.isEmpty()) {
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
@ -278,7 +270,7 @@ public class OracleDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
stmt.setString(paramIdx++, deviceName + "%");
|
stmt.setString(paramIdx++, deviceName + "%");
|
||||||
}
|
}
|
||||||
if (isSinceProvided) {
|
if (isSinceProvided) {
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
}
|
}
|
||||||
if (isDeviceTypeProvided) {
|
if (isDeviceTypeProvided) {
|
||||||
stmt.setString(paramIdx++, deviceType);
|
stmt.setString(paramIdx++, deviceType);
|
||||||
|
|||||||
@ -35,6 +35,7 @@ import java.sql.Connection;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -222,15 +223,11 @@ public class PostgreSQLDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
sql = sql + " AND d.NAME LIKE ?";
|
sql = sql + " AND d.NAME LIKE ?";
|
||||||
isDeviceNameProvided = true;
|
isDeviceNameProvided = true;
|
||||||
}
|
}
|
||||||
sql = sql + ") gd, DM_DEVICE_TYPE t";
|
sql = sql + ") gd, DM_DEVICE_TYPE t WHERE gd.DEVICE_TYPE_ID = t.ID";
|
||||||
if (since != null) {
|
|
||||||
sql = sql + ", DM_DEVICE_DETAIL dt";
|
|
||||||
isSinceProvided = true;
|
|
||||||
}
|
|
||||||
sql = sql + " WHERE gd.DEVICE_TYPE_ID = t.ID";
|
|
||||||
//Add query for last updated timestamp
|
//Add query for last updated timestamp
|
||||||
if (isSinceProvided) {
|
if (since != null) {
|
||||||
sql = sql + " AND dt.DEVICE_ID = gd.DEVICE_ID AND dt.UPDATE_TIMESTAMP > ?";
|
sql = sql + " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
|
isSinceProvided = true;
|
||||||
}
|
}
|
||||||
//Add the query for device-type
|
//Add the query for device-type
|
||||||
if (deviceType != null && !deviceType.isEmpty()) {
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
@ -265,7 +262,7 @@ public class PostgreSQLDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
stmt.setString(paramIdx++, deviceName + "%");
|
stmt.setString(paramIdx++, deviceName + "%");
|
||||||
}
|
}
|
||||||
if (isSinceProvided) {
|
if (isSinceProvided) {
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
}
|
}
|
||||||
if (isDeviceTypeProvided) {
|
if (isDeviceTypeProvided) {
|
||||||
stmt.setString(paramIdx++, deviceType);
|
stmt.setString(paramIdx++, deviceType);
|
||||||
|
|||||||
@ -37,6 +37,7 @@ import java.sql.Connection;
|
|||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -89,16 +90,11 @@ public class SQLServerDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
"d.NAME, " +
|
"d.NAME, " +
|
||||||
"d.DEVICE_IDENTIFICATION, " +
|
"d.DEVICE_IDENTIFICATION, " +
|
||||||
"t.NAME AS DEVICE_TYPE " +
|
"t.NAME AS DEVICE_TYPE " +
|
||||||
"FROM DM_DEVICE d, DM_DEVICE_TYPE t ";
|
"FROM DM_DEVICE d, DM_DEVICE_TYPE t WHERE DEVICE_TYPE_ID = t.ID AND d.TENANT_ID = ?";
|
||||||
//Add the query to filter active devices on timestamp
|
|
||||||
if (since != null) {
|
|
||||||
sql = sql + ", DM_DEVICE_DETAIL dt";
|
|
||||||
isSinceProvided = true;
|
|
||||||
}
|
|
||||||
sql = sql + " WHERE DEVICE_TYPE_ID = t.ID AND d.TENANT_ID = ?";
|
|
||||||
//Add query for last updated timestamp
|
//Add query for last updated timestamp
|
||||||
if (isSinceProvided) {
|
if (since != null) {
|
||||||
sql = sql + " AND dt.DEVICE_ID = d.ID AND dt.UPDATE_TIMESTAMP > ?";
|
sql = sql + " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
|
isSinceProvided = true;
|
||||||
}
|
}
|
||||||
//Add the query for device-type
|
//Add the query for device-type
|
||||||
if (deviceType != null && !deviceType.isEmpty()) {
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
@ -134,7 +130,7 @@ public class SQLServerDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
int paramIdx = 1;
|
int paramIdx = 1;
|
||||||
stmt.setInt(paramIdx++, tenantId);
|
stmt.setInt(paramIdx++, tenantId);
|
||||||
if (isSinceProvided) {
|
if (isSinceProvided) {
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
}
|
}
|
||||||
if (isDeviceTypeProvided) {
|
if (isDeviceTypeProvided) {
|
||||||
stmt.setString(paramIdx++, deviceType);
|
stmt.setString(paramIdx++, deviceType);
|
||||||
@ -234,15 +230,11 @@ public class SQLServerDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
sql = sql + " AND d.NAME LIKE ?";
|
sql = sql + " AND d.NAME LIKE ?";
|
||||||
isDeviceNameProvided = true;
|
isDeviceNameProvided = true;
|
||||||
}
|
}
|
||||||
sql = sql + ") gd, DM_DEVICE_TYPE t";
|
sql = sql + ") gd, DM_DEVICE_TYPE t WHERE gd.DEVICE_TYPE_ID = t.ID";
|
||||||
if (since != null) {
|
|
||||||
sql = sql + ", DM_DEVICE_DETAIL dt";
|
|
||||||
isSinceProvided = true;
|
|
||||||
}
|
|
||||||
sql = sql + " WHERE gd.DEVICE_TYPE_ID = t.ID";
|
|
||||||
//Add query for last updated timestamp
|
//Add query for last updated timestamp
|
||||||
if (isSinceProvided) {
|
if (since != null) {
|
||||||
sql = sql + " AND dt.DEVICE_ID = gd.DEVICE_ID AND dt.UPDATE_TIMESTAMP > ?";
|
sql = sql + " AND d.LAST_UPDATED_TIMESTAMP > ?";
|
||||||
|
isSinceProvided = true;
|
||||||
}
|
}
|
||||||
//Add the query for device-type
|
//Add the query for device-type
|
||||||
if (deviceType != null && !deviceType.isEmpty()) {
|
if (deviceType != null && !deviceType.isEmpty()) {
|
||||||
@ -277,7 +269,7 @@ public class SQLServerDeviceDAOImpl extends AbstractDeviceDAOImpl {
|
|||||||
stmt.setString(paramIdx++, deviceName + "%");
|
stmt.setString(paramIdx++, deviceName + "%");
|
||||||
}
|
}
|
||||||
if (isSinceProvided) {
|
if (isSinceProvided) {
|
||||||
stmt.setLong(paramIdx++, since.getTime());
|
stmt.setTimestamp(paramIdx++, new Timestamp(since.getTime()));
|
||||||
}
|
}
|
||||||
if (isDeviceTypeProvided) {
|
if (isDeviceTypeProvided) {
|
||||||
stmt.setString(paramIdx++, deviceType);
|
stmt.setString(paramIdx++, deviceType);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user