{
	"factory": {
		"id": "default-route-2",
		"type": "entaxy.runtime.default-route",
		"label": "route,default",
		"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,
			"required": true,
			"immutable": true,
			"refField": "systemName",
			"isRefByValueOnly": true
		},
		"description": {
			"type": "String"
		},
		"routeContent": {
			"displayName": "Route",
			"type": "xml:route",
			"required": true,
			"@RESOURCE": {
				"_provider": "entaxy-file-internal",
				"endType": "String",
				"format": "base64",
				"preprocess":[
					{
						"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
								}
							}
						}
					}
				]
				
			}
		},
		"##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:routes",
						"lazy": false
					}
				}
			}	
		}		
	},
	"outputs": {
		"init": {
			"isDefault": true,
			"fields": {
				"systemName": {},
				"description": {},
				"routeContent": {},
				"__objectId": {}
			}
		}
	}

}