public class CmmnJsonConverter extends Object implements EditorJsonConstants, CmmnStencilConstants, ActivityProcessor
| Modifier and Type | Class and Description |
|---|---|
static class |
CmmnJsonConverter.CmmnModelIdHelper |
| Modifier and Type | Field and Description |
|---|---|
protected static Map<String,Class<? extends BaseCmmnJsonConverter>> |
convertersToCmmnMap |
protected static Map<Class<? extends BaseElement>,Class<? extends BaseCmmnJsonConverter>> |
convertersToJsonMap |
protected static DateTimeFormatter |
defaultFormat |
protected static DateTimeFormatter |
entFormat |
protected double |
lineWidth |
protected static org.slf4j.Logger |
LOGGER |
static String |
MODELER_NAMESPACE |
protected com.fasterxml.jackson.databind.ObjectMapper |
objectMapper |
EDITOR_BOUNDS, EDITOR_BOUNDS_LOWER_RIGHT, EDITOR_BOUNDS_UPPER_LEFT, EDITOR_BOUNDS_X, EDITOR_BOUNDS_Y, EDITOR_CHILD_SHAPES, EDITOR_DOCKERS, EDITOR_OUTGOING, EDITOR_PROPERTIES_GENERAL_ITEMS, EDITOR_SHAPE_ID, EDITOR_SHAPE_PROPERTIES, EDITOR_STENCIL, EDITOR_STENCIL_IDPROPERTY_AUTOCOMPLETE_CONDITION, PROPERTY_CASE_AUTHOR, PROPERTY_CASE_BUSINESS_KEY, PROPERTY_CASE_ID, PROPERTY_CASE_IN_PARAMETERS, PROPERTY_CASE_INHERIT_BUSINESS_KEY, PROPERTY_CASE_INITIATOR_VARIABLE_NAME, PROPERTY_CASE_NAMESPACE, PROPERTY_CASE_OUT_PARAMETERS, PROPERTY_CASE_REFERENCE, PROPERTY_CASE_VERSION, PROPERTY_COMPLETION_NEUTRAL_ENABLED, PROPERTY_COMPLETION_NEUTRAL_RULE_CONDITION, PROPERTY_DECISION_REFERENCE_TYPE, PROPERTY_DECISIONSERVICE_REFERENCE, PROPERTY_DECISIONTABLE_FALLBACK_TO_DEFAULT_TENANT, PROPERTY_DECISIONTABLE_FALLBACK_TO_DEFAULT_TENANT_KEY, PROPERTY_DECISIONTABLE_REFERENCE, PROPERTY_DECISIONTABLE_REFERENCE_ID, PROPERTY_DECISIONTABLE_REFERENCE_KEY, PROPERTY_DECISIONTABLE_REFERENCE_NAME, PROPERTY_DECISIONTABLE_THROW_ERROR_NO_HITS, PROPERTY_DECISIONTABLE_THROW_ERROR_NO_HITS_KEY, PROPERTY_DISPLAY_ORDER, PROPERTY_DOCUMENTATION, PROPERTY_EVENT_LISTENER_AVAILABLE_CONDITION, PROPERTY_EVENT_REGISTRY_CHANNEL_DESTINATION, PROPERTY_EVENT_REGISTRY_CHANNEL_KEY, PROPERTY_EVENT_REGISTRY_CHANNEL_NAME, PROPERTY_EVENT_REGISTRY_CHANNEL_TYPE, PROPERTY_EVENT_REGISTRY_CORRELATION_PARAMETERS, PROPERTY_EVENT_REGISTRY_CORRELATIONNAME, PROPERTY_EVENT_REGISTRY_CORRELATIONTYPE, PROPERTY_EVENT_REGISTRY_CORRELATIONVALUE, PROPERTY_EVENT_REGISTRY_EVENT_KEY, PROPERTY_EVENT_REGISTRY_EVENT_NAME, PROPERTY_EVENT_REGISTRY_IN_PARAMETERS, PROPERTY_EVENT_REGISTRY_KEY_DETECTION_FIXED_VALUE, PROPERTY_EVENT_REGISTRY_KEY_DETECTION_JSON_FIELD, PROPERTY_EVENT_REGISTRY_KEY_DETECTION_JSON_POINTER, PROPERTY_EVENT_REGISTRY_OUT_PARAMETERS, PROPERTY_EVENT_REGISTRY_PARAMETER_EVENTNAME, PROPERTY_EVENT_REGISTRY_PARAMETER_EVENTTYPE, PROPERTY_EVENT_REGISTRY_PARAMETER_VARIABLENAME, PROPERTY_EVENT_REGISTRY_TRIGGER_CHANNEL_DESTINATION, PROPERTY_EVENT_REGISTRY_TRIGGER_CHANNEL_KEY, PROPERTY_EVENT_REGISTRY_TRIGGER_CHANNEL_NAME, PROPERTY_EVENT_REGISTRY_TRIGGER_CHANNEL_TYPE, PROPERTY_EVENT_REGISTRY_TRIGGER_EVENT_KEY, PROPERTY_EVENT_REGISTRY_TRIGGER_EVENT_NAME, PROPERTY_EVENT_TYPE, PROPERTY_EXTERNAL_WORKER_JOB_TOPIC, PROPERTY_FALLBACK_TO_DEFAULT_TENANT, PROPERTY_FIELD_EXPRESSION, PROPERTY_FIELD_NAME, PROPERTY_FIELD_STRING, PROPERTY_FIELD_STRING_VALUE, PROPERTY_FORM_FIELD_VALIDATION, PROPERTY_FORM_REFERENCE, PROPERTY_FORMKEY, PROPERTY_HTTPTASK_PARALLEL_IN_SAME_TRANSACTION, PROPERTY_HTTPTASK_REQ_BODY, PROPERTY_HTTPTASK_REQ_BODY_ENCODING, PROPERTY_HTTPTASK_REQ_DISALLOW_REDIRECTS, PROPERTY_HTTPTASK_REQ_FAIL_STATUS_CODES, PROPERTY_HTTPTASK_REQ_HANDLE_STATUS_CODES, PROPERTY_HTTPTASK_REQ_HEADERS, PROPERTY_HTTPTASK_REQ_IGNORE_EXCEPTION, PROPERTY_HTTPTASK_REQ_METHOD, PROPERTY_HTTPTASK_REQ_TIMEOUT, PROPERTY_HTTPTASK_REQ_URL, PROPERTY_HTTPTASK_RESPONSE_VARIABLE_NAME, PROPERTY_HTTPTASK_RESULT_VARIABLE_PREFIX, PROPERTY_HTTPTASK_SAVE_REQUEST_VARIABLES, PROPERTY_HTTPTASK_SAVE_RESPONSE_AS_JSON, PROPERTY_HTTPTASK_SAVE_RESPONSE_PARAMETERS, PROPERTY_HTTPTASK_SAVE_RESPONSE_TRANSIENT, PROPERTY_ID_VARIABLE_NAME, PROPERTY_IF_PART_CONDITION, PROPERTY_IN_PARAMETERS, PROPERTY_INCLUDE_IN_STAGE_OVERVIEW, PROPERTY_IS_ASYNC, PROPERTY_IS_ASYNC_LEAVE, PROPERTY_IS_AUTOCOMPLETE, PROPERTY_IS_BLOCKING, PROPERTY_IS_BLOCKING_EXPRESSION, PROPERTY_IS_EXCLUSIVE, PROPERTY_LIFECYCLE_LISTENERS, PROPERTY_LISTENER_CLASS_NAME, PROPERTY_LISTENER_DELEGATE_EXPRESSION, PROPERTY_LISTENER_EVENT, PROPERTY_LISTENER_EXPRESSION, PROPERTY_LISTENER_FIELDS, PROPERTY_LISTENER_SOURCE_STATE, PROPERTY_LISTENER_TARGET_STATE, PROPERTY_MAILTASK_BCC, PROPERTY_MAILTASK_CC, PROPERTY_MAILTASK_CHARSET, PROPERTY_MAILTASK_FROM, PROPERTY_MAILTASK_HEADERS, PROPERTY_MAILTASK_HTML, PROPERTY_MAILTASK_HTML_VAR, PROPERTY_MAILTASK_SUBJECT, PROPERTY_MAILTASK_TEXT, PROPERTY_MAILTASK_TEXT_VAR, PROPERTY_MAILTASK_TO, PROPERTY_MANUAL_ACTIVATION_ENABLED, PROPERTY_MANUAL_ACTIVATION_RULE_CONDITION, PROPERTY_MILESTONE_VARIABLE, PROPERTY_NAME, PROPERTY_OUT_PARAMETERS, PROPERTY_OVERRIDE_ID, PROPERTY_PROCESS_IN_PARAMETERS, PROPERTY_PROCESS_OUT_PARAMETERS, PROPERTY_PROCESS_REFERENCE, PROPERTY_REPETITION_ENABLED, PROPERTY_REPETITION_RULE_CONDITION, PROPERTY_REPETITION_RULE_VARIABLE_NAME, PROPERTY_REPETITION_VARIABLE_AGGREGATIONS, PROPERTY_REQUIRED_ENABLED, PROPERTY_REQUIRED_RULE_CONDITION, PROPERTY_SAME_DEPLOYMENT, PROPERTY_SCRIPT_TASK_SCRIPT_FORMAT, PROPERTY_SCRIPT_TASK_SCRIPT_TEXT, PROPERTY_SERVICETASK_CLASS, PROPERTY_SERVICETASK_DELEGATE_EXPRESSION, PROPERTY_SERVICETASK_EXPRESSION, PROPERTY_SERVICETASK_FIELD_EXPRESSION, PROPERTY_SERVICETASK_FIELD_NAME, PROPERTY_SERVICETASK_FIELD_STRING, PROPERTY_SERVICETASK_FIELD_STRING_VALUE, PROPERTY_SERVICETASK_FIELDS, PROPERTY_SERVICETASK_RESULT_VARIABLE, PROPERTY_SERVICETASK_STORE_RESULT_AS_TRANSIENT, PROPERTY_TIMER_CYCLE, PROPERTY_TIMER_CYCLE_END_DATE, PROPERTY_TIMER_DATE, PROPERTY_TIMER_DURATON, PROPERTY_TIMER_EXPRESSION, PROPERTY_TIMER_START_TRIGGER_SOURCE_REF, PROPERTY_TIMER_START_TRIGGER_STANDARD_EVENT, PROPERTY_TRANSITION_EVENT, PROPERTY_TRIGGER_MODE, PROPERTY_USERTASK_ASSIGNEE, PROPERTY_USERTASK_ASSIGNMENT, PROPERTY_USERTASK_CANDIDATE_GROUPS, PROPERTY_USERTASK_CANDIDATE_USERS, PROPERTY_USERTASK_CATEGORY, PROPERTY_USERTASK_DUEDATE, PROPERTY_USERTASK_LISTENERS, PROPERTY_USERTASK_OWNER, PROPERTY_USERTASK_PRIORITY, PROPERTY_USERTASK_TASK_ID_VARIABLE_NAME, PROPERTY_VALUE_NO, PROPERTY_VALUE_YES, PROPERTY_VARIABLE_LISTENER_VARIABLE_CHANGE_TYPE, PROPERTY_VARIABLE_LISTENER_VARIABLE_NAME, STENCIL_ASSOCIATION, STENCIL_ENTRY_CRITERION, STENCIL_EXIT_CRITERION, STENCIL_GENERIC_EVENT_LISTENER, STENCIL_MILESTONE, STENCIL_PLANMODEL, STENCIL_STAGE, STENCIL_TASK, STENCIL_TASK_CASE, STENCIL_TASK_DECISION, STENCIL_TASK_EXTERNAL_WORKER, STENCIL_TASK_HTTP, STENCIL_TASK_HUMAN, STENCIL_TASK_MAIL, STENCIL_TASK_PROCESS, STENCIL_TASK_SCRIPT, STENCIL_TASK_SEND_EVENT, STENCIL_TASK_SERVICE, STENCIL_TIMER_EVENT_LISTENER, STENCIL_USER_EVENT_LISTENER, STENCIL_VARIABLE_EVENT_LISTENER| Constructor and Description |
|---|
CmmnJsonConverter() |
| Modifier and Type | Method and Description |
|---|---|
protected ExtensionElement |
addFlowableExtensionElement(String name,
Case caseModel) |
protected ExtensionElement |
addFlowableExtensionElementWithValue(String name,
String value,
Case caseModel) |
CmmnModel |
convertToCmmnModel(com.fasterxml.jackson.databind.JsonNode modelNode) |
CmmnModel |
convertToCmmnModel(com.fasterxml.jackson.databind.JsonNode modelNode,
CmmnJsonConverterContext converterContext) |
com.fasterxml.jackson.databind.node.ObjectNode |
convertToJson(CmmnModel model)
Imports a cmmn model as-is (no app, no other models)
|
com.fasterxml.jackson.databind.node.ObjectNode |
convertToJson(CmmnModel model,
CmmnJsonConverterContext converterContext) |
protected Area |
createEllipse(GraphicInfo sourceInfo,
double halfWidth,
double halfHeight) |
protected Area |
createGateway(GraphicInfo graphicInfo) |
protected GraphicInfo |
createGraphicInfo(double x,
double y) |
protected Area |
createRectangle(GraphicInfo graphicInfo) |
protected void |
createSentryParts(Set<String> criteriaRefs,
Stage parentStage,
Map<String,List<Association>> associationMap,
CmmnModel cmmnModel,
CmmnJsonConverter.CmmnModelIdHelper cmmnModelIdHelper,
HasEntryCriteria hasEntryCriteriaElement,
HasExitCriteria hasExitCriteriaElement) |
protected void |
filterAllEdges(com.fasterxml.jackson.databind.JsonNode objectNode,
Map<String,com.fasterxml.jackson.databind.JsonNode> edgeMap,
Map<String,List<com.fasterxml.jackson.databind.JsonNode>> sourceAndTargetMap,
Map<String,com.fasterxml.jackson.databind.JsonNode> shapeMap,
Map<String,com.fasterxml.jackson.databind.JsonNode> sourceRefMap) |
protected String |
getExtensionValue(String name,
Case caseModel) |
protected Collection<Point2D> |
getIntersections(Line2D line,
Area shape) |
protected Shape |
getLineShape(Line2D line2D) |
protected void |
postProcessAssociationForTextAnnotation(Association association,
CmmnModel cmmnModel) |
protected Map<String,List<Association>> |
postProcessAssociations(CmmnModel cmmnModel) |
protected void |
postProcessElements(Stage parentStage,
List<PlanItem> planItems,
Map<String,com.fasterxml.jackson.databind.JsonNode> edgeMap,
Map<String,List<Association>> associationMap,
CmmnModel cmmnModel,
CmmnJsonConverter.CmmnModelIdHelper cmmnModelIdHelper) |
void |
processJsonElements(com.fasterxml.jackson.databind.JsonNode shapesArrayNode,
com.fasterxml.jackson.databind.JsonNode modelNode,
BaseElement parentElement,
Map<String,com.fasterxml.jackson.databind.JsonNode> shapeMap,
CmmnJsonConverterContext converterContext,
CmmnModel cmmnModel,
CmmnJsonConverter.CmmnModelIdHelper cmmnModelIdHelper) |
protected void |
processPlanItem(PlanItem planItem,
Stage stage,
CmmnModel model,
com.fasterxml.jackson.databind.node.ArrayNode shapesArrayNode,
CmmnJsonConverterContext converterContext,
double containerX,
double containerY) |
void |
processPlanItems(Stage stage,
CmmnModel model,
com.fasterxml.jackson.databind.node.ArrayNode shapesArrayNode,
CmmnJsonConverterContext converterContext,
double subProcessX,
double subProcessY) |
protected void |
readEdgeDI(Map<String,com.fasterxml.jackson.databind.JsonNode> edgeMap,
Map<String,List<com.fasterxml.jackson.databind.JsonNode>> sourceAndTargetMap,
CmmnModel cmmnModel) |
protected void |
readShapeDI(com.fasterxml.jackson.databind.JsonNode objectNode,
double parentX,
double parentY,
CmmnModel cmmnModel) |
protected void |
readShapeInfo(com.fasterxml.jackson.databind.JsonNode objectNode,
Map<String,com.fasterxml.jackson.databind.JsonNode> shapeMap,
Map<String,com.fasterxml.jackson.databind.JsonNode> sourceRefMap) |
protected void |
setPropertyValue(String name,
String value,
com.fasterxml.jackson.databind.node.ObjectNode propertiesNode) |
protected static final org.slf4j.Logger LOGGER
protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
protected static Map<Class<? extends BaseElement>,Class<? extends BaseCmmnJsonConverter>> convertersToJsonMap
protected static Map<String,Class<? extends BaseCmmnJsonConverter>> convertersToCmmnMap
public static final String MODELER_NAMESPACE
protected static final DateTimeFormatter defaultFormat
protected static final DateTimeFormatter entFormat
protected double lineWidth
public com.fasterxml.jackson.databind.node.ObjectNode convertToJson(CmmnModel model)
public com.fasterxml.jackson.databind.node.ObjectNode convertToJson(CmmnModel model, CmmnJsonConverterContext converterContext)
public void processPlanItems(Stage stage, CmmnModel model, com.fasterxml.jackson.databind.node.ArrayNode shapesArrayNode, CmmnJsonConverterContext converterContext, double subProcessX, double subProcessY)
processPlanItems in interface ActivityProcessorprotected void processPlanItem(PlanItem planItem, Stage stage, CmmnModel model, com.fasterxml.jackson.databind.node.ArrayNode shapesArrayNode, CmmnJsonConverterContext converterContext, double containerX, double containerY)
public CmmnModel convertToCmmnModel(com.fasterxml.jackson.databind.JsonNode modelNode)
public CmmnModel convertToCmmnModel(com.fasterxml.jackson.databind.JsonNode modelNode, CmmnJsonConverterContext converterContext)
public void processJsonElements(com.fasterxml.jackson.databind.JsonNode shapesArrayNode,
com.fasterxml.jackson.databind.JsonNode modelNode,
BaseElement parentElement,
Map<String,com.fasterxml.jackson.databind.JsonNode> shapeMap,
CmmnJsonConverterContext converterContext,
CmmnModel cmmnModel,
CmmnJsonConverter.CmmnModelIdHelper cmmnModelIdHelper)
processJsonElements in interface ActivityProcessorprotected Map<String,List<Association>> postProcessAssociations(CmmnModel cmmnModel)
protected void postProcessAssociationForTextAnnotation(Association association, CmmnModel cmmnModel)
protected void postProcessElements(Stage parentStage, List<PlanItem> planItems, Map<String,com.fasterxml.jackson.databind.JsonNode> edgeMap, Map<String,List<Association>> associationMap, CmmnModel cmmnModel, CmmnJsonConverter.CmmnModelIdHelper cmmnModelIdHelper)
protected void createSentryParts(Set<String> criteriaRefs, Stage parentStage, Map<String,List<Association>> associationMap, CmmnModel cmmnModel, CmmnJsonConverter.CmmnModelIdHelper cmmnModelIdHelper, HasEntryCriteria hasEntryCriteriaElement, HasExitCriteria hasExitCriteriaElement)
protected void setPropertyValue(String name, String value, com.fasterxml.jackson.databind.node.ObjectNode propertiesNode)
protected ExtensionElement addFlowableExtensionElement(String name, Case caseModel)
protected ExtensionElement addFlowableExtensionElementWithValue(String name, String value, Case caseModel)
protected void readShapeInfo(com.fasterxml.jackson.databind.JsonNode objectNode,
Map<String,com.fasterxml.jackson.databind.JsonNode> shapeMap,
Map<String,com.fasterxml.jackson.databind.JsonNode> sourceRefMap)
protected void readShapeDI(com.fasterxml.jackson.databind.JsonNode objectNode,
double parentX,
double parentY,
CmmnModel cmmnModel)
protected void filterAllEdges(com.fasterxml.jackson.databind.JsonNode objectNode,
Map<String,com.fasterxml.jackson.databind.JsonNode> edgeMap,
Map<String,List<com.fasterxml.jackson.databind.JsonNode>> sourceAndTargetMap,
Map<String,com.fasterxml.jackson.databind.JsonNode> shapeMap,
Map<String,com.fasterxml.jackson.databind.JsonNode> sourceRefMap)
protected void readEdgeDI(Map<String,com.fasterxml.jackson.databind.JsonNode> edgeMap, Map<String,List<com.fasterxml.jackson.databind.JsonNode>> sourceAndTargetMap, CmmnModel cmmnModel)
protected Area createEllipse(GraphicInfo sourceInfo, double halfWidth, double halfHeight)
protected Collection<Point2D> getIntersections(Line2D line, Area shape)
protected Area createRectangle(GraphicInfo graphicInfo)
protected Area createGateway(GraphicInfo graphicInfo)
protected GraphicInfo createGraphicInfo(double x, double y)
Copyright © 2022 Flowable. All rights reserved.