From 18558835bcce44c50da86cdfd399589a2b614f00 Mon Sep 17 00:00:00 2001 From: Ishika Pradhan Date: Sun, 9 Aug 2020 10:56:06 +0545 Subject: [PATCH] Feature: Added Inventory Filter --- .../repository/spec/InventorySpec.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/pemits-api/src/main/java/com/pemits/webcare/api/inventory/repository/spec/InventorySpec.java b/pemits-api/src/main/java/com/pemits/webcare/api/inventory/repository/spec/InventorySpec.java index 3619afb..ba9b414 100644 --- a/pemits-api/src/main/java/com/pemits/webcare/api/inventory/repository/spec/InventorySpec.java +++ b/pemits-api/src/main/java/com/pemits/webcare/api/inventory/repository/spec/InventorySpec.java @@ -1,19 +1,22 @@ package com.pemits.webcare.api.inventory.repository.spec; -import com.pemits.webcare.api.inventory.entity.Inventory; -import org.springframework.data.jpa.domain.Specification; - import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; +import org.springframework.data.jpa.domain.Specification; + +import com.pemits.webcare.api.inventory.entity.Inventory; + /** * @Author Mohammad Hussain * created on 6/29/2020 */ public class InventorySpec implements Specification { + private static final String FILTER_BY_NAME = "name"; + private final String property; private final String value; @@ -25,7 +28,12 @@ public InventorySpec(String property, String value) { @Override public Predicate toPredicate(Root root, CriteriaQuery query, - CriteriaBuilder criteriaBuilder) { - return null; + CriteriaBuilder criteriaBuilder) { + switch (property) { + case FILTER_BY_NAME: + return criteriaBuilder.like(root.get(FILTER_BY_NAME), "%" + value + "%"); + default: + return null; + } } }