From 6ddd48400edbe025eff85bd79abb84dff78a91d9 Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 14 Dec 2025 17:35:07 +0100 Subject: [PATCH] Extend filtering logic in NodeRepository by including `external_mapping_id` in search criteria. Fix for Issue #77 --- .../java/de/avatic/lcc/repositories/NodeRepository.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/avatic/lcc/repositories/NodeRepository.java b/src/main/java/de/avatic/lcc/repositories/NodeRepository.java index 7274846..275d130 100644 --- a/src/main/java/de/avatic/lcc/repositories/NodeRepository.java +++ b/src/main/java/de/avatic/lcc/repositories/NodeRepository.java @@ -106,8 +106,8 @@ public class NodeRepository { entities = jdbcTemplate.query(query, new NodeMapper(), pagination.getLimit(), pagination.getOffset()); totalCount = jdbcTemplate.queryForObject(countQuery, Integer.class); } else { - entities = jdbcTemplate.query(query, new NodeMapper(), "%" + filter + "%", "%" + filter + "%", "%" + filter + "%", pagination.getLimit(), pagination.getOffset()); - totalCount = jdbcTemplate.queryForObject(countQuery, Integer.class, "%" + filter + "%", "%" + filter + "%", "%" + filter + "%"); + entities = jdbcTemplate.query(query, new NodeMapper(), "%" + filter + "%", "%" + filter + "%", "%" + filter + "%", "%" + filter + "%", pagination.getLimit(), pagination.getOffset()); + totalCount = jdbcTemplate.queryForObject(countQuery, Integer.class, "%" + filter + "%", "%" + filter + "%", "%" + filter + "%", "%" + filter + "%"); } @@ -125,7 +125,7 @@ public class NodeRepository { queryBuilder.append(" AND node.is_deprecated = FALSE"); } if (filter != null) { - queryBuilder.append(" AND (node.name LIKE ? OR node.address LIKE ? OR country.iso_code LIKE ?)"); + queryBuilder.append(" AND (node.name LIKE ? OR node.external_mapping_id LIKE ? OR node.address LIKE ? OR country.iso_code LIKE ?)"); } return queryBuilder.toString(); @@ -143,7 +143,7 @@ public class NodeRepository { queryBuilder.append(" AND node.is_deprecated = FALSE"); } if (filter != null) { - queryBuilder.append(" AND (node.name LIKE ? OR node.address LIKE ? OR country.iso_code LIKE ?)"); + queryBuilder.append(" AND (node.name LIKE ? OR node.external_mapping_id LIKE ? OR node.address LIKE ? OR country.iso_code LIKE ?)"); } queryBuilder.append(" ORDER BY node.id LIMIT ? OFFSET ?"); return queryBuilder.toString();