public String execute() throws Exception { if (getArguments().size() < 3) throw new IllegalArgumentException("[" + name + ", missing arguments]"); String requiredStr = getArgument(0); boolean isRequired = false; if (ARGUMENT_REQUIRED.equalsIgnoreCase(requiredStr)) isRequired = true; else if (ARGUMENT_OPTIONAL.equalsIgnoreCase(requiredStr)) isRequired = false; else throw new IllegalArgumentException("[" + name + ", argument " + requiredStr + " is not allowed. Expected: required or optional]"); String sqlColumn = getArgument(1); if (StringUtils.isBlank(sqlColumn)) { throw new IllegalArgumentException("[" + name + ", argument sqlColumn cannot be empty]"); } filterPropertyId = getArgument(2); if (StringUtils.isBlank(filterPropertyId)) { filterPropertyId = sqlColumn.toLowerCase(); } if (dataFilter != null) { String[] filterProperties = dataFilter.getPropertyIds(); for (int i = 0; i < filterProperties.length; i++) { String filterProperty = filterProperties[i]; if (filterPropertyId.equals(filterProperty)) { SQLFilterByCriteria filter = new SQLFilterByCriteria(dataFilter); filterWhereStatement = filter.SQL_getWhereClause(filterPropertyId, sqlColumn, false, true); return getPreparedStatementFragment(); } } } // If code gets this line, filter property doesn't exist on filter. if (isRequired) return "1 != 1"; else return "1 = 1"; }
String[] filterPropertyIds = filter.getPropertyIds(); if (filterPropertyIds.length == 0) return null; String[] remainingPropIds = filter.getPropertyIds(); for (String propId : remainingPropIds) { if (getPropertyById(propId) == null) {