private void setFilter(IdNameFilter filter, Long id, String name, Boolean includeDefault) { if (id != null && name != null) { throw new IllegalArgumentException( "Id and name can't be both defined (id:" + id + " name:" + name + ")"); } if (id != null) { filter.setId(id); if (includeDefault != null) { filter.setIncludeDefault(includeDefault); } } else if (name != null) { filter.setName(name); if (includeDefault != null) { filter.setIncludeDefault(includeDefault); } } else { if (includeDefault != null && includeDefault) { filter.setType(SpecialFilterType.DEFAULT); } else { filter.setType(SpecialFilterType.ANY); } } }
switch (filter.getType()) { case ANY: break; // no filtering if(filter.isIncludeDefault()) { searchCriteria.addFilterOr( Filter.isNull(fieldName), Filter.equal(fieldName + ".id", filter.getId())); } else { searchCriteria.addFilter( Filter.equal(fieldName + ".id", filter.getId())); if(filter.isIncludeDefault()) { searchCriteria.addFilterOr( Filter.isNull(fieldName), Filter.equal(fieldName + ".name", filter.getName())); } else { searchCriteria.addFilter( Filter.equal(fieldName + ".name", filter.getName()));
switch (filter.getType()) { case ANY: throw new BadRequestServiceEx(fieldName + " should be a fixed search and can't be ANY"); if(filter.isIncludeDefault()) { throw new BadRequestServiceEx(fieldName + " should be a fixed search"); } else { searchCriteria.addFilter( Filter.equal(fieldName + ".id", filter.getId())); if(filter.isIncludeDefault()) { throw new BadRequestServiceEx(fieldName + " should be a fixed search"); Filter.equal(fieldName + ".name", filter.getName()));
@Override public Response delete(Long id, boolean cascade) throws ConflictRestEx, NotFoundRestEx, InternalErrorRestEx { try { if ( cascade ) { ruleAdminService.deleteRulesByInstance(id); } else { RuleFilter filter = new RuleFilter(SpecialFilterType.ANY); filter.setInstance(id); filter.getInstance().setIncludeDefault(false); long cnt = ruleAdminService.count(filter); if ( cnt > 0 ) { throw new ConflictRestEx("Existing rules reference the GSInstance " + id); } } if ( ! instanceAdminService.delete(id)) { LOGGER.warn("GSInstance not found: " + id); throw new NotFoundRestEx("GSInstance not found: " + id); } return Response.status(Status.OK).entity("OK\n").build(); } catch (GeoFenceRestEx ex) { // already handled throw ex; } catch (NotFoundServiceEx ex) { LOGGER.warn("GSInstance not found: " + id); throw new NotFoundRestEx("GSInstance not found: " + id); } catch (Exception ex) { LOGGER.error(ex.getMessage(), ex); throw new InternalErrorRestEx(ex.getMessage()); } }
private void addCriteria(Search searchCriteria, String fieldName, IdNameFilter filter) { switch (filter.getType()) { case ANY: break; // no filtering case DEFAULT: searchCriteria.addFilterNull(fieldName); break; case IDVALUE: searchCriteria.addFilterOr( Filter.isNull(fieldName), Filter.equal(fieldName + ".id", filter.getId())); break; case NAMEVALUE: searchCriteria.addFilterOr( Filter.isNull(fieldName), Filter.equal(fieldName + ".name", filter.getName())); break; default: throw new AssertionError(); } }
private void setFilter(IdNameFilter filter, Long id, String name, Boolean includeDefault) throws BadRequestRestEx { if (id != null && name != null) { throw new BadRequestRestEx("Id and name can't be both defined (id:" + id + " name:" + name + ")"); } if (id != null) { filter.setId(id); if (includeDefault != null) { filter.setIncludeDefault(includeDefault); } } else if (name != null) { filter.setName(name); if (includeDefault != null) { filter.setIncludeDefault(includeDefault); } } else { if (includeDefault != null && includeDefault) { filter.setType(SpecialFilterType.DEFAULT); } else { filter.setType(SpecialFilterType.ANY); } } }
public RuleFilter(SpecialFilterType type, boolean includeDefault) { FilterType ft = type.getRelatedType(); user = new TextFilter(ft); user.setIncludeDefault(includeDefault); role = new TextFilter(ft); role.setIncludeDefault(includeDefault); instance = new IdNameFilter(ft, includeDefault); sourceAddress = new TextFilter(ft); sourceAddress.setIncludeDefault(includeDefault); service = new TextFilter(ft, true); service.setIncludeDefault(includeDefault); request = new TextFilter(ft, true); request.setIncludeDefault(includeDefault); workspace = new TextFilter(ft); workspace.setIncludeDefault(includeDefault); layer = new TextFilter(ft); layer.setIncludeDefault(includeDefault); }
private void setFilter(IdNameFilter filter, Long id, String name, Boolean includeDefault) throws BadRequestRestEx { if (id != null && name != null) { throw new BadRequestRestEx("Id and name can't be both defined (id:" + id + " name:" + name + ")"); } if (id != null) { filter.setId(id); if (includeDefault != null) { filter.setIncludeDefault(includeDefault); } } else if (name != null) { filter.setName(name); if (includeDefault != null) { filter.setIncludeDefault(includeDefault); } } else { if (includeDefault != null && includeDefault) { filter.setType(SpecialFilterType.DEFAULT); } else { filter.setType(SpecialFilterType.ANY); } } }
/** * Creates a RuleFilter by setting all fields filtering either to ANY or DEFAULT. <BR> * If no other field is set, you will get <UL> * <LI>with <B>ANY</B>, all Rules will be returned</LI> * <LI>with <B>DEFAULT</B>, only the default Rule will be returned</LI> * </UL> */ public RuleFilter(SpecialFilterType type) { FilterType ft = type.getRelatedType(); user = new TextFilter(ft); role = new TextFilter(ft); instance = new IdNameFilter(ft); sourceAddress = new TextFilter(ft); service = new TextFilter(ft, true); request = new TextFilter(ft, true); workspace = new TextFilter(ft); layer = new TextFilter(ft); }
public RuleFilter(SpecialFilterType type, boolean includeDefault) { FilterType ft = type.getRelatedType(); user = new TextFilter(ft); user.setIncludeDefault(includeDefault); role = new TextFilter(ft); role.setIncludeDefault(includeDefault); instance = new IdNameFilter(ft, includeDefault); sourceAddress = new TextFilter(ft); sourceAddress.setIncludeDefault(includeDefault); service = new TextFilter(ft, true); service.setIncludeDefault(includeDefault); request = new TextFilter(ft, true); request.setIncludeDefault(includeDefault); workspace = new TextFilter(ft); workspace.setIncludeDefault(includeDefault); layer = new TextFilter(ft); layer.setIncludeDefault(includeDefault); }
/** * Creates a RuleFilter by setting all fields filtering either to ANY or DEFAULT. <BR> * If no other field is set, you will get <UL> * <LI>with <B>ANY</B>, all Rules will be returned</LI> * <LI>with <B>DEFAULT</B>, only the default Rule will be returned</LI> * </UL> */ public RuleFilter(SpecialFilterType type) { FilterType ft = type.getRelatedType(); user = new TextFilter(ft); role = new TextFilter(ft); instance = new IdNameFilter(ft); sourceAddress = new TextFilter(ft); service = new TextFilter(ft, true); request = new TextFilter(ft, true); workspace = new TextFilter(ft); layer = new TextFilter(ft); }
public IdNameFilter(long id) { setId(id); }
public RuleFilter setInstance(SpecialFilterType type) { instance.setType(type); return this; }
public IdNameFilter(long id, boolean includeDefault) { setId(id); this.includeDefault = includeDefault; }
public RuleFilter setInstance(Long id) { instance.setId(id); return this; }
public IdNameFilter(long id) { setId(id); }
public IdNameFilter(String name, boolean includeDefault) { setName(name); this.includeDefault = includeDefault; }
public RuleFilter setInstance(String name) { instance.setName(name); return this; }
public IdNameFilter(long id, boolean includeDefault) { setId(id); this.includeDefault = includeDefault; }