Advertisement
Guest User

Untitled

a guest
Apr 24th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. @Test
  2. public void spesificationOrganizationTest() {
  3. PageUtils pageUtils = new PageUtils();
  4.  
  5. String orderBy = "id";
  6. String sortBy = "ASC";
  7. int page = 1;
  8. int size = 5;
  9.  
  10. String params = "structureLevel:PROVINSI,structureCode02:PWNU";
  11.  
  12. for (Status status : Status.values()){
  13. if(status.name().equalsIgnoreCase("DELETE"))
  14. System.out.println("Benar");
  15. }
  16.  
  17. BaseSpecificationBuilder<Organization> builder = new BaseSpecificationBuilder();
  18.  
  19. Pattern pattern = Pattern.compile("(\\w+?)(<|:|>)(\\w+?),", Pattern.UNICODE_CHARACTER_CLASS);
  20. Matcher matcher = pattern.matcher(params + ",");
  21. while (matcher.find()) {
  22. logger.info(matcher.group(1)+" "+ matcher.group(2)+" "+matcher.group(3));
  23. builder.with(matcher.group(1), matcher.group(2), matcher.group(3));
  24. }
  25.  
  26. Specification<Organization> specification = new Specification<Organization>() {
  27. @Override
  28. public Predicate toPredicate(Root<Organization> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
  29. List<String> list = new ArrayList<>();
  30. list.add("ACEH");
  31. Join join = root.join("organizationInfo");//.get("name").in("PWNU ACEH");
  32. return join.get("name").in(list);
  33. }
  34. };
  35.  
  36. BaseSpecification<Organization> deleteSpec = new BaseSpecification(new SearchCriteria("status", ":", Status.DELETE));
  37. BaseSpecification<Organization> searchByName = new BaseSpecification(new SearchCriteria("organizationInfo.name", ":", "ACEH"));
  38. Specification<Organization> organizationSpecification = builder.build().and(Specification.not(deleteSpec)).and(specification).and(searchByName);
  39. Page<Organization> organizationPage = organizationService.findAllSpesification(organizationSpecification, pageUtils.pagingAndSorting(orderBy, sortBy, page-1, size));
  40.  
  41. List<Organization> organizationList = organizationPage.getContent();
  42. logger.info("Organization length: "+organizationList.size());
  43.  
  44. for (Organization org: organizationList)
  45. logger.info(org.getOrganizationInfo().toString());
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement