Example usage for org.springframework.data.solr.core.query Criteria isNegating

List of usage examples for org.springframework.data.solr.core.query Criteria isNegating

Introduction

In this page you can find the example usage for org.springframework.data.solr.core.query Criteria isNegating.

Prototype

public boolean isNegating() 

Source Link

Usage

From source file:org.springframework.data.solr.core.query.CriteriaTests.java

@Test
public void testIsNull() {
    Criteria criteria = new Criteria("field_1").isNull();
    Assert.assertEquals("field_1", criteria.getField().getName());

    Predicate entry = getPredicateByPosition(criteria.getPredicates(), 0);
    Assert.assertEquals(OperationKey.BETWEEN.getKey(), entry.getKey());

    Assert.assertTrue(criteria.isNegating());
    Assert.assertNull(((Object[]) entry.getValue())[0]);
    Assert.assertNull(((Object[]) entry.getValue())[1]);
    Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[2]).booleanValue());
    Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[3]).booleanValue());
}

From source file:org.springframework.data.solr.core.query.CriteriaTests.java

@Test
public void testIsNotNull() {
    Criteria criteria = new Criteria("field_1").isNotNull();
    Assert.assertEquals("field_1", criteria.getField().getName());

    Predicate entry = getPredicateByPosition(criteria.getPredicates(), 0);
    Assert.assertEquals(OperationKey.BETWEEN.getKey(), entry.getKey());

    Assert.assertFalse(criteria.isNegating());
    Assert.assertNull(((Object[]) entry.getValue())[0]);
    Assert.assertNull(((Object[]) entry.getValue())[1]);
    Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[2]).booleanValue());
    Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[3]).booleanValue());
}

From source file:org.springframework.data.solr.core.query.CriteriaTests.java

@Test
public void testIsNot() {
    Criteria criteria = new Criteria("field_1").is("value_1").not();
    Assert.assertTrue(criteria.isNegating());
    assertPredicate(criteria.getPredicates(), 0, OperationKey.EQUALS, "value_1");
}

From source file:org.springframework.data.solr.core.QueryParserBase.java

/**
 * Creates query string representation of a single critiera
 * /*from w  ww. ja v  a2s  .c o m*/
 * @param criteria
 * @return
 */
protected String createQueryFragmentForCriteria(Criteria part) {
    Criteria criteria = (Criteria) part;
    StringBuilder queryFragment = new StringBuilder();
    boolean singeEntryCriteria = (criteria.getPredicates().size() == 1);
    if (criteria instanceof QueryStringHolder) {
        return ((QueryStringHolder) criteria).getQueryString();
    }

    String fieldName = getNullsafeFieldName(criteria.getField());
    if (criteria.isNegating()) {
        fieldName = NOT + fieldName;
    }
    if (!StringUtils.isEmpty(fieldName) && !containsFunctionCriteria(criteria.getPredicates())) {
        queryFragment.append(fieldName);
        queryFragment.append(DELIMINATOR);
    }

    // no criteria given is defaulted to not null
    if (criteria.getPredicates().isEmpty()) {
        queryFragment.append("[* TO *]");
        return queryFragment.toString();
    }

    if (!singeEntryCriteria) {
        queryFragment.append("(");
    }

    CriteriaQueryStringValueProvider valueProvider = new CriteriaQueryStringValueProvider(criteria);
    while (valueProvider.hasNext()) {
        queryFragment.append(valueProvider.next());
        if (valueProvider.hasNext()) {
            queryFragment.append(CRITERIA_VALUE_SEPERATOR);
        }
    }

    if (!singeEntryCriteria) {
        queryFragment.append(")");
    }
    if (!Float.isNaN(criteria.getBoost())) {
        queryFragment.append(BOOST + criteria.getBoost());
    }

    return queryFragment.toString();
}