Advertisement
Guest User

Untitled

a guest
Aug 25th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.78 KB | None | 0 0
  1.     // До него должне быть хелпер для типов правил. Работа его по такой логике
  2.     // есть разрешающие права, независимо от запрещающих [true,false]
  3.     // нет разрешающих, но есть запрещающие [false]
  4.     // нет разрешающих и запрещающих []
  5.     //Фильтр для платформ
  6.     public Collection<PlatformEntity> filterForHelperPlatform(Long firmId, Boolean ruleType, Collection<PlatformEntity> platformEntities) {
  7.  
  8.         Collection<FirmPermissionsEntity> firmPermissionsEntities = firmPermissionsRepository.findOneEffectiveByfirmId(firmId);
  9.  
  10.         Collection<PlatformEntity> result = new HashSet<>();
  11.  
  12.         int fl = 0;
  13.         for (FirmPermissionsEntity f : firmPermissionsEntities) { //проверка на то, есть ли у фирмы запрещающие правила
  14.             if (f.getRuleType() == false) {
  15.                 fl++;
  16.                 break;
  17.             }
  18.  
  19.         }
  20.  
  21.         if (firmPermissionsEntities.size() != 0) {
  22.             for (PlatformEntity p : platformEntities) {
  23.                 for (FirmPermissionsEntity f : firmPermissionsEntities) {
  24.                     if (ruleType == true) {
  25.                         if (f.getRuleType() == true) {
  26.                             if (p.getId() == f.getPlatformEntity().getId() || f.getPlatformEntity().getId() == 1)
  27.                                 if (!result.contains(p))
  28.                                     result.add(p);// не превысило права фирмы
  29.                         } else {
  30.                             if (p.getId() == f.getPlatformEntity().getId() || f.getPlatformEntity().getId() == 1)
  31.                                 if (result.contains(p))
  32.                                     result.remove(p);// попало в число запрещенных
  33.                         }
  34.                     } else {
  35.                         if (fl == 0) {//нет запрещающих прав
  36.                             if (p.getId() == f.getPlatformEntity().getId() || f.getPlatformEntity().getId() == 1)
  37.                                 if (!result.contains(p))
  38.                                     result.add(p);//не превысило права фирмы, можем запретить
  39.                         } else {//есть запрещающие права
  40.                             if (f.getRuleType() == false) {
  41.                                 if (p.getId() == f.getPlatformEntity().getId() || p.getId() == 1)
  42.                                     result.add(p);
  43.                             }
  44.                         }
  45.                     }
  46.                 }
  47.             }
  48.         }
  49.         return result;
  50.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement