Search in sources :

Example 16 with Condition

use of com.revolsys.record.query.Condition in project com.revolsys.open by revolsys.

the class QueryWhereConditionField method toQueryValue.

@SuppressWarnings("unchecked")
private <V extends QueryValue> V toQueryValue(final ValueNode expression) {
    if (expression instanceof BetweenOperatorNode) {
        final BetweenOperatorNode betweenExpression = (BetweenOperatorNode) expression;
        final ValueNode leftValueNode = betweenExpression.getLeftOperand();
        final ValueNodeList rightOperandList = betweenExpression.getRightOperandList();
        final ValueNode betweenExpressionStart = rightOperandList.get(0);
        final ValueNode betweenExpressionEnd = rightOperandList.get(1);
        if (!(leftValueNode instanceof ColumnReference)) {
            setInvalidMessage("Between operator must use a column name not: " + leftValueNode);
            return null;
        }
        if (!(betweenExpressionStart instanceof NumericConstantNode)) {
            setInvalidMessage("Between min value must be a number not: " + betweenExpressionStart);
            return null;
        }
        if (!(betweenExpressionEnd instanceof NumericConstantNode)) {
            setInvalidMessage("Between max value must be a number not: " + betweenExpressionEnd);
            return null;
        }
        final Column column = toQueryValue(leftValueNode);
        final Value min = toQueryValue(betweenExpressionStart);
        final Value max = toQueryValue(betweenExpressionEnd);
        final FieldDefinition fieldDefinition = this.recordDefinition.getField(column.getName());
        min.convert(fieldDefinition);
        max.convert(fieldDefinition);
        return (V) new Between(column, min, max);
    } else if (expression instanceof BinaryLogicalOperatorNode) {
        final BinaryLogicalOperatorNode binaryOperatorNode = (BinaryLogicalOperatorNode) expression;
        final String operator = binaryOperatorNode.getOperator().toUpperCase();
        final ValueNode leftValueNode = binaryOperatorNode.getLeftOperand();
        final ValueNode rightValueNode = binaryOperatorNode.getRightOperand();
        final QueryValue leftValue = toQueryValue(leftValueNode);
        if (leftValue instanceof Condition) {
            final Condition leftCondition = (Condition) leftValue;
            final QueryValue rightValue = toQueryValue(rightValueNode);
            if (rightValue instanceof Condition) {
                final Condition rightCondition = (Condition) rightValue;
                if ("AND".equals(operator)) {
                    return (V) new And(leftCondition, rightCondition);
                } else if ("OR".equals(operator)) {
                    return (V) new Or(leftCondition, rightCondition);
                } else {
                    setInvalidMessage("Binary logical operator " + operator + " not supported.");
                    return null;
                }
            } else {
                setInvalidMessage("Right side of " + operator + " must be a condition (e.g. column_name = 'value') not: " + rightValue);
                return null;
            }
        } else {
            setInvalidMessage("Left side of " + operator + " must be a condition (e.g. column_name = 'value') not: " + leftValue);
            return null;
        }
    } else if (expression instanceof BinaryOperatorNode) {
        final BinaryOperatorNode binaryOperatorNode = (BinaryOperatorNode) expression;
        final String operator = binaryOperatorNode.getOperator();
        final ValueNode leftValueNode = binaryOperatorNode.getLeftOperand();
        final ValueNode rightValueNode = binaryOperatorNode.getRightOperand();
        if (QueryValue.SUPPORTED_BINARY_OPERATORS.contains(operator.toUpperCase())) {
            final QueryValue leftCondition = toQueryValue(leftValueNode);
            QueryValue rightCondition = toQueryValue(rightValueNode);
            if (leftCondition instanceof Column) {
                if (rightCondition instanceof Value) {
                    final Object value = ((Value) rightCondition).getValue();
                    if (value == null) {
                        setInvalidMessage("Values can't be null for " + operator + " use IS NULL or IS NOT NULL instead.");
                    } else {
                        final Column column = (Column) leftCondition;
                        final String name = column.getName();
                        final FieldDefinition fieldDefinition = this.recordDefinition.getField(name);
                        final CodeTable codeTable = this.recordDefinition.getCodeTableByFieldName(name);
                        if (codeTable == null || fieldDefinition == this.recordDefinition.getIdField()) {
                            try {
                                final Object convertedValue = fieldDefinition.toFieldValueException(value);
                                if (convertedValue == null) {
                                    setInvalidMessage("Values can't be null for " + operator + " use IS NULL or IS NOT NULL instead.");
                                    return null;
                                } else {
                                    rightCondition = new Value(fieldDefinition, convertedValue);
                                }
                            } catch (final Throwable t) {
                                setInvalidMessage(name + "='" + value + "' is not a valid " + fieldDefinition.getDataType().getValidationName());
                            }
                        } else {
                            Object id;
                            if (value instanceof String) {
                                final String string = (String) value;
                                final String[] values = string.split(":");
                                id = codeTable.getIdentifier((Object[]) values);
                            } else {
                                id = codeTable.getIdentifier(value);
                            }
                            if (id == null) {
                                setInvalidMessage(name + "='" + value + "' could not be found in the code table " + codeTable.getName());
                            } else {
                                rightCondition = new Value(fieldDefinition, id);
                            }
                        }
                    }
                }
            }
            if (expression instanceof BinaryArithmeticOperatorNode) {
                final QueryValue arithmaticCondition = Q.arithmatic(leftCondition, operator, rightCondition);
                return (V) arithmaticCondition;
            } else {
                final Condition binaryCondition = Q.binary(leftCondition, operator, rightCondition);
                return (V) binaryCondition;
            }
        } else {
            setInvalidMessage("Unsupported binary operator " + operator);
        }
    } else if (expression instanceof ColumnReference) {
        final ColumnReference column = (ColumnReference) expression;
        String columnName = column.getColumnName();
        columnName = columnName.replaceAll("\"", "");
        final FieldDefinition fieldDefinition = this.recordDefinition.getField(columnName);
        if (fieldDefinition == null) {
            setInvalidMessage("Invalid field name " + columnName);
        } else {
            return (V) new Column(fieldDefinition);
        }
    } else if (expression instanceof LikeEscapeOperatorNode) {
        final LikeEscapeOperatorNode likeEscapeOperatorNode = (LikeEscapeOperatorNode) expression;
        final ValueNode leftValueNode = likeEscapeOperatorNode.getReceiver();
        final ValueNode rightValueNode = likeEscapeOperatorNode.getLeftOperand();
        final QueryValue leftCondition = toQueryValue(leftValueNode);
        final QueryValue rightCondition = toQueryValue(rightValueNode);
        return (V) new ILike(leftCondition, rightCondition);
    } else if (expression instanceof NotNode) {
        final NotNode notNode = (NotNode) expression;
        final ValueNode operand = notNode.getOperand();
        final Condition condition = toQueryValue(operand);
        return (V) new Not(condition);
    } else if (expression instanceof InListOperatorNode) {
        final InListOperatorNode inListOperatorNode = (InListOperatorNode) expression;
        final ValueNode leftOperand = inListOperatorNode.getLeftOperand();
        final QueryValue leftCondition = toQueryValue(leftOperand);
        final List<QueryValue> conditions = new ArrayList<>();
        final RowConstructorNode itemsList = inListOperatorNode.getRightOperandList();
        for (final ValueNode itemValueNode : itemsList.getNodeList()) {
            final QueryValue itemCondition = toQueryValue(itemValueNode);
            conditions.add(itemCondition);
        }
        return (V) new In(leftCondition, new CollectionValue(conditions));
    } else if (expression instanceof IsNullNode) {
        final IsNullNode isNullNode = (IsNullNode) expression;
        final ValueNode operand = isNullNode.getOperand();
        final QueryValue value = toQueryValue(operand);
        if (isNullNode.getNodeType() == NodeTypes.IS_NOT_NULL_NODE) {
            return (V) new IsNotNull(value);
        } else {
            return (V) new IsNull(value);
        }
    // } else if (expression instanceof Parenthesis) {
    // final Parenthesis parenthesis = (Parenthesis)expression;
    // final ValueNode parenthesisValueNode = parenthesis.getExpression();
    // final Condition condition = toCondition(parenthesisExpression);
    // final ParenthesisCondition parenthesisCondition = new
    // ParenthesisCondition(
    // condition);
    // if (parenthesis.isNot()) {
    // return (V)Q.not(parenthesisCondition);
    // } else {
    // return (V)parenthesisCondition;
    // }
    } else if (expression instanceof RowConstructorNode) {
        final RowConstructorNode rowConstructorNode = (RowConstructorNode) expression;
        final ValueNodeList values = rowConstructorNode.getNodeList();
        final ValueNode valueNode = values.get(0);
        return (V) toQueryValue(valueNode);
    } else if (expression instanceof UserTypeConstantNode) {
        final UserTypeConstantNode constant = (UserTypeConstantNode) expression;
        final Object objectValue = constant.getObjectValue();
        return (V) new Value(objectValue);
    } else if (expression instanceof ConstantNode) {
        final ConstantNode constant = (ConstantNode) expression;
        final Object value = constant.getValue();
        return (V) new Value(value);
    } else if (expression instanceof SimpleStringOperatorNode) {
        final SimpleStringOperatorNode operatorNode = (SimpleStringOperatorNode) expression;
        final String functionName = operatorNode.getMethodName().toUpperCase();
        final ValueNode operand = operatorNode.getOperand();
        final QueryValue condition = toQueryValue(operand);
        return (V) new Function(functionName, condition);
    } else if (expression instanceof CastNode) {
        final CastNode castNode = (CastNode) expression;
        final String typeName = castNode.getType().getSQLstring();
        final ValueNode operand = castNode.getCastOperand();
        final QueryValue condition = toQueryValue(operand);
        return (V) new Cast(condition, typeName);
    } else if (expression == null) {
        return null;
    } else {
        setInvalidMessage("Unsupported expression" + expression.getClass() + " " + expression);
    }
    return null;
}
Also used : Cast(com.revolsys.record.query.Cast) NotNode(com.akiban.sql.parser.NotNode) Or(com.revolsys.record.query.Or) In(com.revolsys.record.query.In) FieldDefinition(com.revolsys.record.schema.FieldDefinition) ArrayList(java.util.ArrayList) BinaryArithmeticOperatorNode(com.akiban.sql.parser.BinaryArithmeticOperatorNode) UserTypeConstantNode(com.akiban.sql.parser.UserTypeConstantNode) Function(com.revolsys.record.query.functions.Function) CollectionValue(com.revolsys.record.query.CollectionValue) IsNotNull(com.revolsys.record.query.IsNotNull) NumericConstantNode(com.akiban.sql.parser.NumericConstantNode) ConstantNode(com.akiban.sql.parser.ConstantNode) UserTypeConstantNode(com.akiban.sql.parser.UserTypeConstantNode) Column(com.revolsys.record.query.Column) ValueNodeList(com.akiban.sql.parser.ValueNodeList) NumericConstantNode(com.akiban.sql.parser.NumericConstantNode) SimpleStringOperatorNode(com.akiban.sql.parser.SimpleStringOperatorNode) InListOperatorNode(com.akiban.sql.parser.InListOperatorNode) BinaryOperatorNode(com.akiban.sql.parser.BinaryOperatorNode) BetweenOperatorNode(com.akiban.sql.parser.BetweenOperatorNode) Condition(com.revolsys.record.query.Condition) CodeTable(com.revolsys.record.code.CodeTable) BinaryLogicalOperatorNode(com.akiban.sql.parser.BinaryLogicalOperatorNode) Between(com.revolsys.record.query.Between) ILike(com.revolsys.record.query.ILike) QueryValue(com.revolsys.record.query.QueryValue) CastNode(com.akiban.sql.parser.CastNode) Not(com.revolsys.record.query.Not) IsNullNode(com.akiban.sql.parser.IsNullNode) And(com.revolsys.record.query.And) ValueNode(com.akiban.sql.parser.ValueNode) QueryValue(com.revolsys.record.query.QueryValue) CollectionValue(com.revolsys.record.query.CollectionValue) Value(com.revolsys.record.query.Value) IsNull(com.revolsys.record.query.IsNull) RowConstructorNode(com.akiban.sql.parser.RowConstructorNode) ColumnReference(com.akiban.sql.parser.ColumnReference) LikeEscapeOperatorNode(com.akiban.sql.parser.LikeEscapeOperatorNode)

Example 17 with Condition

use of com.revolsys.record.query.Condition in project com.revolsys.open by revolsys.

the class RecordStoreQueryListModel method getRecords.

protected List<Record> getRecords(final String searchParam) {
    if (Property.hasValue(searchParam) && searchParam.length() >= 2) {
        final Map<String, Record> allObjects = new TreeMap<>();
        for (Query query : this.queries) {
            if (allObjects.size() < this.maxResults) {
                query = query.clone();
                query.setOrderBy(this.displayFieldName);
                final Condition whereCondition = query.getWhereCondition();
                if (whereCondition instanceof BinaryCondition) {
                    final BinaryCondition binaryCondition = (BinaryCondition) whereCondition;
                    if (binaryCondition.getOperator().equalsIgnoreCase("like")) {
                        final String likeString = "%" + searchParam.toUpperCase().replaceAll("[^A-Z0-9 ]", "%") + "%";
                        Q.setValue(0, binaryCondition, likeString);
                    } else {
                        Q.setValue(0, binaryCondition, searchParam);
                    }
                }
                query.setLimit(this.maxResults);
                final Reader<Record> reader = this.recordStore.getRecords(query);
                try {
                    final List<Record> objects = reader.toList();
                    for (final Record object : objects) {
                        if (allObjects.size() < this.maxResults) {
                            final String key = object.getString(this.displayFieldName);
                            if (!allObjects.containsKey(key)) {
                                if (searchParam.equals(key)) {
                                    this.selectedItem = object;
                                }
                                allObjects.put(key, object);
                            }
                        }
                    }
                } finally {
                    reader.close();
                }
            }
        }
        return new ArrayList<>(allObjects.values());
    } else {
        return Collections.emptyList();
    }
}
Also used : Condition(com.revolsys.record.query.Condition) BinaryCondition(com.revolsys.record.query.BinaryCondition) Query(com.revolsys.record.query.Query) BinaryCondition(com.revolsys.record.query.BinaryCondition) ArrayList(java.util.ArrayList) Record(com.revolsys.record.Record) TreeMap(java.util.TreeMap)

Example 18 with Condition

use of com.revolsys.record.query.Condition in project com.revolsys.open by revolsys.

the class AbstractRecordQueryField method queryDo.

protected void queryDo(final int searchIndex, final String queryText) {
    if (searchIndex == this.searchIndex.get()) {
        Record selectedRecord = null;
        final Map<String, Record> allRecords = new TreeMap<>();
        for (Query query : this.queries) {
            if (allRecords.size() < this.maxResults) {
                query = // 
                query.clone().addOrderBy(this.displayField);
                final Condition whereCondition = query.getWhereCondition();
                if (whereCondition instanceof BinaryCondition) {
                    final BinaryCondition binaryCondition = (BinaryCondition) whereCondition;
                    if (binaryCondition.getOperator().equalsIgnoreCase("like")) {
                        final String likeString = "%" + queryText.toUpperCase().replaceAll("[^A-Z0-9 ]", "%") + "%";
                        Q.setValue(0, binaryCondition, likeString);
                    } else {
                        Q.setValue(0, binaryCondition, queryText);
                    }
                }
                query.setLimit(this.maxResults);
                final List<Record> records = getRecords(query);
                for (final Record record : records) {
                    if (allRecords.size() < this.maxResults) {
                        final String key = record.getString(this.displayField);
                        if (!allRecords.containsKey(key)) {
                            if (queryText.equals(key)) {
                                selectedRecord = record;
                            }
                            allRecords.put(key, record);
                        }
                    }
                }
            }
        }
        setSearchResults(searchIndex, allRecords.values(), selectedRecord);
    }
}
Also used : Condition(com.revolsys.record.query.Condition) BinaryCondition(com.revolsys.record.query.BinaryCondition) Query(com.revolsys.record.query.Query) BinaryCondition(com.revolsys.record.query.BinaryCondition) Record(com.revolsys.record.Record) TreeMap(java.util.TreeMap)

Example 19 with Condition

use of com.revolsys.record.query.Condition in project com.revolsys.open by revolsys.

the class RecordLayerTablePanel method newToolBar.

protected void newToolBar(final Map<String, Object> pluginConfig) {
    final ToolBar toolBar = getToolBar();
    final RecordDefinition recordDefinition = getRecordDefinition();
    final boolean hasGeometry = recordDefinition.hasGeometryField();
    final MenuFactory layerMenuFactory = MenuFactory.findMenu(this.layer);
    if (layerMenuFactory != null) {
        toolBar.addButtonTitleIcon("menu", "Layer Menu", "menu", () -> layerMenuFactory.showMenu(this.layer, this, 10, 10));
    }
    if (hasGeometry) {
        final EnableCheck hasSelectedRecords = new ObjectPropertyEnableCheck(this.layer, "hasSelectedRecords");
        toolBar.addButton("layer", "Zoom to Selected", "magnifier_zoom_selected", hasSelectedRecords, this.layer::zoomToSelected);
        toolBar.addButton("layer", "Pan to Selected", "pan_selected", hasSelectedRecords, this.layer::panToSelected);
    }
    final RecordLayerTable table = getTable();
    final TableRowCount tableRowCount = new TableRowCount(table);
    toolBar.addComponent("count", tableRowCount);
    toolBar.addButtonTitleIcon("table", "Refresh", "table_refresh", this.layer::refresh);
    toolBar.addButtonTitleIcon("table", "Export Records", "table_save", new ObjectPropertyEnableCheck(tableRowCount, "rowCount", 0, true), () -> actionExportRecords());
    this.fieldSetsButton = toolBar.addButtonTitleIcon("table", "Field Sets", "fields_filter", () -> actionShowFieldSetsMenu());
    this.fieldFilterPanel = new FieldFilterPanel(this, this.tableModel, pluginConfig);
    if (this.fieldFilterPanel.isVisible()) {
        toolBar.addComponent("search", this.fieldFilterPanel);
        toolBar.addButtonTitleIcon("search", "Advanced Search", "filter_edits", this.fieldFilterPanel::showAdvancedFilter);
        final EnableCheck hasFilter = new ObjectPropertyEnableCheck(this.tableModel, "hasFilter");
        toolBar.addButton("search", "Clear Search", "filter_delete", hasFilter, this.fieldFilterPanel::clear);
        final EnableCheck hasFilterHistory = new ObjectPropertyEnableCheck(this.tableModel, "hasFilterHistory");
        toolBar.addButton("search", ConsumerAction.action("Search History", Icons.getIconWithBadge("book", "filter"), hasFilterHistory, (event) -> {
            final Object source = event.getSource();
            Component component = null;
            if (source instanceof Component) {
                component = (Component) source;
            }
            final BaseJPopupMenu menu = new BaseJPopupMenu();
            for (final Condition filter : this.tableModel.getFilterHistory()) {
                menu.addMenuItem(filter.toString(), () -> this.fieldFilterPanel.setFilter(filter));
            }
            menu.showMenu(component, 0, 20);
        }));
    }
    // Filter buttons
    boolean first = true;
    for (final TableRecordsMode fieldFilterMode : this.tableModel.getFieldFilterModes()) {
        final String key = fieldFilterMode.getKey();
        final String title = fieldFilterMode.getTitle();
        final Icon icon = fieldFilterMode.getIcon();
        final EnableCheck enableCheck = fieldFilterMode.getEnableCheck();
        final JToggleButton button = toolBar.addToggleButton(FILTER_FIELD, -1, null, title, icon, enableCheck, () -> {
            if (this.tableModel != null) {
                this.tableModel.setTableRecordsMode(fieldFilterMode);
            }
        });
        this.buttonByMode.put(FILTER_FIELD + "_" + key, button);
        if (first) {
            button.doClick();
            first = false;
        }
    }
    if (hasGeometry) {
        final JToggleButton showAllGeometries = addGeometryFilterToggleButton(toolBar, -1, "Show All Records ", "world_filter", "all", null);
        showAllGeometries.doClick();
        addGeometryFilterToggleButton(toolBar, -1, "Show Records on Map", "map_filter", "boundingBox", new ObjectPropertyEnableCheck(this.tableModel, "filterByBoundingBoxSupported"));
    }
}
Also used : FieldCalculator(com.revolsys.swing.map.layer.record.component.FieldCalculator) Icons(com.revolsys.swing.Icons) EnableCheck(com.revolsys.swing.action.enablecheck.EnableCheck) JToggleButton(javax.swing.JToggleButton) Property(com.revolsys.util.Property) JCheckBoxMenuItem(javax.swing.JCheckBoxMenuItem) RecordLayerTableModel(com.revolsys.swing.map.layer.record.table.model.RecordLayerTableModel) Map(java.util.Map) MenuFactory(com.revolsys.swing.menu.MenuFactory) AbstractRecordLayer(com.revolsys.swing.map.layer.record.AbstractRecordLayer) LinkedHashMapEx(com.revolsys.collection.map.LinkedHashMapEx) Condition(com.revolsys.record.query.Condition) Font(java.awt.Font) Maps(com.revolsys.collection.map.Maps) BorderFactory(javax.swing.BorderFactory) Icon(javax.swing.Icon) RecordRowTable(com.revolsys.swing.table.record.RecordRowTable) Component(java.awt.Component) FieldNamesSetPanel(com.revolsys.swing.map.form.FieldNamesSetPanel) PropertyChangeListener(java.beans.PropertyChangeListener) LayerRecord(com.revolsys.swing.map.layer.record.LayerRecord) SetRecordsFieldValue(com.revolsys.swing.map.layer.record.component.SetRecordsFieldValue) JTable(javax.swing.JTable) MapSerializer(com.revolsys.io.map.MapSerializer) FieldFilterPanel(com.revolsys.swing.map.layer.record.component.FieldFilterPanel) TableRecordsMode(com.revolsys.swing.map.layer.record.table.model.TableRecordsMode) JPanel(javax.swing.JPanel) AbstractLayer(com.revolsys.swing.map.layer.AbstractLayer) RecordTableCellEditor(com.revolsys.swing.table.record.editor.RecordTableCellEditor) ToolBar(com.revolsys.swing.toolbar.ToolBar) RecordDefinition(com.revolsys.record.schema.RecordDefinition) LayerRecordMenu(com.revolsys.swing.map.layer.record.LayerRecordMenu) HashMap(java.util.HashMap) BaseJPopupMenu(com.revolsys.swing.menu.BaseJPopupMenu) SwingConstants(javax.swing.SwingConstants) VerticalLayout(org.jdesktop.swingx.VerticalLayout) SwingUtilities(javax.swing.SwingUtilities) TableCellEditor(javax.swing.table.TableCellEditor) JMenuItem(javax.swing.JMenuItem) ObjectPropertyEnableCheck(com.revolsys.swing.action.enablecheck.ObjectPropertyEnableCheck) RunnableAction(com.revolsys.swing.action.RunnableAction) MapEx(com.revolsys.collection.map.MapEx) ConsumerAction(com.revolsys.swing.action.ConsumerAction) PropertyChangeEvent(java.beans.PropertyChangeEvent) MapPanel(com.revolsys.swing.map.MapPanel) JButton(javax.swing.JButton) TablePanel(com.revolsys.swing.table.TablePanel) JPopupMenu(javax.swing.JPopupMenu) TableRowCount(com.revolsys.swing.table.TableRowCount) MouseEvent(java.awt.event.MouseEvent) JLabel(javax.swing.JLabel) Condition(com.revolsys.record.query.Condition) ObjectPropertyEnableCheck(com.revolsys.swing.action.enablecheck.ObjectPropertyEnableCheck) EnableCheck(com.revolsys.swing.action.enablecheck.EnableCheck) ObjectPropertyEnableCheck(com.revolsys.swing.action.enablecheck.ObjectPropertyEnableCheck) TableRecordsMode(com.revolsys.swing.map.layer.record.table.model.TableRecordsMode) RecordDefinition(com.revolsys.record.schema.RecordDefinition) MenuFactory(com.revolsys.swing.menu.MenuFactory) JToggleButton(javax.swing.JToggleButton) ToolBar(com.revolsys.swing.toolbar.ToolBar) BaseJPopupMenu(com.revolsys.swing.menu.BaseJPopupMenu) Icon(javax.swing.Icon) Component(java.awt.Component) TableRowCount(com.revolsys.swing.table.TableRowCount) FieldFilterPanel(com.revolsys.swing.map.layer.record.component.FieldFilterPanel)

Example 20 with Condition

use of com.revolsys.record.query.Condition in project com.revolsys.open by revolsys.

the class FieldFilterPanel method propertyChange.

@Override
public void propertyChange(final PropertyChangeEvent event) {
    final String propertyName = event.getPropertyName();
    if (propertyName.equals("filter")) {
        final Condition filter = (Condition) event.getNewValue();
        setFilter(filter);
    } else if (event.getSource() == this.searchField) {
        updateCondition();
    }
}
Also used : Condition(com.revolsys.record.query.Condition) BinaryCondition(com.revolsys.record.query.BinaryCondition) RightUnaryCondition(com.revolsys.record.query.RightUnaryCondition)

Aggregations

Condition (com.revolsys.record.query.Condition)40 BinaryCondition (com.revolsys.record.query.BinaryCondition)7 AbstractRecordLayer (com.revolsys.swing.map.layer.record.AbstractRecordLayer)6 Record (com.revolsys.record.Record)5 Query (com.revolsys.record.query.Query)5 RightUnaryCondition (com.revolsys.record.query.RightUnaryCondition)5 RecordDefinition (com.revolsys.record.schema.RecordDefinition)5 LayerRecord (com.revolsys.swing.map.layer.record.LayerRecord)5 ValueNode (com.akiban.sql.parser.ValueNode)2 ListByIndexIterator (com.revolsys.collection.list.ListByIndexIterator)2 AbstractMultiCondition (com.revolsys.record.query.AbstractMultiCondition)2 QueryWhereConditionField (com.revolsys.swing.field.QueryWhereConditionField)2 ArrayList (java.util.ArrayList)2 TreeMap (java.util.TreeMap)2 StandardException (com.akiban.sql.StandardException)1 BetweenOperatorNode (com.akiban.sql.parser.BetweenOperatorNode)1 BinaryArithmeticOperatorNode (com.akiban.sql.parser.BinaryArithmeticOperatorNode)1 BinaryLogicalOperatorNode (com.akiban.sql.parser.BinaryLogicalOperatorNode)1 BinaryOperatorNode (com.akiban.sql.parser.BinaryOperatorNode)1 CastNode (com.akiban.sql.parser.CastNode)1