Skip to content

Commit

Permalink
Merge branch 'main' into dependabot/maven/org.tkit.onecx-onecx-quarku…
Browse files Browse the repository at this point in the history
…s3-parent-0.34.0
  • Loading branch information
andrejpetras authored Feb 15, 2024
2 parents 6e1b96b + fd1d0f2 commit 33d8b2f
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,6 @@ public class AnnouncementSearchCriteria {
private @Valid Integer pageSize = 100;

private @Valid String workspaceName;

private String title;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.persistence.NoResultException;
import jakarta.persistence.Tuple;
import jakarta.persistence.criteria.*;

import org.tkit.onecx.announcement.domain.criteria.AnnouncementSearchCriteria;
Expand All @@ -17,6 +16,7 @@
import org.tkit.quarkus.jpa.exceptions.DAOException;
import org.tkit.quarkus.jpa.models.AbstractTraceableEntity_;
import org.tkit.quarkus.jpa.models.TraceableEntity_;
import org.tkit.quarkus.jpa.utils.QueryCriteriaUtil;

import lombok.extern.slf4j.Slf4j;

Expand Down Expand Up @@ -75,12 +75,13 @@ public PageResult<Announcement> loadAnnouncementByCriteria(AnnouncementSearchCri
}
if (criteria.getPriority() != null) {
predicates.add(root.get(Announcement_.PRIORITY).in(criteria.getPriority()));

}

if (criteria.getType() != null) {
predicates.add(root.get(Announcement_.TYPE).in(criteria.getType()));

}
QueryCriteriaUtil.addSearchStringPredicate(predicates, cb, root.get(Announcement_.TITLE), criteria.getTitle());

if (!predicates.isEmpty()) {
cq.where(cb.and(predicates.toArray(new Predicate[0])));
}
Expand All @@ -97,12 +98,11 @@ public PageResult<Announcement> loadAnnouncementByCriteria(AnnouncementSearchCri
public List<String> findApplicationsWithAnnouncements() {
try {
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Tuple> cq = cb.createTupleQuery();
CriteriaQuery<String> cq = cb.createQuery(String.class);
Root<Announcement> root = cq.from(Announcement.class);
cq.multiselect(root.get(Announcement_.APP_ID));
cq.distinct(true);
List<Tuple> tupleResult = getEntityManager().createQuery(cq).getResultList();
return tupleResult.stream().map(t -> (String) t.get(0)).toList();
cq.select(root.get(Announcement_.APP_ID)).distinct(true);
cq.where(root.get(Announcement_.APP_ID).isNotNull());
return getEntityManager().createQuery(cq).getResultList();
} catch (Exception ex) {
throw new DAOException(ErrorKeys.ERROR_FIND_APPLICATIONS_WITH_ANNOUNCEMENTS, ex);
}
Expand All @@ -111,12 +111,11 @@ public List<String> findApplicationsWithAnnouncements() {
public List<String> findWorkspacesWithAnnouncements() {
try {
CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Tuple> cq = cb.createTupleQuery();
CriteriaQuery<String> cq = cb.createQuery(String.class);
Root<Announcement> root = cq.from(Announcement.class);
cq.multiselect(root.get(Announcement_.WORKSPACE_NAME));
cq.distinct(true);
List<Tuple> tupleResult = getEntityManager().createQuery(cq).getResultList();
return tupleResult.stream().map(t -> (String) t.get(0)).toList();
cq.select(root.get(Announcement_.WORKSPACE_NAME)).distinct(true);
cq.where(root.get(Announcement_.WORKSPACE_NAME).isNotNull());
return getEntityManager().createQuery(cq).getResultList();
} catch (Exception ex) {
throw new DAOException(ErrorKeys.ERROR_FIND_WORKSPACES_WITH_ANNOUNCEMENTS, ex);
}
Expand Down
2 changes: 2 additions & 0 deletions src/main/openapi/announcement-openapi-v1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,8 @@ components:
$ref: '#/components/schemas/OffsetDateTime'
appId:
type: string
title:
type: string
workspaceName:
type: string
pageNumber:
Expand Down

0 comments on commit 33d8b2f

Please sign in to comment.