public boolean supportsType(ColumnType type) { if (TIME_FRAME.equals(this)) { return ColumnType.DATE.equals(type); } if (LIKE_TO.equals(this)) { return ColumnType.LABEL.equals(type) || ColumnType.TEXT.equals(type); } if (IN.equals(this) || NOT_IN.equals(this)) { return !ColumnType.DATE.equals(type); } return true; }
public boolean supportsType(ColumnType type) { if (TIME_FRAME.equals(this)) { return ColumnType.DATE.equals(type); } if (LIKE_TO.equals(this)) { return ColumnType.LABEL.equals(type) || ColumnType.TEXT.equals(type); } if (IN.equals(this) || NOT_IN.equals(this)) { return !ColumnType.DATE.equals(type); } return true; }
public boolean equals(Object obj) { try { CoreFunctionFilter other = (CoreFunctionFilter) obj; if (!super.equals(other)) { return false; } if (type != null && !type.equals(other.type)) { return false; } if (parameters.size() != other.parameters.size()) { return false; } for (int i=0; i<parameters.size(); i++) { if (!parameters.get(i).equals(other.parameters.get(i))) { return false; } } return true; } catch (ClassCastException e) { return false; } } }
public boolean equals(Object obj) { try { CoreFunctionFilter other = (CoreFunctionFilter) obj; if (!super.equals(other)) { return false; } if (type != null && !type.equals(other.type)) { return false; } if (parameters.size() != other.parameters.size()) { return false; } for (int i=0; i<parameters.size(); i++) { if (!parameters.get(i).equals(other.parameters.get(i))) { return false; } } return true; } catch (ClassCastException e) { return false; } } }
protected List<CoreFunctionType> getAvailableFunctions(CoreFunctionFilter coreFilter) { ColumnType columnType = metadata.getColumnType(coreFilter.getColumnId()); List<CoreFunctionType> functionTypes = CoreFunctionType.getSupportedTypes(columnType); Iterator<CoreFunctionType> it = functionTypes.iterator(); while (it.hasNext()) { CoreFunctionType next = it.next(); if (next.equals(coreFilter.getType())) { it.remove(); } } return functionTypes; }
protected List<CoreFunctionType> getAvailableFunctions(CoreFunctionFilter coreFilter) { ColumnType columnType = metadata.getColumnType(coreFilter.getColumnId()); List<CoreFunctionType> functionTypes = CoreFunctionType.getSupportedTypes(columnType); Iterator<CoreFunctionType> it = functionTypes.iterator(); while (it.hasNext()) { CoreFunctionType next = it.next(); if (next.equals(coreFilter.getType())) { it.remove(); } } return functionTypes; }
public static List createParameters(ColumnType columnType, CoreFunctionType functionType) { List result = new ArrayList(); if (CoreFunctionType.LIKE_TO.equals(functionType)) { result.add("%Text%"); result.add(true); return result; } int n = functionType.getParametersCount(); for (int i=0; i<n; i++) { if (ColumnType.NUMBER.equals(columnType)) { result.add(100000d * i); } else if (ColumnType.DATE.equals(columnType)) { if (CoreFunctionType.TIME_FRAME.equals(functionType)) { result.add("begin[year] till end[year]"); } else { Date d = new Date(); d.setYear(d.getYear()-n+i+1); result.add(d); } } else { result.add("value" + (i + 1)); } } return result; }
public static List createParameters(ColumnType columnType, CoreFunctionType functionType) { List result = new ArrayList(); if (CoreFunctionType.LIKE_TO.equals(functionType)) { result.add("%Text%"); result.add(true); return result; } int n = functionType.getParametersCount(); for (int i=0; i<n; i++) { if (ColumnType.NUMBER.equals(columnType)) { result.add(100000d * i); } else if (ColumnType.DATE.equals(columnType)) { if (CoreFunctionType.TIME_FRAME.equals(functionType)) { result.add("begin[year] till end[year]"); } else { Date d = new Date(); d.setYear(d.getYear()-n+i+1); result.add(d); } } else { result.add("value" + (i + 1)); } } return result; }
public String toString() { StringBuilder out = new StringBuilder(); if (CoreFunctionType.BETWEEN.equals(type)) { out.append(columnId).append(" between ("); appendParameters(out); out.append(")"); else if (CoreFunctionType.GREATER_THAN.equals(type)) { out.append(columnId).append(" > "); appendParameters(out); else if (CoreFunctionType.GREATER_OR_EQUALS_TO.equals(type)) { out.append(columnId).append(" >= "); appendParameters(out); else if (CoreFunctionType.LOWER_THAN.equals(type)) { out.append(columnId).append(" < "); appendParameters(out); else if (CoreFunctionType.LOWER_OR_EQUALS_TO.equals(type)) { out.append(columnId).append(" <= "); appendParameters(out); else if (CoreFunctionType.EQUALS_TO.equals(type)) { out.append(columnId).append(" = "); appendParameters(out); else if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { out.append(columnId).append(" != "); appendParameters(out);
public String toString() { StringBuilder out = new StringBuilder(); if (CoreFunctionType.BETWEEN.equals(type)) { out.append(columnId).append(" between ("); appendParameters(out); out.append(")"); else if (CoreFunctionType.GREATER_THAN.equals(type)) { out.append(columnId).append(" > "); appendParameters(out); else if (CoreFunctionType.GREATER_OR_EQUALS_TO.equals(type)) { out.append(columnId).append(" >= "); appendParameters(out); else if (CoreFunctionType.LOWER_THAN.equals(type)) { out.append(columnId).append(" < "); appendParameters(out); else if (CoreFunctionType.LOWER_OR_EQUALS_TO.equals(type)) { out.append(columnId).append(" <= "); appendParameters(out); else if (CoreFunctionType.EQUALS_TO.equals(type)) { out.append(columnId).append(" = "); appendParameters(out); else if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { out.append(columnId).append(" != "); appendParameters(out);
CoreFunctionType type = condition.getFunction(); Object[] params = condition.getParameters(); if (CoreFunctionType.IS_NULL.equals(type)) { return getIsNullConditionSQL(columnSQL); if (CoreFunctionType.NOT_NULL.equals(type)) { return getNotNullConditionSQL(columnSQL); if (CoreFunctionType.EQUALS_TO.equals(type)) { return getIsEqualsToConditionSQL(columnSQL, params[0]); if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { return getNotEqualsToConditionSQL(columnSQL, params[0]); if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { return getNotEqualsToConditionSQL(columnSQL, params[0]); if (CoreFunctionType.LIKE_TO.equals(type)) { return getLikeToConditionSQL(columnSQL, params[0]); if (CoreFunctionType.GREATER_THAN.equals(type)) { return getGreaterThanConditionSQL(columnSQL, params[0]); if (CoreFunctionType.GREATER_OR_EQUALS_TO.equals(type)) { return getGreaterOrEqualsConditionSQL(columnSQL, params[0]); if (CoreFunctionType.LOWER_THAN.equals(type)) { return getLowerThanConditionSQL(columnSQL, params[0]);
CoreFunctionType type = condition.getFunction(); Object[] params = condition.getParameters(); if (CoreFunctionType.IS_NULL.equals(type)) { return getIsNullConditionSQL(columnSQL); if (CoreFunctionType.NOT_NULL.equals(type)) { return getNotNullConditionSQL(columnSQL); if (CoreFunctionType.EQUALS_TO.equals(type)) { return getIsEqualsToConditionSQL(columnSQL, params[0]); if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { return getNotEqualsToConditionSQL(columnSQL, params[0]); if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { return getNotEqualsToConditionSQL(columnSQL, params[0]); if (CoreFunctionType.LIKE_TO.equals(type)) { return getLikeToConditionSQL(columnSQL, params[0]); if (CoreFunctionType.GREATER_THAN.equals(type)) { return getGreaterThanConditionSQL(columnSQL, params[0]); if (CoreFunctionType.GREATER_OR_EQUALS_TO.equals(type)) { return getGreaterOrEqualsConditionSQL(columnSQL, params[0]); if (CoreFunctionType.LOWER_THAN.equals(type)) { return getLowerThanConditionSQL(columnSQL, params[0]);
if (CoreFunctionType.BETWEEN.equals(type)) { out.append(columnId).append(" ["); formatParameters(out, parameters); out.append("]"); else if (CoreFunctionType.GREATER_THAN.equals(type)) { out.append(columnId).append(" > "); formatParameters(out, parameters); else if (CoreFunctionType.GREATER_OR_EQUALS_TO.equals(type)) { out.append(columnId).append(" >= "); formatParameters(out, parameters); else if (CoreFunctionType.LOWER_THAN.equals(type)) { out.append(columnId).append(" < "); formatParameters(out, parameters); else if (CoreFunctionType.LOWER_OR_EQUALS_TO.equals(type)) { out.append(columnId).append(" <= "); formatParameters(out, parameters); else if (CoreFunctionType.EQUALS_TO.equals(type)) { out.append(columnId).append(" = "); formatParameters(out, parameters); else if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { out.append(columnId).append(" != "); formatParameters(out, parameters);
if (CoreFunctionType.BETWEEN.equals(type)) { out.append(columnId).append(" ["); formatParameters(out, parameters); out.append("]"); else if (CoreFunctionType.GREATER_THAN.equals(type)) { out.append(columnId).append(" > "); formatParameters(out, parameters); else if (CoreFunctionType.GREATER_OR_EQUALS_TO.equals(type)) { out.append(columnId).append(" >= "); formatParameters(out, parameters); else if (CoreFunctionType.LOWER_THAN.equals(type)) { out.append(columnId).append(" < "); formatParameters(out, parameters); else if (CoreFunctionType.LOWER_OR_EQUALS_TO.equals(type)) { out.append(columnId).append(" <= "); formatParameters(out, parameters); else if (CoreFunctionType.EQUALS_TO.equals(type)) { out.append(columnId).append(" = "); formatParameters(out, parameters); else if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { out.append(columnId).append(" != "); formatParameters(out, parameters);
protected List<FunctionParameterEditor> createFilterInputControls() { List<FunctionParameterEditor> filterInputControls = new ArrayList<FunctionParameterEditor>(); CoreFunctionFilter coreFilter = getCoreFilter(); if (CoreFunctionType.LIKE_TO.equals(coreFilter.getType())) { FunctionParameterEditor paramInput = createLikeToFunctionWidget(coreFilter); filterInputControls.add(paramInput); } else { for (int i = 0; i < coreFilter.getType().getParametersCount(); i++) { FunctionParameterEditor paramInput = createParamInputWidget(coreFilter, i); filterInputControls.add(paramInput); } } return filterInputControls; }
protected List<FunctionParameterEditor> createFilterInputControls() { List<FunctionParameterEditor> filterInputControls = new ArrayList<FunctionParameterEditor>(); CoreFunctionFilter coreFilter = getCoreFilter(); if (CoreFunctionType.LIKE_TO.equals(coreFilter.getType())) { FunctionParameterEditor paramInput = createLikeToFunctionWidget(coreFilter); filterInputControls.add(paramInput); } else { for (int i = 0; i < coreFilter.getType().getParametersCount(); i++) { FunctionParameterEditor paramInput = createParamInputWidget(coreFilter, i); filterInputControls.add(paramInput); } } return filterInputControls; }
if (CoreFunctionType.IS_NULL.equals(type)) { return isNull(getCurrentValue()); if (CoreFunctionType.NOT_NULL.equals(type)) { return isNotNull(getCurrentValue()); if (CoreFunctionType.EQUALS_TO.equals(type)) { return isEqualsTo(getCurrentValue()); if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { return isNotEqualsTo(getCurrentValue()); if (CoreFunctionType.LIKE_TO.equals(type)) { return isLikeTo(getCurrentValue()); if (CoreFunctionType.LOWER_THAN.equals(type)) { return isLowerThan(getCurrentValue()); if (CoreFunctionType.LOWER_OR_EQUALS_TO.equals(type)) { return isLowerThanOrEqualsTo(getCurrentValue()); if (CoreFunctionType.GREATER_THAN.equals(type)) { return isGreaterThan(getCurrentValue()); if (CoreFunctionType.GREATER_OR_EQUALS_TO.equals(type)) { return isGreaterThanOrEqualsTo(getCurrentValue()); if (CoreFunctionType.BETWEEN.equals(type)) { return isBetween(getCurrentValue());
if (CoreFunctionType.IS_NULL.equals(type)) { return _column.isNull(); if (CoreFunctionType.NOT_NULL.equals(type)) { return _column.notNull(); if (CoreFunctionType.EQUALS_TO.equals(type)) { if (params.isEmpty()) { return null; if (CoreFunctionType.NOT_EQUALS_TO.equals(type)) { if (params.isEmpty()) { return null; if (CoreFunctionType.LIKE_TO.equals(type)) { String pattern = (String) params.get(0); boolean caseSensitive = params.size() < 2 || Boolean.parseBoolean(params.get(1).toString()); if (CoreFunctionType.LOWER_THAN.equals(type)) { return _column.lowerThan(params.get(0)); if (CoreFunctionType.LOWER_OR_EQUALS_TO.equals(type)) { return _column.lowerOrEquals(params.get(0)); if (CoreFunctionType.GREATER_THAN.equals(type)) { return _column.greaterThan(params.get(0)); if (CoreFunctionType.GREATER_OR_EQUALS_TO.equals(type)) { return _column.greaterOrEquals(params.get(0));
protected FunctionParameterEditor createParamInputWidget(final CoreFunctionFilter coreFilter, final int paramIndex) { final List paramList = coreFilter.getParameters(); ColumnType columnType = metadata.getColumnType(coreFilter.getColumnId()); CoreFunctionType functionType = coreFilter.getType(); boolean isMultiple = CoreFunctionType.IN.equals(functionType) || CoreFunctionType.NOT_IN.equals(functionType); if (ColumnType.DATE.equals(columnType)) { if (CoreFunctionType.TIME_FRAME.equals(coreFilter.getType())) { return createTimeFrameWidget(paramList, paramIndex); } return createDateInputWidget(paramList, paramIndex); } if (!isMultiple) { if (ColumnType.NUMBER.equals(columnType)) { return createNumberInputWidget(paramList, paramIndex); } return createTextInputWidget(paramList, paramIndex); } else { if (ColumnType.NUMBER.equals(columnType)) { return createMultipleNumberInputWidget(paramList); } return createMultipleTextInputWidget(paramList); } }
protected FunctionParameterEditor createParamInputWidget(final CoreFunctionFilter coreFilter, final int paramIndex) { final List paramList = coreFilter.getParameters(); ColumnType columnType = metadata.getColumnType(coreFilter.getColumnId()); CoreFunctionType functionType = coreFilter.getType(); boolean isMultiple = CoreFunctionType.IN.equals(functionType) || CoreFunctionType.NOT_IN.equals(functionType); if (ColumnType.DATE.equals(columnType)) { if (CoreFunctionType.TIME_FRAME.equals(coreFilter.getType())) { return createTimeFrameWidget(paramList, paramIndex); } return createDateInputWidget(paramList, paramIndex); } if (!isMultiple) { if (ColumnType.NUMBER.equals(columnType)) { return createNumberInputWidget(paramList, paramIndex); } return createTextInputWidget(paramList, paramIndex); } else { if (ColumnType.NUMBER.equals(columnType)) { return createMultipleNumberInputWidget(paramList); } return createMultipleTextInputWidget(paramList); } }