{
	"factory": {
		"id": "default-route-2",
		"type": "entaxy.runtime.default-route",
		"label": "route,default",
		"displayName": "DEFAULT ROUTE",
		"description": "The router that connects the system to other entities in the Entaxy architecture. By default, the message is routed to an entity of the system type. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/system-managment/Entity.html#_маршрут_по_умолчанию_default_route\">Entaxy docs</a>",
		"parent": "abstract-route-container-object",
		"isAbstract": false
	},
	"entaxy.runtime.default-route": {
		"displayName": "Default route for system profile"
	},
	"fields": {
		"__objectId": {
			"type": "String",
			"required": true,
			"isHidden": true,
			"defaultValue": {
				"@CALCULATED": {
					"expression": "${properties.systemName}-default-route",
					"targetPath": "$.objectId",
					"removeResolved": true,
					"lazy": false
				}
			}
		},
		"systemName": {
			"type": "entaxy.runtime.profile",
			"isRef": true,
			"displayName": "System name",
			"description": "Name of the system owning the route",
			"required": true,
			"immutable": true,
			"refField": "systemName",
			"isRefByValueOnly": true
		},
		"description": {
			"type": "String"
		},
		"routeContent": {
			"displayName": "Route",
			"type": "xml:route",
			"required": true,
			"description": "The router that connects the system to other entities in the Entaxy architecture. By default, the message is routed to an entity of the system type. For more details see <a target=\"_blank\" href=\"https://docs.entaxy.ru/entaxy-core/${project.version}/core/system-managment/Entity.html#_маршрут_по_умолчанию_default_route\">Entaxy docs</a> and <a target=\"_blank\" href=\"https://camel-docs.entaxy.ru/manual/${camel-docs.version}/routes.html\">Camel docs</a>",
			"@RESOURCE": {
				"_provider": "entaxy-file-internal",
				"endType": "String",
				"format": "base64",
				"postprocess_bak": [
					{
						"processor": "xslt",
						"source": "entaxy-file-internal:factories/default-route-2/default-route.xslt",
						"parameters": {
							"profileName": {
								"@CALCULATED": {
									"expression": "${#OWNER#.properties.systemName}",
									"lazy": false
								}
							}
						}
					},
					{
						"processor": "merge",
						"source": "entaxy-file-internal:factories/default-route-2/standard-router.xml",
						"sourceElement": "standard-router",
						"targetElement": "standard-router",
						"parameters": {
							"profileName": {
								"@CALCULATED": {
									"expression": "${#OWNER#.properties.systemName}",
									"lazy": false
								}
							}
						}
					}
				],
				"postprocess": [
					{
						"processor": "component-library",
						"parameters": {
							"profileName": {
								"@CALCULATED": {
									"expression": "${#OWNER#.properties.systemName}",
									"lazy": false
								}
							}
						}
					}
				]
			},
			"@UI": {
				"isResource": true,
				"resourceFormat": "base64"
			}
		},
		"profileObjectType": {
			"type": "String",
			"required": true,
			"isHidden": true
		},
		"##publish": {
			"defaultValue": {
				"profile": {
					"@CALCULATED": {
						"expression": "${properties.systemName}",
						"lazy": true
					}
				},
				"relation": {
					"@CALCULATED": {
						"_expression": "${properties.systemName}:${#OWNER#.#FACTORY#.type}:default-route:routes",
						"expression": "${properties.systemName}:${properties.profileObjectType}:default-route:-composition:routes/bound",
						"lazy": false
					}
				}
			}
		}
	},
	"outputs": {
		"init": {
			"isDefault": true,
			"fields": {
				"systemName": {
				},
				"description": {
				},
				"routeContent": {
				},
				"__objectId": {
				},
				"profileObjectType": {
				}
			}
		}
	}
}
