|
jBPM :: Distribution 6.2.0.Final | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jbpm.process.audit.JPAAuditLogService
public class JPAAuditLogService
The idea here is that we have a entity manager factory (similar to a session factory) that we repeatedly use to generate an entity manager (which is a persistence context) for the specific service command. While ProcessInstanceLog (and other *Log) entities do not contain LOB's (which sometimes necessitate the use of tx's even in read situations), we use transactions here none-the-less, just to be safe. Obviously, if there is already a running transaction present, we don't do anything to it. At the end of every command, we make sure to close the entity manager we've been using -- which also means that we detach any entities that might be associated with the entity manager/persistence context. After all, this is a service which means our philosophy here is to provide a real interface, and not a leaky one.
Field Summary | |
---|---|
static Map<String,Class<?>> |
criteriaFieldClasses
|
static Map<String,String> |
criteriaFields
|
static String |
NODE_INSTANCE_LOG_DELETE
|
static String |
NODE_INSTANCE_LOG_QUERY
|
protected PersistenceStrategy |
persistenceStrategy
|
static String |
PROCESS_INSTANCE_LOG_DELETE
|
static String |
PROCESS_INSTANCE_LOG_QUERY
|
static String |
VARIABLE_INSTANCE_LOG_DELETE
|
static String |
VARIABLE_INSTANCE_LOG_QUERY
|
Constructor Summary | |
---|---|
JPAAuditLogService()
|
|
JPAAuditLogService(javax.persistence.EntityManagerFactory emf)
|
|
JPAAuditLogService(javax.persistence.EntityManagerFactory emf,
PersistenceStrategyType type)
|
|
JPAAuditLogService(Environment env)
|
|
JPAAuditLogService(Environment env,
PersistenceStrategyType type)
|
Method Summary | ||
---|---|---|
protected static void |
addCriteria(String listId,
String fieldName,
Class type)
|
|
static void |
addVarValCriteria(boolean addWhereClause,
StringBuilder queryBuilder,
org.kie.internal.query.QueryAndParameterAppender queryAppender,
String tableId,
List<Object[]> varValCriteriaList)
|
|
static void |
checkVarValCriteria(List<String> varValList,
boolean union,
boolean regex,
List<Object[]> varValCriteriaList)
|
|
void |
clear()
Removes all entries from audit data store |
|
protected
|
convertListToInterfaceList(List<C> internalResult,
Class<I> interfaceType)
|
|
void |
dispose()
Indicates that work with this instance of AuditService is completed and can be disposed (release resources) |
|
int |
doDelete(org.kie.internal.query.data.QueryData queryData,
Class<?> resultType)
|
|
int |
doDelete(String queryBase,
org.kie.internal.query.data.QueryData queryData,
Class<?> resultType)
|
|
|
doQuery(org.kie.internal.query.data.QueryData queryData,
Class<T> resultType)
|
|
|
doQuery(String queryBase,
org.kie.internal.query.data.QueryData queryData,
Class<T> resultType)
|
|
List<ProcessInstanceLog> |
findActiveProcessInstances()
|
|
List<ProcessInstanceLog> |
findActiveProcessInstances(String processId)
Returns all active process instances for given process id |
|
List<NodeInstanceLog> |
findNodeInstances(long processInstanceId)
Returns all node instances that were already triggered for given process instance id |
|
List<NodeInstanceLog> |
findNodeInstances(long processInstanceId,
String nodeId)
Returns all node instances that were already triggered for given process instance id and node identifier |
|
ProcessInstanceLog |
findProcessInstance(long processInstanceId)
Returns process instance log for given process instance id |
|
List<ProcessInstanceLog> |
findProcessInstances()
Service methods |
|
List<ProcessInstanceLog> |
findProcessInstances(String processId)
Returns all known process instances for given process id |
|
List<ProcessInstanceLog> |
findSubProcessInstances(long processInstanceId)
Returns all known subprocess instance logs for given process instance id - considered parent process instance id |
|
List<VariableInstanceLog> |
findVariableInstances(long processInstanceId)
Returns all variable logs for given process instance id |
|
List<VariableInstanceLog> |
findVariableInstances(long processInstanceId,
String variableId)
Returns all variable logs for given process instance id and variable identifier |
|
List<VariableInstanceLog> |
findVariableInstancesByName(String variableId,
boolean onlyActiveProcesses)
Returns all variable logs that are identified by variable id regardless of what process instance they belong to |
|
List<VariableInstanceLog> |
findVariableInstancesByNameAndValue(String variableId,
String value,
boolean onlyActiveProcesses)
Returns all variable logs that are identified by variable id and has given value regardless of what process instance they belong to |
|
String |
getPersistenceUnitName()
|
|
org.kie.internal.runtime.manager.audit.query.NodeInstanceLogDeleteBuilder |
nodeInstanceLogDelete()
|
|
org.kie.internal.runtime.manager.audit.query.NodeInstanceLogQueryBuilder |
nodeInstanceLogQuery()
Creates a "query builder" instance that allows the user to specify the specific query criteria to retrieve NodeInstanceLog instances. |
|
org.kie.internal.runtime.manager.audit.query.ProcessInstanceLogDeleteBuilder |
processInstanceLogDelete()
|
|
org.kie.internal.runtime.manager.audit.query.ProcessInstanceLogQueryBuilder |
processInstanceLogQuery()
Creates a "query builder" instance that allows the user to specify the specific query criteria to retrieve ProcessInstanceLog instances. |
|
List<NodeInstanceLog> |
queryNodeInstanceLogs(org.kie.internal.query.data.QueryData queryData)
|
|
List<ProcessInstanceLog> |
queryProcessInstanceLogs(org.kie.internal.query.data.QueryData queryData)
|
|
List<VariableInstanceLog> |
queryVariableInstanceLogs(org.kie.internal.query.data.QueryData queryData)
|
|
void |
setPersistenceUnitName(String persistenceUnitName)
|
|
org.kie.internal.runtime.manager.audit.query.VariableInstanceLogDeleteBuilder |
variableInstanceLogDelete()
|
|
org.kie.internal.runtime.manager.audit.query.VariableInstanceLogQueryBuilder |
variableInstanceLogQuery()
Creates a "query builder" instance that allows the user to specify the specific query criteria to retrieve VariableInstanceLog instances. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected PersistenceStrategy persistenceStrategy
public static String NODE_INSTANCE_LOG_QUERY
public static String VARIABLE_INSTANCE_LOG_QUERY
public static String PROCESS_INSTANCE_LOG_QUERY
public static String NODE_INSTANCE_LOG_DELETE
public static String VARIABLE_INSTANCE_LOG_DELETE
public static String PROCESS_INSTANCE_LOG_DELETE
public static Map<String,String> criteriaFields
public static Map<String,Class<?>> criteriaFieldClasses
Constructor Detail |
---|
public JPAAuditLogService()
public JPAAuditLogService(Environment env, PersistenceStrategyType type)
public JPAAuditLogService(Environment env)
public JPAAuditLogService(javax.persistence.EntityManagerFactory emf)
public JPAAuditLogService(javax.persistence.EntityManagerFactory emf, PersistenceStrategyType type)
Method Detail |
---|
public void setPersistenceUnitName(String persistenceUnitName)
public String getPersistenceUnitName()
public List<ProcessInstanceLog> findProcessInstances()
AuditLogService
findProcessInstances
in interface AuditLogService
findProcessInstances
in interface AuditService
public List<ProcessInstanceLog> findActiveProcessInstances()
findActiveProcessInstances
in interface AuditLogService
public List<ProcessInstanceLog> findProcessInstances(String processId)
AuditService
findProcessInstances
in interface AuditLogService
findProcessInstances
in interface AuditService
processId
- identifier of the process definition
public List<ProcessInstanceLog> findActiveProcessInstances(String processId)
AuditService
findActiveProcessInstances
in interface AuditLogService
findActiveProcessInstances
in interface AuditService
processId
- identifier of the process definition
public ProcessInstanceLog findProcessInstance(long processInstanceId)
AuditService
findProcessInstance
in interface AuditLogService
findProcessInstance
in interface AuditService
processInstanceId
- unique identifier of process instance
public List<ProcessInstanceLog> findSubProcessInstances(long processInstanceId)
AuditService
findSubProcessInstances
in interface AuditLogService
findSubProcessInstances
in interface AuditService
processInstanceId
- identifier of the parent process instance id
public List<NodeInstanceLog> findNodeInstances(long processInstanceId)
AuditService
findNodeInstances
in interface AuditLogService
findNodeInstances
in interface AuditService
processInstanceId
- unique identifier of process instance
public List<NodeInstanceLog> findNodeInstances(long processInstanceId, String nodeId)
AuditService
findNodeInstances
in interface AuditLogService
findNodeInstances
in interface AuditService
processInstanceId
- unique identifier of process instancenodeId
- node identifier - by default it should be unique id (from process definition)
but if not available regular node id shall be used
public List<VariableInstanceLog> findVariableInstances(long processInstanceId)
AuditService
findVariableInstances
in interface AuditLogService
findVariableInstances
in interface AuditService
processInstanceId
- unique identifier of process instance
public List<VariableInstanceLog> findVariableInstances(long processInstanceId, String variableId)
AuditService
findVariableInstances
in interface AuditLogService
findVariableInstances
in interface AuditService
processInstanceId
- unique identifier of process instancevariableId
- variable name
public List<VariableInstanceLog> findVariableInstancesByName(String variableId, boolean onlyActiveProcesses)
AuditService
findVariableInstancesByName
in interface AuditLogService
findVariableInstancesByName
in interface AuditService
variableId
- variable nameonlyActiveProcesses
- indicates if only active process instances should be considered or both active and completed
public List<VariableInstanceLog> findVariableInstancesByNameAndValue(String variableId, String value, boolean onlyActiveProcesses)
AuditService
findVariableInstancesByNameAndValue
in interface AuditLogService
findVariableInstancesByNameAndValue
in interface AuditService
variableId
- variable namevalue
- value of the variableonlyActiveProcesses
- indicates if only active process instances should be considered or both active and completed
public void clear()
AuditService
clear
in interface AuditService
public void dispose()
AuditService
AuditService
is completed and can be disposed (release resources)
dispose
in interface AuditService
public org.kie.internal.runtime.manager.audit.query.NodeInstanceLogQueryBuilder nodeInstanceLogQuery()
AuditLogService
NodeInstanceLog
instances.
nodeInstanceLogQuery
in interface AuditLogService
NodeInstanceLogQueryBuilder
instancepublic org.kie.internal.runtime.manager.audit.query.VariableInstanceLogQueryBuilder variableInstanceLogQuery()
AuditLogService
VariableInstanceLog
instances.
variableInstanceLogQuery
in interface AuditLogService
VariableInstanceLogQueryBuilder
instancepublic org.kie.internal.runtime.manager.audit.query.ProcessInstanceLogQueryBuilder processInstanceLogQuery()
AuditLogService
ProcessInstanceLog
instances.
processInstanceLogQuery
in interface AuditLogService
ProcessInstanceLogQueryBuilder
instancepublic org.kie.internal.runtime.manager.audit.query.ProcessInstanceLogDeleteBuilder processInstanceLogDelete()
processInstanceLogDelete
in interface AuditLogService
public org.kie.internal.runtime.manager.audit.query.NodeInstanceLogDeleteBuilder nodeInstanceLogDelete()
nodeInstanceLogDelete
in interface AuditLogService
public org.kie.internal.runtime.manager.audit.query.VariableInstanceLogDeleteBuilder variableInstanceLogDelete()
variableInstanceLogDelete
in interface AuditLogService
public List<NodeInstanceLog> queryNodeInstanceLogs(org.kie.internal.query.data.QueryData queryData)
queryNodeInstanceLogs
in interface AuditLogService
public List<VariableInstanceLog> queryVariableInstanceLogs(org.kie.internal.query.data.QueryData queryData)
queryVariableInstanceLogs
in interface AuditLogService
public List<ProcessInstanceLog> queryProcessInstanceLogs(org.kie.internal.query.data.QueryData queryData)
queryProcessInstanceLogs
in interface AuditLogService
protected <C,I> List<I> convertListToInterfaceList(List<C> internalResult, Class<I> interfaceType)
protected static void addCriteria(String listId, String fieldName, Class type)
public <T> List<T> doQuery(org.kie.internal.query.data.QueryData queryData, Class<T> resultType)
queryData
- resultType
-
public <T> List<T> doQuery(String queryBase, org.kie.internal.query.data.QueryData queryData, Class<T> resultType)
public int doDelete(org.kie.internal.query.data.QueryData queryData, Class<?> resultType)
public int doDelete(String queryBase, org.kie.internal.query.data.QueryData queryData, Class<?> resultType)
public static void checkVarValCriteria(List<String> varValList, boolean union, boolean regex, List<Object[]> varValCriteriaList)
public static void addVarValCriteria(boolean addWhereClause, StringBuilder queryBuilder, org.kie.internal.query.QueryAndParameterAppender queryAppender, String tableId, List<Object[]> varValCriteriaList)
|
jBPM :: Distribution 6.2.0.Final | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |