/** * Creates new instance of JPA audit logger * NOTE: this will build the logger but it is not registered directly on a session: once received, * it will need to be registered as an event listener * @return new instance of JPA audit logger */ public static AbstractAuditLogger newJPAInstance() { return new JPAWorkingMemoryDbLogger(); }
@Override @SuppressWarnings("unchecked") protected <R,T> Predicate implSpecificCreatePredicateFromSingleCriteria( CriteriaQuery<R> query, CriteriaBuilder builder, Class queryType, QueryCriteria criteria, QueryWhere queryWhere) { Root<?> table = getRoot(query, queryType); return variableInstanceLogSpecificCreatePredicateFromSingleCriteria(query, builder, criteria, table); }
public JPAWorkingMemoryDbLogger(EntityManagerFactory emf, Environment env) { this.emf = emf; internalSetIsJTA(env); }
private ProcessInstanceLog buildCompletedProcessInstance(long processInstanceId) { ProcessInstanceLog pil = new ProcessInstanceLog(processInstanceId, "test"); pil.setDuration(0L); pil.setExternalId("none"); pil.setIdentity("none"); pil.setOutcome(""); pil.setParentProcessInstanceId(-1L); pil.setProcessId("test"); pil.setProcessName("test process"); pil.setProcessVersion("1"); pil.setStatus(2); pil.setStart(null); pil.setEnd(null); return pil; } }
public VariableInstanceLog(long processInstanceId, String processId, String variableInstanceId, String variableId, String value, String oldValue) { this.processInstanceId = processInstanceId; this.processId = processId; this.variableInstanceId = variableInstanceId; this.variableId = variableId; setValue(value); setOldValue(oldValue); this.date = new Date(); }
protected boolean assertProcessInstanceState(int state, ProcessInstance processInstance) { if (sessionPersistence) { ProcessInstanceLog log = logService.findProcessInstance(processInstance.getId()); if (log != null) { return log.getStatus() == state; } } else { return processInstance.getState() == state; } return false; }
protected void abortProcessInstances(KieSession ksession) { if (sessionPersistence) { try { logService.findActiveProcessInstances().forEach(pi -> ksession.abortProcessInstance(pi.getId())); } catch(Exception e) { } } }
private int getSLAComplianceForProcessInstance(ProcessInstance processInstance) { int slaCompliance = -1; if (sessionPersistence) { ProcessInstanceLog log = logService.findProcessInstance(processInstance.getId()); if (log != null) { slaCompliance = log.getSlaCompliance(); } } else { slaCompliance = ((org.jbpm.process.instance.ProcessInstance)processInstance).getSlaCompliance(); } return slaCompliance; }
@Before public void setUp() throws Exception { context = setupWithPoolingDataSource(JBPM_PERSISTENCE_UNIT_NAME); // load the process KieBase kbase = createKnowledgeBase(); // create a new session Environment env = createEnvironment(context); session = createKieSession(kbase, env); // working memory logger AbstractAuditLogger dblogger = AuditLoggerFactory.newInstance(Type.JPA, session, null); assertNotNull(dblogger); assertTrue(dblogger instanceof JPAWorkingMemoryDbLogger); auditLogService = new CommandBasedAuditLogService(session); }
@Override public ProcessInstance startProcess(String processName) { if( ksession == null ) { KieBase kbase = createKnowledgeBase(); Environment env = createEnvironment(context); ksession = createKieSession(kbase, env); new JPAWorkingMemoryDbLogger(ksession); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); } return ksession.startProcess(processName); }
@Override public ProcessInstance startProcess(String processName) { if( ksession == null ) { KieBase kbase = createKnowledgeBase(); Environment env = createEnvironment(context); ksession = createKieSession(kbase, env); ksession.addEventListener(new JPAWorkingMemoryDbLogger(emf)); ksession.getWorkItemManager().registerWorkItemHandler("Human Task", new SystemOutWorkItemHandler()); } return ksession.startProcess(processName); }
@Override public void beforeNodeLeft(ProcessNodeLeftEvent event) { NodeInstanceLog log = (NodeInstanceLog) builder.buildEvent(event, null); persist(log, event); }
protected void closeEntityManager(EntityManager em, Object transaction) { super.closeEntityManager(em, transaction); }
protected Object joinTransaction(EntityManager em) { return super.joinTransaction(em); }
protected EntityManager getEntityManager() { return super.getEntityManager(); }
protected EntityManager getEntityManager() { return this.jpaService.getEntityManager(); }
protected Object joinTransaction(EntityManager em) { return this.jpaService.joinTransaction(em); }
protected void closeEntityManager(EntityManager em, Object transaction) { this.jpaService.closeEntityManager(em, transaction); }
/** * Creates new instance of JPA audit logger with given Environment * NOTE: this will build the logger but it is not registered directly on a session: once received, * it will need to be registered as an event listener * @param env Environment instance to be used * @return new instance of JPA audit logger */ public static AbstractAuditLogger newJPAInstance(Environment env) { return new JPAWorkingMemoryDbLogger(env); }
public JPAWorkingMemoryDbLogger(Environment env) { internalSetIsJTA(env); }