Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Test
- public void spesificationOrganizationTest() {
- PageUtils pageUtils = new PageUtils();
- String orderBy = "id";
- String sortBy = "ASC";
- int page = 1;
- int size = 5;
- String params = "structureLevel:PROVINSI,structureCode02:PWNU";
- for (Status status : Status.values()){
- if(status.name().equalsIgnoreCase("DELETE"))
- System.out.println("Benar");
- }
- BaseSpecificationBuilder<Organization> builder = new BaseSpecificationBuilder();
- Pattern pattern = Pattern.compile("(\\w+?)(<|:|>)(\\w+?),", Pattern.UNICODE_CHARACTER_CLASS);
- Matcher matcher = pattern.matcher(params + ",");
- while (matcher.find()) {
- logger.info(matcher.group(1)+" "+ matcher.group(2)+" "+matcher.group(3));
- builder.with(matcher.group(1), matcher.group(2), matcher.group(3));
- }
- Specification<Organization> specification = new Specification<Organization>() {
- @Override
- public Predicate toPredicate(Root<Organization> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
- List<String> list = new ArrayList<>();
- list.add("ACEH");
- Join join = root.join("organizationInfo");//.get("name").in("PWNU ACEH");
- return join.get("name").in(list);
- }
- };
- BaseSpecification<Organization> deleteSpec = new BaseSpecification(new SearchCriteria("status", ":", Status.DELETE));
- BaseSpecification<Organization> searchByName = new BaseSpecification(new SearchCriteria("organizationInfo.name", ":", "ACEH"));
- Specification<Organization> organizationSpecification = builder.build().and(Specification.not(deleteSpec)).and(specification).and(searchByName);
- Page<Organization> organizationPage = organizationService.findAllSpesification(organizationSpecification, pageUtils.pagingAndSorting(orderBy, sortBy, page-1, size));
- List<Organization> organizationList = organizationPage.getContent();
- logger.info("Organization length: "+organizationList.size());
- for (Organization org: organizationList)
- logger.info(org.getOrganizationInfo().toString());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement