public ShortAdminRule newRule() { ShortAdminRule rule = new ShortAdminRule(); rule.setAccess(AdminGrantType.USER); rule.setPriority(0); return rule; }
protected static void syncRule(ShortAdminRule shortRule, AdminRule rule) { rule.setPriority(shortRule.getPriority()); rule.setUsername(shortRule.getUserName()); rule.setRolename(shortRule.getRoleName()); rule.setWorkspace(shortRule.getWorkspace()); rule.setAccess(shortRule.getAccess()); } }
protected void swap(ShortAdminRule rule, ShortAdminRule otherRule) { long p = otherRule.getPriority(); otherRule.setPriority(rule.getPriority()); rule.setPriority(p); adminService().swap(rule.getId(), otherRule.getId()); }
protected void shiftIfNecessary(long priority, ShortAdminRule keep) { boolean necessary = false; for (ShortAdminRule rule : rules) { if (rule.getPriority() == priority) { necessary = true; continue; } } if (necessary) { for (ShortAdminRule rule : rules) { if (rule.getPriority() >= priority && rule != keep) { rule.setPriority(rule.getPriority() + 1); } } adminService().shift(priority, 1); } }
public ShortAdminRule(AdminRule rule) { setId(rule.getId()); setPriority(rule.getPriority()); setUserName(rule.getUsername()); setRoleName(rule.getRolename()); if (rule.getInstance() != null) { setInstanceId(rule.getInstance().getId()); setInstanceName(rule.getInstance().getName()); } setWorkspace(rule.getWorkspace()); setAccess(rule.getAccess()); }
public void save(ShortAdminRule rule) { if (rule.getId() == null) { shiftIfNecessary(rule.getPriority(), rule); int i = 0; while (i < rules.size() && rules.get(i).getPriority() < rule.getPriority()) { i++; } rules.add(i, rule); AdminRule bigRule = new AdminRule(); syncRule(rule, bigRule); rule.setId(adminService().insert(bigRule)); } else { AdminRule bigRule = adminService().get(rule.getId()); if (bigRule.getPriority() != rule.getPriority()) { shiftIfNecessary(rule.getPriority(), rule); } syncRule(rule, bigRule); adminService().update(bigRule); } }
private List<ShortAdminRule> convertToShortList(List<AdminRule> list) { List<ShortAdminRule> shortList = new ArrayList(list.size()); for (AdminRule rule : list) { shortList.add(new ShortAdminRule(rule)); } return shortList; }
@Override protected void onUpdate(AjaxRequestTarget target) { userChoice.setChoices(getUserNames(roleChoice.getConvertedInput())); form.getModelObject().setUserName(null); userChoice.modelChanged(); target.add(userChoice); } });
public void remove(Collection<ShortAdminRule> selected) { rules.removeAll(selected); for (ShortAdminRule rule : selected) { adminService().delete(rule.getId()); } }
roleChoice.setNullValid(true); form.add(userChoice = new DropDownChoice<>("userName", getUserNames(rule.getRoleName()))); userChoice.setOutputMarkupId(true); userChoice.setNullValid(true);
public ShortAdminRule(AdminRule rule) { setId(rule.getId()); setPriority(rule.getPriority()); setUserName(rule.getUsername()); setRoleName(rule.getRolename()); if (rule.getInstance() != null) { setInstanceId(rule.getInstance().getId()); setInstanceName(rule.getInstance().getName()); } setWorkspace(rule.getWorkspace()); setAccess(rule.getAccess()); }
@Override public ShortAdminRule getRule(RuleFilter filter) throws BadRequestServiceEx { Search searchCriteria = buildFixedRuleSearch(filter); List<AdminRule> found = ruleDAO.search(searchCriteria); if(found.isEmpty()) return null; if(found.size() > 1) { LOGGER.error("Unexpected rule count for filter " + filter + " : " + found); } return new ShortAdminRule(found.get(0)); }
@RequestMapping(value = "/adminrules/id/{id}", method = RequestMethod.POST) public @ResponseStatus(HttpStatus.OK) void update( @PathVariable("id") Long id, @RequestBody JaxbAdminRule rule) { if (rule.getPriority() != null) { ShortAdminRule priorityRule = adminService.getRuleByPriority(rule.getPriority()); if (priorityRule != null && priorityRule.getId().longValue() != id) { adminService.shift(rule.getPriority(), 1); } } adminService.update(rule.toRule(adminService.get(id))); }
public void onDrop( AjaxRequestTarget target, Transfer transfer, Location location) { if (location == null || !(location.getComponent().getDefaultModel().getObject() instanceof ShortAdminRule)) { return; } ShortAdminRule movedRule = transfer.getData(); ShortAdminRule targetRule = (ShortAdminRule) location.getComponent().getDefaultModel().getObject(); if (movedRule.getId().equals(targetRule.getId())) { return; } if (movedRule.getPriority() < targetRule.getPriority()) { movedRule.setPriority(targetRule.getPriority() + 1); } else { movedRule.setPriority(targetRule.getPriority()); } rulesModel.save(movedRule); doReturn(GeofenceServerAdminPage.class); } }.dropCenter("tr"));
@Override public ShortAdminRule getRuleByPriority(long priority) throws BadRequestServiceEx { Search searchCriteria = new Search(AdminRule.class); searchCriteria.addFilter(Filter.equal("priority", priority)); List<AdminRule> found = ruleDAO.search(searchCriteria); if(found.isEmpty()) return null; if(found.size() > 1) { LOGGER.error("Unexpected rule count for priority " + priority + " : " + found); } return new ShortAdminRule(found.get(0)); }