提交 10ad9a29 编写于 作者: Z zhourui

修改SignalStack 支持异步操作

上级 ccc68e49
......@@ -542,8 +542,8 @@ public class EntityManagerContainer extends EntityManagerContainerBasic {
return new ArrayList<T>(query.getResultList());
}
public <T extends JpaObject> List<T> listEqualAndLessThanOrEqualTo(Class<T> cls, String attribute,
Object value, String otherAttribute, Object otherValue) throws Exception {
public <T extends JpaObject> List<T> listEqualAndLessThanOrEqualTo(Class<T> cls, String attribute, Object value,
String otherAttribute, Object otherValue) throws Exception {
EntityManager em = this.get(cls);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<T> cq = cb.createQuery(cls);
......@@ -610,6 +610,16 @@ public class EntityManagerContainer extends EntityManagerContainerBasic {
return list;
}
public <T extends JpaObject> Optional<T> first(Class<T> cls) throws Exception {
EntityManager em = this.get(cls);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<T> cq = cb.createQuery(cls);
Root<T> root = cq.from(cls);
cq.select(root);
List<T> os = em.createQuery(cq).setMaxResults(1).getResultList();
return os.isEmpty() ? Optional.empty() : Optional.of(os.get(0));
}
public <T extends JpaObject> T firstEqual(Class<T> cls, String attribute, Object value) throws Exception {
EntityManager em = this.get(cls);
CriteriaBuilder cb = em.getCriteriaBuilder();
......@@ -1700,6 +1710,22 @@ public class EntityManagerContainer extends EntityManagerContainerBasic {
return list;
}
public <T extends JpaObject> List<T> listSequenceAfter(Class<T> clz, Integer count, String sequence)
throws Exception {
EntityManager em = this.get(clz);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<T> cq = cb.createQuery(clz);
Root<T> root = cq.from(clz);
Predicate p = cb.conjunction();
if (StringUtils.isNotEmpty(sequence)) {
p = cb.greaterThan(root.get(JpaObject.sequence_FIELDNAME), sequence);
}
cq.select(root).where(p).orderBy(cb.asc(root.get(JpaObject.sequence_FIELDNAME)));
List<T> os = em.createQuery(cq).setMaxResults((count != null && count > 0) ? count : 100).getResultList();
List<T> list = new ArrayList<>(os);
return list;
}
/* 仅在单一数据库可用 */
public <T extends JpaObject> List<T> fetchDescPaging(Class<T> clz, Predicate predicate, Integer page, Integer count,
String orderAttribute) throws Exception {
......
......@@ -211,7 +211,7 @@ public class ActionPersistPublishByWorkFlow extends BaseAction {
if (check) {
try {
JsonElement docData = XGsonBuilder.instance().toJsonTree(wi.getDocData(), Map.class);
JsonElement docData = XGsonBuilder.instance().toJsonTree(wi.getDocData());
wi.setDocStatus("published");
if(wi.getPublishTime()==null) {
wi.setPublishTime(new Date());
......
package com.x.processplatform.core.entity.log;
import java.util.LinkedList;
import java.util.concurrent.CopyOnWriteArrayList;
public class SignalStack extends LinkedList<Signal> {
public class SignalStack extends CopyOnWriteArrayList<Signal> {
private static final long serialVersionUID = -3971898583590304010L;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册