public final class CmmnHelper extends Object
Modifier and Type | Field and Description |
---|---|
protected static org.slf4j.Logger |
LOG |
Modifier and Type | Method and Description |
---|---|
static boolean |
archiveCase(String caseClientId,
com.edorasware.commons.core.entity.State state,
com.edorasware.commons.core.entity.UserId runAsUser,
com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService,
CaseArchiveManager caseArchiveManager,
com.edorasware.commons.core.identity.CurrentUserService currentUserService)
Archive a case by setting the passed state.
|
static void |
archiveParentCaseRecursive(com.edorasware.cmmn.model.structure.CasePlanModel caze,
com.edorasware.commons.core.entity.UserId runAsUser,
com.edorasware.cmmn.model.TransitionData transitionData,
com.edorasware.cmmn.engine.hooks.PersistenceListeners persistenceListeners,
com.edorasware.cmmn.engine.core.CmmnService cmmnService,
com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService,
CaseArchiveManager caseArchiveManager,
com.edorasware.commons.core.identity.CurrentUserService currentUserService)
If we're archiving a non-blocking sub-case, we may have to check for terminal parent cases which can now also be archived.
|
static void |
collectPlanItems(com.edorasware.cmmn.model.xml.TStage stage,
List<com.edorasware.cmmn.model.xml.TPlanItem> result,
Class<? extends com.edorasware.cmmn.model.xml.TPlanItemDefinition> type)
Recursively visit stages and collect plan items that are assignable to the type passed in (including stages themselves provided the type
parameter matches the stage's type).
|
static com.edorasware.cmmn.model.TransitionData |
createTransitionData(Map<String,Object> formData,
Map<String,Object> parameters,
User user) |
static com.edorasware.cmmn.model.TransitionData |
createTransitionData(Map<String,String[]> parameters,
User user) |
static com.edorasware.cmmn.model.TransitionData |
createTransitionData(User user) |
static List<com.edorasware.cmmn.model.xml.THumanTask> |
extractHumanTasks(com.edorasware.cmmn.model.xml.TDefinitions tDefinitions)
Given the structure of a CMMN XML in
tDefinitions , navigate though it and return all contained THumanTask elements as a list. |
static List<com.edorasware.cmmn.model.xml.TPlanItem> |
extractPlanItems(com.edorasware.cmmn.model.xml.TDefinitions tDefinitions,
Class<? extends com.edorasware.cmmn.model.xml.TPlanItemDefinition> type)
Given the structure of a CMMN XML in
tDefinitions , navigate though it and return all plan items that
are assignable to the type passed in. |
static com.edorasware.commons.core.any.AnyWorkObject |
findWorkObject(com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService,
com.edorasware.commons.core.entity.WorkObjectId workObjectId) |
static com.edorasware.commons.core.any.AnyWorkObject |
findWorkObject(com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService,
com.edorasware.commons.core.entity.WorkObjectId workObjectId,
boolean withVariables) |
static com.edorasware.cmmn.model.xml.TCase |
getCase(com.edorasware.cmmn.model.xml.TDefinitions tDefinitions)
Get the case for a CMMN XML.
|
static String |
getInitFormRef(com.edorasware.cmmn.model.structure.PlanItem planItem,
com.edorasware.commons.core.any.AnyWorkObjectDefinitionService workObjectDefinitionService)
Implementation for ticket CLD-7314 (supporting Case Task and Process Task init forms).
|
static com.edorasware.commons.core.entity.UserId |
getWorkObjectOwnerId(com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService,
com.edorasware.commons.core.entity.WorkObjectId workObjectId) |
static boolean |
handleSpecificFields(com.edorasware.commons.core.service.entity.WorkObjectService workObjectService,
com.edorasware.commons.core.entity.WorkObjectId workObjectId,
String variableName,
Object variableValue,
BaseVariableHandlingService variableHandlingService)
Important: The same set of variables is dealt with in other methods in this class.
|
static boolean |
handleSpecificFields(com.edorasware.commons.core.entity.WorkObject builderTemplate,
com.edorasware.commons.core.entity.WorkObject.WorkObjectBuilder builder,
String variableName,
Object variableValue,
BaseVariableHandlingService variableHandlingService) |
static boolean |
isNonBlockingSubCase(com.edorasware.cmmn.model.structure.CasePlanModel caze) |
static boolean |
isProcessTask(com.edorasware.cmmn.model.structure.PlanItem planItem)
A ProcessTask plan item with a non blank/"EMPTY" BPMN process reference (clientRef) is considered a
process task (in contrast to a service task - see
isServiceTask(com.edorasware.cmmn.model.structure.PlanItem) ). |
static boolean |
isServiceTask(com.edorasware.cmmn.model.structure.PlanItem planItem)
By convention, a ProcessTask plan item with no edoras one BPMN process reference is considered
a service task.
|
static boolean |
isSet(Object object) |
static HashMap<String,Object> |
removeSpecialFields(Map<String,Object> inputMap) |
static void |
setMapValueWithDefault(Map<String,Object> map,
String property,
Object value,
String defaultValue)
Put a named property value into a map, using a default value if the passed value is
null . |
static void |
trySetMapValueWithDefault(Map<String,Object> map,
String property,
Object value,
String defaultValue)
Put a named property value into a map, using a default value if the passed value is
null . |
static HashMap<String,Object> |
workObjectToMap(com.edorasware.commons.core.entity.WorkObject<?,?,?> workObject) |
public static boolean archiveCase(String caseClientId, com.edorasware.commons.core.entity.State state, com.edorasware.commons.core.entity.UserId runAsUser, com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService, CaseArchiveManager caseArchiveManager, com.edorasware.commons.core.identity.CurrentUserService currentUserService)
null
, will archive the case with the privileges of the owner of the case to be archived.true
, if the case was archived (state change), false
if the case was already archived.public static void archiveParentCaseRecursive(com.edorasware.cmmn.model.structure.CasePlanModel caze, com.edorasware.commons.core.entity.UserId runAsUser, com.edorasware.cmmn.model.TransitionData transitionData, com.edorasware.cmmn.engine.hooks.PersistenceListeners persistenceListeners, com.edorasware.cmmn.engine.core.CmmnService cmmnService, com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService, CaseArchiveManager caseArchiveManager, com.edorasware.commons.core.identity.CurrentUserService currentUserService)
public static boolean isNonBlockingSubCase(com.edorasware.cmmn.model.structure.CasePlanModel caze)
public static boolean isServiceTask(com.edorasware.cmmn.model.structure.PlanItem planItem)
public static boolean isProcessTask(com.edorasware.cmmn.model.structure.PlanItem planItem)
isServiceTask(com.edorasware.cmmn.model.structure.PlanItem)
).public static List<com.edorasware.cmmn.model.xml.THumanTask> extractHumanTasks(com.edorasware.cmmn.model.xml.TDefinitions tDefinitions)
tDefinitions
, navigate though it and return all contained THumanTask
elements as a list.tDefinitions
- the XML model in which to look.THumanTask
elements found. May be empty but never null
.public static List<com.edorasware.cmmn.model.xml.TPlanItem> extractPlanItems(com.edorasware.cmmn.model.xml.TDefinitions tDefinitions, Class<? extends com.edorasware.cmmn.model.xml.TPlanItemDefinition> type)
tDefinitions
, navigate though it and return all plan items that
are assignable to the type passed in. Note: the CasePlanModel itself is never returned as a plan item.tDefinitions
- the XML model in which to look.type
- the type of plan item you're interested in.TPlanItemDefinition
elements found. May be empty but never null
.public static com.edorasware.cmmn.model.xml.TCase getCase(com.edorasware.cmmn.model.xml.TDefinitions tDefinitions)
tDefinitions
- the root element.public static void collectPlanItems(com.edorasware.cmmn.model.xml.TStage stage, List<com.edorasware.cmmn.model.xml.TPlanItem> result, Class<? extends com.edorasware.cmmn.model.xml.TPlanItemDefinition> type)
stage
- the starting stage.result
- the list to which to add the elements found.type
- the type of plan item you're interested in.public static boolean handleSpecificFields(com.edorasware.commons.core.entity.WorkObject builderTemplate, com.edorasware.commons.core.entity.WorkObject.WorkObjectBuilder builder, String variableName, Object variableValue, BaseVariableHandlingService variableHandlingService)
public static boolean handleSpecificFields(com.edorasware.commons.core.service.entity.WorkObjectService workObjectService, com.edorasware.commons.core.entity.WorkObjectId workObjectId, String variableName, Object variableValue, BaseVariableHandlingService variableHandlingService)
Important: The same set of variables is dealt with in other methods in this class.
public static HashMap<String,Object> workObjectToMap(com.edorasware.commons.core.entity.WorkObject<?,?,?> workObject)
public static HashMap<String,Object> removeSpecialFields(Map<String,Object> inputMap)
public static void trySetMapValueWithDefault(Map<String,Object> map, String property, Object value, String defaultValue)
null
. The method
only puts the value into the destination map if there is no such entry yet.public static void setMapValueWithDefault(Map<String,Object> map, String property, Object value, String defaultValue)
null
.public static boolean isSet(Object object)
public static com.edorasware.commons.core.entity.UserId getWorkObjectOwnerId(com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService, com.edorasware.commons.core.entity.WorkObjectId workObjectId)
public static com.edorasware.commons.core.any.AnyWorkObject findWorkObject(com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService, com.edorasware.commons.core.entity.WorkObjectId workObjectId)
public static com.edorasware.commons.core.any.AnyWorkObject findWorkObject(com.edorasware.commons.core.any.AnyWorkObjectService anyWorkObjectService, com.edorasware.commons.core.entity.WorkObjectId workObjectId, boolean withVariables)
public static com.edorasware.cmmn.model.TransitionData createTransitionData(User user)
public static com.edorasware.cmmn.model.TransitionData createTransitionData(Map<String,String[]> parameters, User user)
public static com.edorasware.cmmn.model.TransitionData createTransitionData(Map<String,Object> formData, Map<String,Object> parameters, User user)
public static String getInitFormRef(com.edorasware.cmmn.model.structure.PlanItem planItem, com.edorasware.commons.core.any.AnyWorkObjectDefinitionService workObjectDefinitionService)
Copyright © 2010 - 2017 edorasware ag. All Rights Reserved.