Example usage for org.springframework.data.jpa.domain Specification toPredicate

List of usage examples for org.springframework.data.jpa.domain Specification toPredicate

Introduction

In this page you can find the example usage for org.springframework.data.jpa.domain Specification toPredicate.

Prototype

@Nullable
Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder);

Source Link

Document

Creates a WHERE clause for a query of the referenced entity in form of a Predicate for the given Root and CriteriaQuery .

Usage

From source file:com.netflix.genie.server.repository.jpa.TestCommandSpecs.java

/**
 * Test the find specification./*w  ww.j  a  va  2  s.  com*/
 */
@Test
public void testFindNoUserName() {
    final Specification<Command> spec = CommandSpecs.find(NAME, null, STATUSES, TAGS);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.name), NAME);
    Mockito.verify(this.cb, Mockito.never()).equal(this.root.get(Command_.user), USER_NAME);
    for (final CommandStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.status), status);
    }
    for (final String tag : TAGS) {
        Mockito.verify(this.cb, Mockito.times(1)).isMember(tag, this.root.get(Command_.tags));
    }
}

From source file:com.netflix.genie.server.repository.jpa.TestCommandSpecs.java

/**
 * Test the find specification.//ww  w  .  j ava2 s .  c  om
 */
@Test
public void testFindNoStatuses() {
    final Specification<Command> spec = CommandSpecs.find(NAME, USER_NAME, null, TAGS);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.name), NAME);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.user), USER_NAME);
    for (final CommandStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.never()).equal(this.root.get(Command_.status), status);
    }
    for (final String tag : TAGS) {
        Mockito.verify(this.cb, Mockito.times(1)).isMember(tag, this.root.get(Command_.tags));
    }
}

From source file:com.netflix.genie.server.repository.jpa.TestCommandSpecs.java

/**
 * Test the find specification./*from  w ww.j ava 2 s  .c o m*/
 */
@Test
public void testFindAll() {
    final Specification<Command> spec = CommandSpecs.find(NAME, USER_NAME, STATUSES, TAGS);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.name), NAME);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.user), USER_NAME);
    for (final CommandStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.status), status);
    }
    for (final String tag : TAGS) {
        Mockito.verify(this.cb, Mockito.times(1)).isMember(tag, this.root.get(Command_.tags));
    }
}

From source file:com.netflix.genie.server.repository.jpa.TestCommandSpecs.java

/**
 * Test the find specification./*from ww w . j av  a2  s .  co m*/
 */
@Test
public void testFindNoName() {
    final Specification<Command> spec = CommandSpecs.find(null, USER_NAME, STATUSES, TAGS);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.never()).equal(this.root.get(Command_.name), NAME);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.user), USER_NAME);
    for (final CommandStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.status), status);
    }
    for (final String tag : TAGS) {
        Mockito.verify(this.cb, Mockito.times(1)).isMember(tag, this.root.get(Command_.tags));
    }
}

From source file:com.netflix.genie.server.repository.jpa.TestCommandSpecs.java

/**
 * Test the find specification.//w w  w. j  a  v  a 2s  . c o m
 */
@Test
public void testFindNoTags() {
    final Specification<Command> spec = CommandSpecs.find(NAME, USER_NAME, STATUSES, null);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.name), NAME);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.user), USER_NAME);
    for (final CommandStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.status), status);
    }
    for (final String tag : TAGS) {
        Mockito.verify(this.cb, Mockito.never()).isMember(tag, this.root.get(Command_.tags));
    }
}

From source file:com.netflix.genie.server.repository.jpa.TestApplicationSpecs.java

/**
 * Test the find specification./*  w w  w . ja  va2  s  .c  o  m*/
 */
@Test
public void testFindNoUserName() {
    final Specification<Application> spec = ApplicationSpecs.find(NAME, null, STATUSES, TAGS);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Application_.name), NAME);
    Mockito.verify(this.cb, Mockito.never()).equal(this.root.get(Application_.user), USER_NAME);
    for (final ApplicationStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Application_.status), status);
    }
    for (final String tag : TAGS) {
        Mockito.verify(this.cb, Mockito.times(1)).isMember(tag, this.root.get(Application_.tags));
    }
}

From source file:com.netflix.genie.server.repository.jpa.TestApplicationSpecs.java

/**
 * Test the find specification.//ww w . ja va  2  s  .c o m
 */
@Test
public void testFindNoStatuses() {
    final Specification<Application> spec = ApplicationSpecs.find(NAME, USER_NAME, null, TAGS);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Application_.name), NAME);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Application_.user), USER_NAME);
    for (final ApplicationStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.never()).equal(this.root.get(Application_.status), status);
    }
    for (final String tag : TAGS) {
        Mockito.verify(this.cb, Mockito.times(1)).isMember(tag, this.root.get(Application_.tags));
    }
}

From source file:com.netflix.genie.server.repository.jpa.TestCommandSpecs.java

/**
 * Test the find specification.//from w  w w.  j av a  2s. co m
 */
@Test
public void testFindEmptyTag() {
    TAGS.add("");
    final Specification<Command> spec = CommandSpecs.find(NAME, USER_NAME, STATUSES, TAGS);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.name), NAME);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.user), USER_NAME);
    for (final CommandStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Command_.status), status);
    }
    for (final String tag : TAGS) {
        if (StringUtils.isBlank(tag)) {
            Mockito.verify(this.cb, Mockito.never()).isMember(tag, this.root.get(Command_.tags));
        } else {
            Mockito.verify(this.cb, Mockito.times(1)).isMember(tag, this.root.get(Command_.tags));
        }
    }
}

From source file:com.netflix.genie.core.jpa.specifications.JpaCommandSpecsUnitTests.java

/**
 * Test the find specification./*from w  w  w.  j av  a  2  s.com*/
 */
@Test
public void testFindNoUserName() {
    final Specification<CommandEntity> spec = JpaCommandSpecs.find(NAME, null, STATUSES, TAGS);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(CommandEntity_.name), NAME);
    Mockito.verify(this.cb, Mockito.never()).equal(this.root.get(CommandEntity_.user), USER_NAME);
    for (final CommandStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(CommandEntity_.status), status);
    }
    Mockito.verify(this.cb, Mockito.times(1)).like(this.root.get(CommandEntity_.tags), this.tagLikeStatement);
}

From source file:com.netflix.genie.server.repository.jpa.TestApplicationSpecs.java

/**
 * Test the find specification.//from w w w. j  a  v  a  2 s .c o m
 */
@Test
public void testFindAll() {
    final Specification<Application> spec = ApplicationSpecs.find(NAME, USER_NAME, STATUSES, TAGS);

    spec.toPredicate(this.root, this.cq, this.cb);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Application_.name), NAME);
    Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Application_.user), USER_NAME);
    for (final ApplicationStatus status : STATUSES) {
        Mockito.verify(this.cb, Mockito.times(1)).equal(this.root.get(Application_.status), status);
    }
    for (final String tag : TAGS) {
        Mockito.verify(this.cb, Mockito.times(1)).isMember(tag, this.root.get(Application_.tags));
    }
}