Search in sources :

Example 31 with Condition

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

the class QueryValueTest method testOr.

private void testOr() {
    final Condition trueCondition1 = Q.or(Q.equal(this.idField, 10));
    assertConditionTrue(trueCondition1, this.record);
    final Condition trueCondition2 = Q.or(Q.equal(this.idField, 11), Q.equal(this.nameAttribute, "foobar"));
    assertConditionTrue(trueCondition2, this.record);
    final Condition falseCondition1 = Q.or(Q.equal(this.idField, 11), Q.equal(this.nameAttribute, "foobar1"));
    assertConditionFalse(falseCondition1, this.record);
}
Also used : Condition(com.revolsys.record.query.Condition)

Example 32 with Condition

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

the class FileGdbRecordStore method getWhereClause.

protected StringBuilder getWhereClause(final Query query) {
    final StringBuilder whereClause = new StringBuilder();
    final Condition whereCondition = query.getWhereCondition();
    if (!whereCondition.isEmpty()) {
        appendQueryValue(query, whereClause, whereCondition);
    }
    return whereClause;
}
Also used : AbstractMultiCondition(com.revolsys.record.query.AbstractMultiCondition) LeftUnaryCondition(com.revolsys.record.query.LeftUnaryCondition) SqlCondition(com.revolsys.record.query.SqlCondition) Condition(com.revolsys.record.query.Condition) BinaryCondition(com.revolsys.record.query.BinaryCondition) RightUnaryCondition(com.revolsys.record.query.RightUnaryCondition)

Example 33 with Condition

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

the class RecordLayerTableModel method getFilterQuery.

protected Query getFilterQuery() {
    final Query query = this.layer.getQuery();
    final Condition filter = getFilter();
    query.and(filter);
    query.setOrderBy(this.orderBy);
    if (this.filterByBoundingBox) {
        final Project project = this.layer.getProject();
        final BoundingBox viewBoundingBox = project.getViewBoundingBox();
        final RecordDefinition recordDefinition = this.layer.getRecordDefinition();
        final FieldDefinition geometryField = recordDefinition.getGeometryField();
        if (geometryField != null) {
            query.and(F.envelopeIntersects(geometryField, viewBoundingBox));
        }
    }
    return query;
}
Also used : Condition(com.revolsys.record.query.Condition) Project(com.revolsys.swing.map.layer.Project) Query(com.revolsys.record.query.Query) BoundingBox(com.revolsys.geometry.model.BoundingBox) FieldDefinition(com.revolsys.record.schema.FieldDefinition) RecordDefinition(com.revolsys.record.schema.RecordDefinition)

Example 34 with Condition

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

the class FeatureLayer method newQueryParameters.

public Map<String, Object> newQueryParameters(final Query query) {
    final Map<String, Object> parameters = new LinkedHashMap<>();
    parameters.put("f", "json");
    parameters.put("returnGeometry", "true");
    parameters.put("where", this.recordDefinition.getIdFieldName() + " > 0");
    if (query != null) {
        // WHERE
        final Condition whereCondition = query.getWhereCondition();
        if (whereCondition != Condition.ALL) {
            final String where = whereCondition.toString();
            parameters.put("where", where);
        }
        // ORDER BY
        final Map<? extends CharSequence, Boolean> orderBy = query.getOrderBy();
        if (Property.hasValue(orderBy)) {
            final String orderByFields = JdbcUtils.appendOrderByFields(new StringBuilder(), orderBy).toString();
            parameters.put("orderByFields", orderByFields);
        }
    }
    return parameters;
}
Also used : Condition(com.revolsys.record.query.Condition) LinkedHashMap(java.util.LinkedHashMap)

Example 35 with Condition

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

the class RecordStoreLayer method getCachedRecord.

@SuppressWarnings("unchecked")
@Override
protected <R extends LayerRecord> R getCachedRecord(final Identifier identifier) {
    final RecordDefinition recordDefinition = getInternalRecordDefinition();
    synchronized (getSync()) {
        LayerRecord record = this.recordsByIdentifier.get(identifier);
        if (record == null) {
            final List<String> idFieldNames = recordDefinition.getIdFieldNames();
            if (idFieldNames.isEmpty()) {
                return null;
            } else {
                final Condition where = getCachedRecordQuery(idFieldNames, identifier);
                final Query query = new Query(recordDefinition, where);
                final RecordStore recordStore = this.recordStore;
                if (recordStore != null) {
                    try (Transaction transaction = recordStore.newTransaction(Propagation.REQUIRED);
                        RecordReader reader = newRecordStoreRecordReader(query)) {
                        record = reader.getFirst();
                        if (record != null) {
                            addCachedRecord(identifier, record);
                        }
                    }
                }
            }
        }
        return (R) record;
    }
}
Also used : Condition(com.revolsys.record.query.Condition) Query(com.revolsys.record.query.Query) Transaction(com.revolsys.transaction.Transaction) RecordStore(com.revolsys.record.schema.RecordStore) RecordReader(com.revolsys.record.io.RecordReader) RecordDefinition(com.revolsys.record.schema.RecordDefinition)

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