Fix geofence search by partial name

master
prathabanKavin 1 year ago
parent cdf3e2717a
commit ce62632702

@ -153,7 +153,7 @@ public abstract class AbstractGeofenceDAOImpl implements GeofenceDAO {
try (PreparedStatement stmt = conn.prepareStatement(sql)) { try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setInt(index++, tenantId); stmt.setInt(index++, tenantId);
if (isNameProvided) { if (isNameProvided) {
stmt.setString(index++, request.getProperty(DeviceManagementConstants.GeoServices.FENCE_NAME).toString() + "%"); stmt.setString(index++, "%" + request.getProperty(DeviceManagementConstants.GeoServices.FENCE_NAME).toString() + "%");
} }
stmt.setInt(index++, request.getRowCount()); stmt.setInt(index++, request.getRowCount());
stmt.setInt(index, request.getStartIndex()); stmt.setInt(index, request.getStartIndex());
@ -190,7 +190,7 @@ public abstract class AbstractGeofenceDAOImpl implements GeofenceDAO {
"WHERE FENCE_NAME LIKE ?" + "WHERE FENCE_NAME LIKE ?" +
"AND TENANT_ID = ? "; "AND TENANT_ID = ? ";
try (PreparedStatement stmt = conn.prepareStatement(sql)) { try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, fenceName + "%"); stmt.setString(1, "%" + fenceName + "%");
stmt.setInt(2, tenantId); stmt.setInt(2, tenantId);
try (ResultSet rst = stmt.executeQuery()) { try (ResultSet rst = stmt.executeQuery()) {
geofenceData = extractGeofenceData(rst); geofenceData = extractGeofenceData(rst);

@ -143,7 +143,7 @@ public class GenericGeofenceDAOImpl extends AbstractGeofenceDAOImpl {
try (PreparedStatement stmt = conn.prepareStatement(sql)) { try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setInt(index++, tenantId); stmt.setInt(index++, tenantId);
if (isNameProvided) { if (isNameProvided) {
stmt.setString(index++, request.getProperty(DeviceManagementConstants.GeoServices.FENCE_NAME).toString() + "%"); stmt.setString(index++, request.getProperty("%" + DeviceManagementConstants.GeoServices.FENCE_NAME).toString() + "%");
} }
stmt.setInt(index++, request.getRowCount()); stmt.setInt(index++, request.getRowCount());
stmt.setInt(index, request.getStartIndex()); stmt.setInt(index, request.getStartIndex());
@ -180,7 +180,7 @@ public class GenericGeofenceDAOImpl extends AbstractGeofenceDAOImpl {
"WHERE FENCE_NAME LIKE ?" + "WHERE FENCE_NAME LIKE ?" +
"AND TENANT_ID = ? "; "AND TENANT_ID = ? ";
try (PreparedStatement stmt = conn.prepareStatement(sql)) { try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, fenceName + "%"); stmt.setString(1,"%" + fenceName + "%");
stmt.setInt(2, tenantId); stmt.setInt(2, tenantId);
try (ResultSet rst = stmt.executeQuery()) { try (ResultSet rst = stmt.executeQuery()) {
geofenceData = extractGeofenceData(rst); geofenceData = extractGeofenceData(rst);

@ -71,7 +71,7 @@ public class SQLServerGeofenceDAOImpl extends AbstractGeofenceDAOImpl {
try (PreparedStatement stmt = conn.prepareStatement(sql)) { try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setInt(index++, tenantId); stmt.setInt(index++, tenantId);
if (isNameProvided) { if (isNameProvided) {
stmt.setString(index++, request.getProperty(DeviceManagementConstants.GeoServices.FENCE_NAME).toString() + "%"); stmt.setString(index++, "%" + request.getProperty(DeviceManagementConstants.GeoServices.FENCE_NAME).toString() + "%");
} }
stmt.setInt(index++, request.getStartIndex()); stmt.setInt(index++, request.getStartIndex());
stmt.setInt(index, request.getRowCount()); stmt.setInt(index, request.getRowCount());

Loading…
Cancel
Save