protected String getQuery( final ResourceCond cond, final boolean not, final List<Object> parameters, final SearchSupport svs) { StringBuilder query = new StringBuilder("SELECT DISTINCT any_id FROM "). append(svs.field().name).append(" WHERE "); if (not) { query.append("any_id NOT IN ("); } else { query.append("any_id IN ("); } query.append("SELECT DISTINCT any_id FROM "). append(svs.resource().name). append(" WHERE resource_id=?"). append(setParameter(parameters, cond.getResourceKey())); if (svs.anyTypeKind == AnyTypeKind.USER) { query.append(" UNION SELECT DISTINCT any_id FROM "). append(svs.groupResource().name). append(" WHERE resource_id=?"). append(setParameter(parameters, cond.getResourceKey())); } query.append(')'); return query.toString(); }
ResourceCond resourceCond = new ResourceCond(); resourceCond.setResourceKey(value); leaf = SearchCond.getLeafCond(resourceCond); break;
&& (roleCond == null || roleCond.isValid()) && (privilegeCond == null || privilegeCond.isValid()) && (resourceCond == null || resourceCond.isValid()) && (memberCond == null || memberCond.isValid()); break;