protected void swap(ShortRule rule, ShortRule otherRule) { // local long p = otherRule.getPriority(); otherRule.setPriority(rule.getPriority()); rule.setPriority(p); // db adminService().swap(rule.getId(), otherRule.getId()); }
public ShortRule(Rule 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()); } setService(rule.getService()); setRequest(rule.getRequest()); setWorkspace(rule.getWorkspace()); setLayer(rule.getLayer()); setAccess(rule.getAccess()); }
public ShortRule newRule() { ShortRule rule = new ShortRule(); rule.setAccess(GrantType.ALLOW); rule.setPriority(0); return rule; }
protected void shiftIfNecessary(long priority, ShortRule keep) { // detect if necessary boolean necessary = false; for (ShortRule rule : rules) { if (rule.getPriority() == priority) { necessary = true; continue; } } if (necessary) { // local for (ShortRule rule : rules) { if (rule.getPriority() >= priority && rule != keep) { rule.setPriority(rule.getPriority() + 1); } } // db adminService().shift(priority, 1); } }
protected static void syncRule(ShortRule shortRule, Rule rule) { rule.setPriority(shortRule.getPriority()); rule.setUsername(shortRule.getUserName()); rule.setRolename(shortRule.getRoleName()); rule.setService(shortRule.getService()); rule.setRequest(shortRule.getRequest()); rule.setWorkspace(shortRule.getWorkspace()); rule.setLayer(shortRule.getLayer()); rule.setAccess(shortRule.getAccess()); }
public void remove(Collection<ShortRule> selected) { // local rules.removeAll(selected); // db for (ShortRule rule : selected) { adminService().delete(rule.getId()); } }
public void save(ShortRule rule) { if (rule.getId() == null) { shiftIfNecessary(rule.getPriority(), rule); // local int i = 0; while (i < rules.size() && rules.get(i).getPriority() < rule.getPriority()) { i++; } rules.add(i, rule); // db Rule bigRule = new Rule(); syncRule(rule, bigRule); rule.setId(adminService().insert(bigRule)); } else { // db Rule bigRule = adminService().get(rule.getId()); if (bigRule.getPriority() != rule.getPriority()) { shiftIfNecessary(rule.getPriority(), rule); } syncRule(rule, bigRule); adminService().update(bigRule); } }
rule1.setUserName("pipo"); model.save(rule1); rule2.setUserName("jantje"); model.save(rule2); rule3.setUserName("oen"); model.save(rule3); assertEquals(rule3, model.getItems().get(0)); assertEquals(0, rule3.getPriority()); assertEquals(1, rule2.getPriority()); assertEquals(2, rule1.getPriority()); assertEquals(rule2, model.getItems().get(2)); assertEquals(0, rule3.getPriority()); assertEquals(1, rule1.getPriority()); assertEquals(2, rule2.getPriority()); rule2.setService("WFS"); model.save(rule2); model.remove(Arrays.asList(rule1, rule3));
fullRule = geofenceRemoteService.getRuleAdminService().get(shortRule.getId()); } catch (NotFoundServiceEx e) { if (logger.isErrorEnabled()) { logger.error("Details for rule " + shortRule.getPriority() + " not found on Server!"); + shortRule.getPriority() + " not found on Server!"); ruleDTO.setId(shortRule.getId()); ruleDTO.setPriority(fullRule.getPriority());
try { rules.save(ruleFormData.rule); if (ruleFormData.rule.getAccess().equals(GrantType.LIMIT)) { rules.save( ruleFormData.rule.getId(), parseAllowedArea(ruleFormData.allowedArea), ruleFormData.catalogMode); ruleFormData.layerDetails.defaultStyle); layerDetails.setType((ruleFormData.layerDetails.layerType)); rules.save(ruleFormData.rule.getId(), layerDetails); } else { rules.save(ruleFormData.rule.getId(), (LayerDetails) null);
private List<ShortRule> convertToShortList(List<Rule> list) { List<ShortRule> shortList = new ArrayList<>(list.size()); for (Rule rule : list) { shortList.add(new ShortRule(rule)); } return shortList; }
@Override protected void onUpdate(AjaxRequestTarget target) { userChoice.setChoices(getUserNames(roleChoice.getConvertedInput())); form.getModelObject().rule.setUserName(null); userChoice.modelChanged(); target.add(userChoice); } });
@Override protected void onUpdate(AjaxRequestTarget target) { requestChoice.setChoices( getOperationNames(serviceChoice.getConvertedInput())); form.getModelObject().rule.setRequest(null); requestChoice.modelChanged(); target.add(requestChoice); } });
@Override protected void onUpdate(AjaxRequestTarget target) { layerChoice.setChoices( getLayerNames(workspaceChoice.getConvertedInput())); form.getModelObject().rule.setLayer(null); layerChoice.modelChanged(); target.add(layerChoice); } });
public void removeAllRules() throws NotFoundServiceEx { List<ShortRule> list = ruleAdminService.getAll(); for (ShortRule item : list) { LOGGER.warn("Removing " + item); boolean ret = ruleAdminService.delete(item.getId()); if ( !ret ) { LOGGER.error("Could not remove " + item); } } long count = ruleAdminService.getCountAll(); if ( count > 0 ) { LOGGER.error("Items not removed"); } }
private List<ShortRule> convertToShortList(List<Rule> list) { List<ShortRule> shortList = new ArrayList<ShortRule>(list.size()); for (Rule rule : list) { shortList.add(new ShortRule(rule)); } return shortList; }
public ShortRule(Rule 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()); } setService(rule.getService()); setRequest(rule.getRequest()); setWorkspace(rule.getWorkspace()); setLayer(rule.getLayer()); setAccess(rule.getAccess()); }
public void onDrop( AjaxRequestTarget target, Transfer transfer, Location location) { if (location == null || !(location.getComponent().getDefaultModel().getObject() instanceof ShortRule)) { return; } ShortRule movedRule = transfer.getData(); ShortRule targetRule = (ShortRule) 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(GeofenceServerPage.class); } }.dropCenter("tr"));
@RequestMapping(value = "/rules/id/{id}", method = RequestMethod.POST) public @ResponseStatus(HttpStatus.OK) void update( @PathVariable("id") Long id, @RequestBody JaxbRule rule) { if (rule.getPriority() != null) { ShortRule priorityRule = adminService.getRuleByPriority(rule.getPriority().longValue()); if (priorityRule != null && priorityRule.getId() != id) { adminService.shift(rule.getPriority().longValue(), 1); } } Rule theRule = adminService.get(id); adminService.update(rule.toRule(theRule)); if (rule.getLimits() != null) { adminService.setLimits(id, rule.getLimits().toRuleLimits(theRule.getRuleLimits())); } if (rule.getLayerDetails() != null) { adminService.setDetails( id, rule.getLayerDetails().toLayerDetails(theRule.getLayerDetails())); } }
@Override public ShortRule getRule(RuleFilter filter) throws BadRequestServiceEx { Search searchCriteria = buildFixedRuleSearch(filter); List<Rule> found = ruleDAO.search(searchCriteria); if(found.isEmpty()) return null; if(found.size() > 1) { LOGGER.error("Unexpected rule count for filter " + filter + " : " + found); } return new ShortRule(found.get(0)); }