What a great idea :)
Here is my contribution :
{
"Request Class": {
"prefix": "ClassRequest",
"body": [
"Class ${0:ClassName} Extends Ens.Request",
"{",
"\t$1",
"}"
],
"description": "Message helper"
},
"Response Class": {
"prefix": "ClassResponse",
"body": [
"Class ${0:ClassName} Extends Ens.Response",
"{",
"\t$1",
"}"
],
"description": "Message helper"
},
"Operation Class": {
"prefix": "ClassOperation",
"body": [
"Class ${0:ClassName} Extends Ens.BusinessOperation",
"{",
"\tParameter ADAPTER = \"${1:Adapter}\";",
"\tProperty Adapter As ${1:Adapter};",
"\tParameter INVOCATION = \"Queue\";",
"\n",
"Method ${2:Methode}(pRequest As ${3:Request}, Output pResponse As ${4:Response}) As %Status",
"{",
"\tset tStatus = $$$$OK",
"\tset pResponse = ##class(${4:Response}).%New()",
"",
"\ttry{",
"\t\t\n",
"\t}",
"\tcatch exp",
"\t{",
"\t\tset tStatus = exp.AsStatus()",
"\t}",
"\tQuit tStatus",
"}",
"XData MessageMap",
"{",
"<MapItems>",
"\t<MapItem MessageType=\"${3:Request}\">",
"\t\t<Method>${2:Methode}</Method>",
"\t</MapItem>",
"</MapItems>",
"}",
"}",
],
"description": "Operation helper"
},
"Service Class": {
"prefix": "ClassService",
"body": [
"Class ${0:ClassName} Extends Ens.BusinessService",
"{",
"Parameter ADAPTER = \"${1:Adapter}\";",
"Property TargetConfigNames As %String(MAXLEN = 1000) [ InitialExpression = \"${2:BusinessProcess}\" ];",
"Parameter SETTINGS = \"TargetConfigNames:Basic:selector?multiSelect=1&context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId}\";",
"Method OnProcessInput(pDocIn As %RegisteredObject, Output pDocOut As %RegisteredObject) As %Status",
"{",
"\tset status = $$$$OK",
"",
"\ttry {",
"",
"\t\tfor iTarget=1:1:$L(..TargetConfigNames, \",\") {",
"\t\t\tset tOneTarget=$ZStrip($P(..TargetConfigNames,\",\",iTarget),\"<>W\") Continue:\"\"=tOneTarget",
"\t\t\t$$$$ThrowOnError(..SendRequestSync(tOneTarget,pDocIn,.pDocOut))",
"\t\t}",
"\t} catch ex {",
"\t\tset status = ex.AsStatus()",
"\t}",
"",
"\tQuit status",
"}",
"",
"}",
],
"description": "Operation helper"
},
}
- Log in to post comments
.png)
