? builder.hasResources(searchClauses.get(i).getProperty())
: builder.hasNotResources(searchClauses.get(i).getProperty());
break;
case ATTRIBUTE:
SyncopeProperty property = builder.is(searchClauses.get(i).getProperty());
switch (searchClauses.get(i).getComparator()) {
case IS_NULL:
condition = builder.isNull(searchClauses.get(i).getProperty());
break;
case IS_NOT_NULL:
condition = builder.isNotNull(searchClauses.get(i).getProperty());
break;
case LESS_THAN:
condition = StringUtils.isNumeric(searchClauses.get(i).getProperty())
? property.lessThan(NumberUtils.toDouble(searchClauses.get(i).getValue()))
: property.lexicalBefore(searchClauses.get(i).getValue());
break;
case LESS_OR_EQUALS:
condition = StringUtils.isNumeric(searchClauses.get(i).getProperty())
? property.lessOrEqualTo(NumberUtils.toDouble(searchClauses.get(i).getValue()))
: property.lexicalNotAfter(searchClauses.get(i).getValue());
break;
case GREATER_THAN:
condition = StringUtils.isNumeric(searchClauses.get(i).getProperty())
? property.greaterThan(NumberUtils.toDouble(searchClauses.get(i).getValue()))
: property.lexicalAfter(searchClauses.get(i).getValue());
break;
case GREATER_OR_EQUALS:
condition = StringUtils.isNumeric(searchClauses.get(i).getProperty())
? property.greaterOrEqualTo(NumberUtils.toDouble(searchClauses.get(i).getValue()))
: property.lexicalNotBefore(searchClauses.get(i).getValue());
break;
case NOT_EQUALS:
condition = property.notEqualTo(searchClauses.get(i).getValue());
break;
case EQUALS:
default:
condition = property.equalTo(searchClauses.get(i).getValue());
break;
}
default:
break;
}