下面列出了javax.persistence.criteria.Join#isNotNull ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public Predicate getPredicate(Root<Project> root, CriteriaBuilder builder) {
Join<?, ?> userAuthorizationJoin = root.join(Project.PROP_USER_AUTHORIZATIONS, JoinType.LEFT);
userAuthorizationJoin.on(builder.and(
builder.equal(userAuthorizationJoin.get(UserAuthorization.PROP_ROLE), Role.OWNER_ID),
builder.equal(userAuthorizationJoin.get(UserAuthorization.PROP_USER), user)));
if (user.getGroups().isEmpty()) {
return userAuthorizationJoin.isNotNull();
} else {
Join<?, ?> groupAuthorizationJoin = root.join(Project.PROP_GROUP_AUTHORIZATIONS, JoinType.LEFT);
groupAuthorizationJoin.on(builder.and(
builder.equal(groupAuthorizationJoin.get(GroupAuthorization.PROP_ROLE), Role.OWNER_ID),
groupAuthorizationJoin.get(GroupAuthorization.PROP_GROUP).in(user.getGroups())));
return builder.or(userAuthorizationJoin.isNotNull(), groupAuthorizationJoin.isNotNull());
}
}
@Override
public final Predicate getPredicate(Root<Issue> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(Issue.PROP_FIELDS, JoinType.LEFT);
Predicate valuePredicate = getValuePredicate(join, builder);
if (valuePredicate != null) {
join.on(builder.and(
builder.equal(join.get(IssueField.PROP_NAME), getFieldName()),
getValuePredicate(join, builder)));
return join.isNotNull();
} else {
join.on(builder.and(
builder.equal(join.get(IssueField.PROP_NAME), getFieldName()),
builder.or(builder.isNull(join.get(IssueField.PROP_VALUE)))));
Join<?, ?> join2 = root.join(Issue.PROP_FIELDS, JoinType.LEFT);
join2.on(builder.equal(join2.get(IssueField.PROP_NAME), getFieldName()));
return builder.or(join.isNotNull(), join2.isNull());
}
}
@Override
public Predicate getPredicate(Root<CodeComment> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(CodeComment.PROP_REPLIES, JoinType.LEFT);
Path<String> attribute = join.get(CodeCommentReply.PROP_CONTENT);
join.on(builder.like(builder.lower(attribute), "%" + value.toLowerCase().replace('*', '%') + "%"));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(PullRequest.PROP_REVIEWS, JoinType.LEFT);
Path<?> userPath = EntityQuery.getPath(join, PullRequestReview.PROP_USER);
Path<?> approvedPath = EntityQuery.getPath(join, PullRequestReview.PROP_RESULT + "." + ReviewResult.PROP_APPROVED);
join.on(builder.and(
builder.equal(userPath, user),
builder.equal(approvedPath, false)));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(PullRequest.PROP_REVIEWS, JoinType.LEFT);
Path<?> userPath = EntityQuery.getPath(join, PullRequestReview.PROP_USER);
Path<?> approvedPath = EntityQuery.getPath(join, PullRequestReview.PROP_RESULT + "." + ReviewResult.PROP_APPROVED);
join.on(builder.and(
builder.isNotNull(userPath),
builder.isNull(approvedPath)));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(PullRequest.PROP_REVIEWS, JoinType.LEFT);
Path<?> userPath = EntityQuery.getPath(join, PullRequestReview.PROP_USER);
Path<?> approvedPath = EntityQuery.getPath(join, PullRequestReview.PROP_RESULT + "." + ReviewResult.PROP_APPROVED);
join.on(builder.and(
builder.isNotNull(userPath),
builder.equal(approvedPath, false)));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(PullRequest.PROP_REVIEWS, JoinType.LEFT);
Path<?> userPath = EntityQuery.getPath(join, PullRequestReview.PROP_USER);
Path<?> approvedPath = EntityQuery.getPath(join, PullRequestReview.PROP_RESULT + "." + ReviewResult.PROP_APPROVED);
join.on(builder.and(
builder.equal(userPath, user),
builder.isNull(approvedPath)));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
if (User.get() != null) {
Join<?, ?> join = root.join(PullRequest.PROP_ASSIGNMENTS, JoinType.LEFT);
Path<?> userPath = EntityQuery.getPath(join, PullRequestAssignment.PROP_USER);
join.on(builder.equal(userPath, User.get()));
return join.isNotNull();
} else {
throw new OneException("Please login to perform this query");
}
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(PullRequest.PROP_REVIEWS, JoinType.LEFT);
Path<?> userPath = EntityQuery.getPath(join, PullRequestReview.PROP_USER);
Path<?> approvedPath = EntityQuery.getPath(join, PullRequestReview.PROP_RESULT + "." + ReviewResult.PROP_APPROVED);
join.on(builder.and(
builder.equal(userPath, user),
builder.equal(approvedPath, true)));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(PullRequest.PROP_ASSIGNMENTS, JoinType.LEFT);
Path<?> userPath = EntityQuery.getPath(join, PullRequestAssignment.PROP_USER);
join.on(builder.equal(userPath, user));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
Join<?, ?> join = root
.join(PullRequest.PROP_VERIFICATIONS, JoinType.LEFT)
.join(PullRequestVerification.PROP_BUILD, JoinType.INNER);
Path<?> status = join.get(Build.STATUS);
join.on(builder.or(
builder.equal(status, Build.Status.RUNNING),
builder.equal(status, Build.Status.PENDING),
builder.equal(status, Build.Status.WAITING)));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<Build> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(Build.PROP_PARAMS, JoinType.LEFT);
join.on(builder.and(
builder.equal(join.get(BuildParam.PROP_NAME), name)),
builder.equal(join.get(BuildParam.PROP_VALUE), value));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(PullRequest.PROP_COMMENTS, JoinType.LEFT);
Path<String> attribute = join.get(PullRequestComment.PROP_CONTENT);
join.on(builder.like(builder.lower(attribute), "%" + value.toLowerCase() + "%"));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
Join<?, ?> join = root
.join(PullRequest.PROP_VERIFICATIONS, JoinType.LEFT)
.join(PullRequestVerification.PROP_BUILD, JoinType.INNER);
Path<?> status = join.get(Build.STATUS);
join.on(builder.or(
builder.equal(status, Build.Status.FAILED),
builder.equal(status, Build.Status.CANCELLED),
builder.equal(status, Build.Status.TIMED_OUT)));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
if (User.get() != null) {
Join<?, ?> join = root.join(PullRequest.PROP_REVIEWS, JoinType.LEFT);
Path<?> userPath = EntityQuery.getPath(join, PullRequestReview.PROP_USER);
Path<?> approvedPath = EntityQuery.getPath(join, PullRequestReview.PROP_RESULT + "." + ReviewResult.PROP_APPROVED);
join.on(builder.and(
builder.equal(userPath, User.get()),
builder.isNull(approvedPath)));
return join.isNotNull();
} else {
throw new OneException("Please login to perform this query");
}
}
@Override
public Predicate getPredicate(Root<PullRequest> root, CriteriaBuilder builder) {
if (User.get() != null) {
Join<?, ?> join = root.join(PullRequest.PROP_REVIEWS, JoinType.LEFT);
Path<?> userPath = EntityQuery.getPath(join, PullRequestReview.PROP_USER);
Path<?> approvedPath = EntityQuery.getPath(join, PullRequestReview.PROP_RESULT + "." + ReviewResult.PROP_APPROVED);
join.on(builder.and(
builder.equal(userPath, User.get()),
builder.equal(approvedPath, false)));
return join.isNotNull();
} else {
throw new OneException("Please login to perform this query");
}
}
@Override
public Predicate getPredicate(Root<Issue> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(Issue.PROP_COMMENTS, JoinType.LEFT);
Path<String> attribute = join.get(IssueComment.PATH_CONTENT);
join.on(builder.like(builder.lower(attribute), "%" + value.toLowerCase() + "%"));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<Build> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(Build.PROP_DEPENDENTS, JoinType.LEFT);
join.on(builder.equal(join.get(BuildDependence.PROP_DEPENDENT), build));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<Build> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(Build.PROP_VERIFICATIONS, JoinType.LEFT);
join.on(builder.equal(join.get(PullRequestVerification.PROP_REQUIRED), true));
return join.isNotNull();
}
@Override
public Predicate getPredicate(Root<Build> root, CriteriaBuilder builder) {
Join<?, ?> join = root.join(Build.PROP_DEPENDENCIES, JoinType.LEFT);
join.on(builder.equal(join.get(BuildDependence.PROP_DEPENDENCY), build));
return join.isNotNull();
}