iris-pex-embedded-python 2.3.28b2__py3-none-any.whl → 3.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of iris-pex-embedded-python might be problematic. Click here for more details.
- grongier/cls/Grongier/PEX/BusinessOperation.cls +1 -28
- grongier/cls/Grongier/PEX/BusinessProcess.cls +1 -112
- grongier/cls/Grongier/PEX/BusinessService.cls +1 -28
- grongier/cls/Grongier/PEX/Common.cls +1 -194
- grongier/cls/Grongier/PEX/Director.cls +1 -48
- grongier/cls/Grongier/PEX/Duplex/Operation.cls +1 -26
- grongier/cls/Grongier/PEX/Duplex/Process.cls +1 -217
- grongier/cls/Grongier/PEX/Duplex/Service.cls +1 -6
- grongier/cls/Grongier/PEX/InboundAdapter.cls +1 -15
- grongier/cls/Grongier/PEX/Message.cls +1 -116
- grongier/cls/Grongier/PEX/OutboundAdapter.cls +1 -29
- grongier/cls/Grongier/PEX/PickleMessage.cls +1 -46
- grongier/cls/Grongier/PEX/PrivateSession/Duplex.cls +1 -253
- grongier/cls/Grongier/PEX/PrivateSession/Message/Ack.cls +1 -19
- grongier/cls/Grongier/PEX/PrivateSession/Message/Poll.cls +1 -19
- grongier/cls/Grongier/PEX/PrivateSession/Message/Start.cls +1 -19
- grongier/cls/Grongier/PEX/PrivateSession/Message/Stop.cls +1 -35
- grongier/cls/Grongier/PEX/Test.cls +1 -53
- grongier/cls/Grongier/PEX/Utils.cls +1 -365
- grongier/cls/Grongier/Service/WSGI.cls +1 -307
- grongier/pex/__init__.py +11 -11
- grongier/pex/__main__.py +1 -1
- grongier/pex/_business_host.py +1 -511
- grongier/pex/_cli.py +1 -152
- grongier/pex/_common.py +1 -347
- grongier/pex/_director.py +1 -286
- grongier/pex/_utils.py +1 -369
- iop/__init__.py +24 -0
- iop/__main__.py +4 -0
- iop/_business_host.py +511 -0
- {grongier/pex → iop}/_business_operation.py +1 -1
- {grongier/pex → iop}/_business_process.py +1 -1
- {grongier/pex → iop}/_business_service.py +1 -1
- iop/_cli.py +152 -0
- iop/_common.py +349 -0
- iop/_director.py +286 -0
- {grongier/pex → iop}/_inbound_adapter.py +1 -1
- {grongier/pex → iop}/_outbound_adapter.py +1 -1
- {grongier/pex → iop}/_private_session_duplex.py +1 -1
- {grongier/pex → iop}/_private_session_process.py +2 -2
- iop/_utils.py +374 -0
- iop/cls/IOP/BusinessOperation.cls +35 -0
- iop/cls/IOP/BusinessProcess.cls +124 -0
- iop/cls/IOP/BusinessService.cls +35 -0
- iop/cls/IOP/Common.cls +203 -0
- iop/cls/IOP/Director.cls +57 -0
- iop/cls/IOP/Duplex/Operation.cls +29 -0
- iop/cls/IOP/Duplex/Process.cls +229 -0
- iop/cls/IOP/Duplex/Service.cls +9 -0
- iop/cls/IOP/InboundAdapter.cls +22 -0
- iop/cls/IOP/Message.cls +128 -0
- iop/cls/IOP/OutboundAdapter.cls +36 -0
- iop/cls/IOP/PickleMessage.cls +58 -0
- iop/cls/IOP/PrivateSession/Duplex.cls +260 -0
- iop/cls/IOP/PrivateSession/Message/Ack.cls +32 -0
- iop/cls/IOP/PrivateSession/Message/Poll.cls +32 -0
- iop/cls/IOP/PrivateSession/Message/Start.cls +32 -0
- iop/cls/IOP/PrivateSession/Message/Stop.cls +48 -0
- iop/cls/IOP/Service/WSGI.cls +310 -0
- iop/cls/IOP/Test.cls +62 -0
- iop/cls/IOP/Utils.cls +374 -0
- iop/wsgi/handlers.py +104 -0
- {iris_pex_embedded_python-2.3.28b2.dist-info → iris_pex_embedded_python-3.0.0.dist-info}/METADATA +28 -28
- {iris_pex_embedded_python-2.3.28b2.dist-info → iris_pex_embedded_python-3.0.0.dist-info}/RECORD +70 -42
- {iris_pex_embedded_python-2.3.28b2.dist-info → iris_pex_embedded_python-3.0.0.dist-info}/WHEEL +1 -1
- iris_pex_embedded_python-3.0.0.dist-info/entry_points.txt +2 -0
- {iris_pex_embedded_python-2.3.28b2.dist-info → iris_pex_embedded_python-3.0.0.dist-info}/top_level.txt +1 -0
- iris_pex_embedded_python-2.3.28b2.dist-info/entry_points.txt +0 -2
- {grongier/pex → iop}/_message.py +0 -0
- {grongier/pex → iop}/_pickle_message.py +0 -0
- {iris_pex_embedded_python-2.3.28b2.dist-info → iris_pex_embedded_python-3.0.0.dist-info}/LICENSE +0 -0
|
@@ -2,259 +2,7 @@
|
|
|
2
2
|
Cambridge, Massachusetts, U.S.A. All rights reserved.
|
|
3
3
|
Confidential property of InterSystems Corporation. */
|
|
4
4
|
|
|
5
|
-
Class Grongier.PEX.PrivateSessionDuplex Extends
|
|
5
|
+
Class Grongier.PEX.PrivateSessionDuplex Extends IOP.PrivateSessionDuplex [ Abstract, System = 4 ]
|
|
6
6
|
{
|
|
7
7
|
|
|
8
|
-
/// Domain for error messages
|
|
9
|
-
Parameter DOMAIN = "PrivateSession";
|
|
10
|
-
|
|
11
|
-
Parameter SETTINGS = "DuplexTargetConfigName,%classname:Python BusinessProcess,%module:Python BusinessProcess,%settings:Python BusinessProcess,%classpaths:Python BusinessProcess";
|
|
12
|
-
|
|
13
|
-
/// Configuration item(s) to which to send messages
|
|
14
|
-
Property DuplexTargetConfigName As %String(MAXLEN = 1000);
|
|
15
|
-
|
|
16
|
-
/// This holds the deferred response token
|
|
17
|
-
Property DeferredResponseToken As %String;
|
|
18
|
-
|
|
19
|
-
/// This holds data that is not yet ready for processing
|
|
20
|
-
Property ReceivedDataQueue As list Of %Library.Persistent;
|
|
21
|
-
|
|
22
|
-
/// This method is called by the TCP Adapter when a message is received.
|
|
23
|
-
Method OnProcessInput(
|
|
24
|
-
pInput As %Persistent,
|
|
25
|
-
Output pOutput As %Persistent,
|
|
26
|
-
ByRef pHint As %String) As %Status
|
|
27
|
-
{
|
|
28
|
-
set tSC = $$$OK
|
|
29
|
-
try {
|
|
30
|
-
try {
|
|
31
|
-
set ..%class."_wait_for_next_call_interval" = ..%WaitForNextCallInterval
|
|
32
|
-
}catch {}
|
|
33
|
-
set pOutput = ..%class."_dispatch_on_process_input"(pInput)
|
|
34
|
-
try {
|
|
35
|
-
set ..%WaitForNextCallInterval = ..%class."_wait_for_next_call_interval"
|
|
36
|
-
}catch {}
|
|
37
|
-
} catch ex {
|
|
38
|
-
set tSC = ex.AsStatus()
|
|
39
|
-
}
|
|
40
|
-
quit tSC
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
Method dispatchSendDocumentToProcess(pDocument) As %String
|
|
44
|
-
{
|
|
45
|
-
set tSC = ..SendDocumentToProcess(pDocument)
|
|
46
|
-
if $$$ISERR(tSC) throw ##class(%Exception.StatusException).CreateFromStatus(tSC)
|
|
47
|
-
quit
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
Method SendDocumentToProcess(pDocument As %Library.Persistent) As %Status
|
|
51
|
-
{
|
|
52
|
-
#dim tSC As %Status = $$$OK
|
|
53
|
-
try {
|
|
54
|
-
If '..%InPrivateSession Set tSC=..StartPrivateSession() Quit:$$$ISERR(tSC)
|
|
55
|
-
If ..DeferredResponseToken'="" {
|
|
56
|
-
Set tSC=..SendDeferredResponse(..DeferredResponseToken,pDocument) If $$$ISERR(tSC) Quit
|
|
57
|
-
Set ..DeferredResponseToken=""
|
|
58
|
-
} else {
|
|
59
|
-
Do ..ReceivedDataQueue.Insert(pDocument)
|
|
60
|
-
}
|
|
61
|
-
} catch {
|
|
62
|
-
Set tSC=$$$EnsSystemError
|
|
63
|
-
}
|
|
64
|
-
Quit tSC
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
Method StartPrivateSession() As %Status
|
|
68
|
-
{
|
|
69
|
-
#dim tSC As %Status = $$$OK
|
|
70
|
-
try {
|
|
71
|
-
If ..%InPrivateSession Quit
|
|
72
|
-
Set tSC = ..RegisterPrivateSession() Quit:$$$ISERR(tSC)
|
|
73
|
-
Set tSC=..SendRequestAsync(..DuplexTargetConfigName,##class(Grongier.PEX.PrivateSession.Message.Start).%New()) Quit:$$$ISERR(tSC)
|
|
74
|
-
Set tSC = ..OnPrivateSessionStarted(1) Quit:$$$ISERR(tSC)
|
|
75
|
-
} catch {
|
|
76
|
-
Set tSC=$$$EnsSystemError
|
|
77
|
-
}
|
|
78
|
-
Quit tSC
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
Method StopPrivateSession(pAttachedMessage As %Persistent = "") As %Status
|
|
82
|
-
{
|
|
83
|
-
#dim tSC As %Status = $$$OK
|
|
84
|
-
#dim tMessageHeaderId As %String
|
|
85
|
-
#dim tRequestHeader As Ens.MessageHeader
|
|
86
|
-
try {
|
|
87
|
-
If ..%InPrivateSession {
|
|
88
|
-
#; Target might receive stop message before this job unregisters and therefore need to remove queue pointer
|
|
89
|
-
If ..DeferredResponseToken'="" {
|
|
90
|
-
try {
|
|
91
|
-
Set tMessageHeaderId=$p(..DeferredResponseToken,"|",1)
|
|
92
|
-
Set tRequestHeader=##Class(Ens.MessageHeader).%OpenId(tMessageHeaderId,,.tSC) Quit:$$$ISERR(tSC)
|
|
93
|
-
If $$$ConfigSessionQueueName(..%ConfigName,..%PrivateSessionId)'=tRequestHeader.ReturnQueueName {
|
|
94
|
-
Kill $$$ConfigSessionQueueName(..%ConfigName,..%PrivateSessionId)
|
|
95
|
-
}
|
|
96
|
-
Set tRequestHeader=""
|
|
97
|
-
} catch {}
|
|
98
|
-
}
|
|
99
|
-
Set tSC=..SendDocumentToProcess(##class(Grongier.PEX.PrivateSession.Message.Stop).%New(pAttachedMessage)) Quit:$$$ISERR(tSC)
|
|
100
|
-
Set tSC=..UnRegisterPrivateSession()
|
|
101
|
-
set ..DeferredResponseToken=""
|
|
102
|
-
|
|
103
|
-
#; Ensure all messages are delivered including STOP message (JN1098)
|
|
104
|
-
#; Do ..ReceivedDataQueue.Clear()
|
|
105
|
-
Set tSC=..OnPrivateSessionStopped(1) Quit:$$$ISERR(tSC)
|
|
106
|
-
}
|
|
107
|
-
} catch {
|
|
108
|
-
Set tSC=$$$EnsSystemError
|
|
109
|
-
}
|
|
110
|
-
Quit tSC
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
Method RegisterPrivateSession() As %Status
|
|
114
|
-
{
|
|
115
|
-
If ..%InPrivateSession Quit $$$OK
|
|
116
|
-
If ..%SessionId="" Set tSC=..ForceSessionId() Quit:$$$ISERR(tSC) tSC
|
|
117
|
-
Set ..%PrivateSessionId=..%SessionId
|
|
118
|
-
Set tSC = ##class(Ens.Queue).Create(..QueueName()) Quit:$$$ISERR(tSC) tSC
|
|
119
|
-
|
|
120
|
-
try {
|
|
121
|
-
Set tSC=..Adapter.OpenEventDevice()
|
|
122
|
-
}
|
|
123
|
-
catch {
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
Set $$$ConfigSessionQueueName(..%ConfigName,..%SessionId)=..QueueName()
|
|
128
|
-
$$$sysTRACE("Registered Private Session '"_..%PrivateSessionId_"'")
|
|
129
|
-
Quit $$$OK
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
Method UnRegisterPrivateSession() As %Status
|
|
133
|
-
{
|
|
134
|
-
If '..%InPrivateSession Quit $$$OK
|
|
135
|
-
Kill $$$ConfigSessionQueueName(..%ConfigName,..%PrivateSessionId)
|
|
136
|
-
try {
|
|
137
|
-
Set tSC=..Adapter.CloseEventDevice()
|
|
138
|
-
}
|
|
139
|
-
catch {
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
Set tSC=##class(Ens.Queue).Delete(..QueueName(),"*") Quit:$$$ISERR(tSC) tSC
|
|
144
|
-
$$$sysTRACE("Unregistered Private Session '"_..%PrivateSessionId_"'")
|
|
145
|
-
Set ..%PrivateSessionId=""
|
|
146
|
-
Set ..%SessionId=""
|
|
147
|
-
Kill $$$JobSessionId
|
|
148
|
-
Quit $$$OK
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
XData MessageMap
|
|
152
|
-
{
|
|
153
|
-
<MapItems>
|
|
154
|
-
<MapItem MessageType="Grongier.PEX.PrivateSession.Message.Start"><Method>OnMsgPrivateSessionStart</Method></MapItem>
|
|
155
|
-
<MapItem MessageType="Grongier.PEX.PrivateSession.Message.Stop"><Method>OnMsgPrivateSessionStop</Method></MapItem>
|
|
156
|
-
<MapItem MessageType="Grongier.PEX.PrivateSession.Message.Poll"><Method>OnMsgPrivateSessionPoll</Method></MapItem>
|
|
157
|
-
</MapItems>
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
Method OnMsgPrivateSessionStart(
|
|
161
|
-
pRequest As Grongier.PEX.PrivateSession.Message.Start,
|
|
162
|
-
Output pResponse As %Library.Persistent) As %Status
|
|
163
|
-
{
|
|
164
|
-
#dim tSC As %Status = $$$OK
|
|
165
|
-
try {
|
|
166
|
-
Set tSC=..RegisterPrivateSession() Quit:$$$ISERR(tSC)
|
|
167
|
-
Set tSC=..OnPrivateSessionStarted(0) Quit:$$$ISERR(tSC)
|
|
168
|
-
Kill %objlasterror Set pResponse=##class(Grongier.PEX.PrivateSession.Message.Ack).%New()
|
|
169
|
-
If '$IsObject(pResponse) Set tSC=$$$ERROR($$$FailedToNewClass,"Grongier.PEX.PrivateSession.Message.Ack") Quit
|
|
170
|
-
} catch {
|
|
171
|
-
Set tSC=$$$EnsSystemError
|
|
172
|
-
}
|
|
173
|
-
Quit tSC
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
Method OnMsgPrivateSessionStop(
|
|
177
|
-
pRequest As Grongier.PEX.PrivateSession.Message.Stop,
|
|
178
|
-
Output pResponse As %Library.Persistent) As %Status
|
|
179
|
-
{
|
|
180
|
-
#dim tSC As %Status = $$$OK
|
|
181
|
-
try {
|
|
182
|
-
Set tSC=..UnRegisterPrivateSession() Quit:$$$ISERR(tSC)
|
|
183
|
-
set ..DeferredResponseToken=""
|
|
184
|
-
do ..ReceivedDataQueue.Clear()
|
|
185
|
-
Set tSC=..OnPrivateSessionStopped(0,pRequest.AttachedMessage) Quit:$$$ISERR(tSC)
|
|
186
|
-
} catch {
|
|
187
|
-
Set tSC=$$$EnsSystemError
|
|
188
|
-
}
|
|
189
|
-
Quit tSC
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
Method OnMsgPrivateSessionPoll(
|
|
193
|
-
pPollIn As Grongier.PEX.PrivateSession.Message.Poll,
|
|
194
|
-
Output pResponse As %Library.Persistent) As %Status
|
|
195
|
-
{
|
|
196
|
-
#dim tSC As %Status = $$$OK
|
|
197
|
-
#dim tToken As %String
|
|
198
|
-
try {
|
|
199
|
-
If ..ReceivedDataQueue.Count() {
|
|
200
|
-
Set pResponse=..ReceivedDataQueue.GetAt(1)
|
|
201
|
-
do ..ReceivedDataQueue.RemoveAt(1)
|
|
202
|
-
} Else {
|
|
203
|
-
Set tSC=..DeferResponse(.tToken) If $$$ISERR(tSC) Quit
|
|
204
|
-
Set ..DeferredResponseToken=tToken
|
|
205
|
-
}
|
|
206
|
-
} catch {
|
|
207
|
-
Set tSC=$$$EnsSystemError
|
|
208
|
-
}
|
|
209
|
-
Quit tSC
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/// Return an array of connections for drawing lines on the config diagram
|
|
213
|
-
ClassMethod OnGetConnections(
|
|
214
|
-
Output pArray As %String,
|
|
215
|
-
pItem As Ens.Config.Item)
|
|
216
|
-
{
|
|
217
|
-
Do ##super(.pArray,pItem)
|
|
218
|
-
If pItem.GetModifiedSetting("DuplexTargetConfigName",.tValue) {
|
|
219
|
-
Set tOne=$ZStrip(tValue,"<>W")
|
|
220
|
-
Set:""'=tOne pArray(tOne)=""
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
Method OnPrivateSessionStarted(pSelfGenerated As %Boolean) As %Status
|
|
225
|
-
{
|
|
226
|
-
set tSC = $$$OK
|
|
227
|
-
try {
|
|
228
|
-
set response = ..%class."_dispatch_on_private_session_started"($this,pSelfGenerated)
|
|
229
|
-
} catch ex {
|
|
230
|
-
set tSC = ex.AsStatus()
|
|
231
|
-
}
|
|
232
|
-
quit tSC
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
Method OnPrivateSessionStopped(
|
|
236
|
-
pSelfGenerated As %Boolean,
|
|
237
|
-
pAttachedMessage As %Persistent = "") As %Status
|
|
238
|
-
{
|
|
239
|
-
set tSC = $$$OK
|
|
240
|
-
try {
|
|
241
|
-
set response = ..%class."_dispatch_on_private_session_stopped"($this,pSelfGenerated,pAttachedMessage)
|
|
242
|
-
} catch ex {
|
|
243
|
-
set tSC = ex.AsStatus()
|
|
244
|
-
}
|
|
245
|
-
quit tSC
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
Method OnTearDown() As %Status
|
|
249
|
-
{
|
|
250
|
-
#dim tSC As %Status = $$$OK
|
|
251
|
-
try {
|
|
252
|
-
If ..%InPrivateSession Set tSC=..StopPrivateSession() Quit:$$$ISERR(tSC)
|
|
253
|
-
do ..%class."_dispatch_on_tear_down"()
|
|
254
|
-
} catch {
|
|
255
|
-
Set tSC=$$$EnsSystemError
|
|
256
|
-
}
|
|
257
|
-
Quit tSC
|
|
258
|
-
}
|
|
259
|
-
|
|
260
8
|
}
|
|
@@ -3,29 +3,11 @@
|
|
|
3
3
|
Confidential property of InterSystems Corporation. */
|
|
4
4
|
|
|
5
5
|
/// This class is a DICOM framework class
|
|
6
|
-
Class Grongier.PEX.PrivateSession.Message.Ack Extends
|
|
6
|
+
Class Grongier.PEX.PrivateSession.Message.Ack Extends IOP.PrivateSession.Message.Ack [ ClassType = persistent, Inheritance = right, ProcedureBlock, System = 4 ]
|
|
7
7
|
{
|
|
8
8
|
|
|
9
|
-
Parameter DOMAIN = "PrivateSession";
|
|
10
|
-
|
|
11
|
-
/// From 'Ens.Util.MessageBodyMethods'
|
|
12
|
-
Method %ShowContents(pZenOutput As %Boolean = 0)
|
|
13
|
-
{
|
|
14
|
-
Write $$$Text("(session-ack)")
|
|
15
|
-
}
|
|
16
|
-
|
|
17
9
|
Storage Default
|
|
18
10
|
{
|
|
19
|
-
<Data name="AckDefaultData">
|
|
20
|
-
<Value name="1">
|
|
21
|
-
<Value>%%CLASSNAME</Value>
|
|
22
|
-
</Value>
|
|
23
|
-
</Data>
|
|
24
|
-
<DataLocation>^Grongier.PEX.PrivateSe9756.AckD</DataLocation>
|
|
25
|
-
<DefaultData>AckDefaultData</DefaultData>
|
|
26
|
-
<IdLocation>^Grongier.PEX.PrivateSe9756.AckD</IdLocation>
|
|
27
|
-
<IndexLocation>^Grongier.PEX.PrivateSe9756.AckI</IndexLocation>
|
|
28
|
-
<StreamLocation>^Grongier.PEX.PrivateSe9756.AckS</StreamLocation>
|
|
29
11
|
<Type>%Storage.Persistent</Type>
|
|
30
12
|
}
|
|
31
13
|
|
|
@@ -3,29 +3,11 @@
|
|
|
3
3
|
Confidential property of InterSystems Corporation. */
|
|
4
4
|
|
|
5
5
|
/// This class is a DICOM framework class
|
|
6
|
-
Class Grongier.PEX.PrivateSession.Message.Poll Extends
|
|
6
|
+
Class Grongier.PEX.PrivateSession.Message.Poll Extends IOP.PrivateSession.Message.Poll [ ClassType = persistent, Inheritance = right, ProcedureBlock, System = 4 ]
|
|
7
7
|
{
|
|
8
8
|
|
|
9
|
-
Parameter DOMAIN = "PrivateSession";
|
|
10
|
-
|
|
11
|
-
/// From 'Ens.Util.MessageBodyMethods'
|
|
12
|
-
Method %ShowContents(pZenOutput As %Boolean = 0)
|
|
13
|
-
{
|
|
14
|
-
Write $$$Text("(poll-data)")
|
|
15
|
-
}
|
|
16
|
-
|
|
17
9
|
Storage Default
|
|
18
10
|
{
|
|
19
|
-
<Data name="PollDefaultData">
|
|
20
|
-
<Value name="1">
|
|
21
|
-
<Value>%%CLASSNAME</Value>
|
|
22
|
-
</Value>
|
|
23
|
-
</Data>
|
|
24
|
-
<DataLocation>^Grongier.PEX.PrivateS9756.PollD</DataLocation>
|
|
25
|
-
<DefaultData>PollDefaultData</DefaultData>
|
|
26
|
-
<IdLocation>^Grongier.PEX.PrivateS9756.PollD</IdLocation>
|
|
27
|
-
<IndexLocation>^Grongier.PEX.PrivateS9756.PollI</IndexLocation>
|
|
28
|
-
<StreamLocation>^Grongier.PEX.PrivateS9756.PollS</StreamLocation>
|
|
29
11
|
<Type>%Storage.Persistent</Type>
|
|
30
12
|
}
|
|
31
13
|
|
|
@@ -3,29 +3,11 @@
|
|
|
3
3
|
Confidential property of InterSystems Corporation. */
|
|
4
4
|
|
|
5
5
|
/// This class is a DICOM framework class
|
|
6
|
-
Class Grongier.PEX.PrivateSession.Message.Start Extends
|
|
6
|
+
Class Grongier.PEX.PrivateSession.Message.Start Extends IOP.PrivateSession.Message.Start [ ClassType = persistent, Inheritance = right, ProcedureBlock, System = 4 ]
|
|
7
7
|
{
|
|
8
8
|
|
|
9
|
-
Parameter DOMAIN = "PrivateSession";
|
|
10
|
-
|
|
11
|
-
/// From 'Ens.Util.MessageBodyMethods'
|
|
12
|
-
Method %ShowContents(pZenOutput As %Boolean = 0)
|
|
13
|
-
{
|
|
14
|
-
Write $$$Text("(session-start)")
|
|
15
|
-
}
|
|
16
|
-
|
|
17
9
|
Storage Default
|
|
18
10
|
{
|
|
19
|
-
<Data name="StartDefaultData">
|
|
20
|
-
<Value name="1">
|
|
21
|
-
<Value>%%CLASSNAME</Value>
|
|
22
|
-
</Value>
|
|
23
|
-
</Data>
|
|
24
|
-
<DataLocation>^Grongier.PEX.Private9756.StartD</DataLocation>
|
|
25
|
-
<DefaultData>StartDefaultData</DefaultData>
|
|
26
|
-
<IdLocation>^Grongier.PEX.Private9756.StartD</IdLocation>
|
|
27
|
-
<IndexLocation>^Grongier.PEX.Private9756.StartI</IndexLocation>
|
|
28
|
-
<StreamLocation>^Grongier.PEX.Private9756.StartS</StreamLocation>
|
|
29
11
|
<Type>%Storage.Persistent</Type>
|
|
30
12
|
}
|
|
31
13
|
|
|
@@ -3,45 +3,11 @@
|
|
|
3
3
|
Confidential property of InterSystems Corporation. */
|
|
4
4
|
|
|
5
5
|
/// This class is a DICOM framework class
|
|
6
|
-
Class Grongier.PEX.PrivateSession.Message.Stop Extends
|
|
6
|
+
Class Grongier.PEX.PrivateSession.Message.Stop Extends IOP.PrivateSession.Message.Stop [ ClassType = persistent, Inheritance = right, ProcedureBlock, System = 4 ]
|
|
7
7
|
{
|
|
8
8
|
|
|
9
|
-
Parameter DOMAIN = "PrivateSession";
|
|
10
|
-
|
|
11
|
-
/// The message body
|
|
12
|
-
Property AttachedMessage As %Persistent(CLASSNAME = 1);
|
|
13
|
-
|
|
14
|
-
/// From 'Ens.Util.MessageBodyMethods'
|
|
15
|
-
Method %ShowContents(pZenOutput As %Boolean = 0)
|
|
16
|
-
{
|
|
17
|
-
If $IsObject(..AttachedMessage) {
|
|
18
|
-
Write $$$FormatText($$$Text("(session-stop) with AttachedMessage [%1] "),$classname(..AttachedMessage))
|
|
19
|
-
} Else {
|
|
20
|
-
Write $$$Text("(session-stop)")
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
Method %OnNew(initvalue As %RegisteredObject) As %Status [ Private, ProcedureBlock = 1, ServerOnly = 1 ]
|
|
25
|
-
{
|
|
26
|
-
Set ..AttachedMessage=initvalue
|
|
27
|
-
Quit $$$OK
|
|
28
|
-
}
|
|
29
|
-
|
|
30
9
|
Storage Default
|
|
31
10
|
{
|
|
32
|
-
<Data name="StopDefaultData">
|
|
33
|
-
<Value name="1">
|
|
34
|
-
<Value>%%CLASSNAME</Value>
|
|
35
|
-
</Value>
|
|
36
|
-
<Value name="2">
|
|
37
|
-
<Value>AttachedMessage</Value>
|
|
38
|
-
</Value>
|
|
39
|
-
</Data>
|
|
40
|
-
<DataLocation>^Grongier.PEX.PrivateS9756.StopD</DataLocation>
|
|
41
|
-
<DefaultData>StopDefaultData</DefaultData>
|
|
42
|
-
<IdLocation>^Grongier.PEX.PrivateS9756.StopD</IdLocation>
|
|
43
|
-
<IndexLocation>^Grongier.PEX.PrivateS9756.StopI</IndexLocation>
|
|
44
|
-
<StreamLocation>^Grongier.PEX.PrivateS9756.StopS</StreamLocation>
|
|
45
11
|
<Type>%Storage.Persistent</Type>
|
|
46
12
|
}
|
|
47
13
|
|
|
@@ -1,61 +1,9 @@
|
|
|
1
1
|
/// Description
|
|
2
|
-
Class Grongier.PEX.Test Extends
|
|
2
|
+
Class Grongier.PEX.Test Extends IOP.Test
|
|
3
3
|
{
|
|
4
4
|
|
|
5
|
-
/// Register
|
|
6
|
-
ClassMethod Register() As %Status
|
|
7
|
-
{
|
|
8
|
-
Set sc = $$$OK
|
|
9
|
-
zw ##class(Grongier.PEX.Utils).RegisterComponent("MyBusinessOperationWithAdapter","MyBusinessOperationWithAdapter","/irisdev/app/src/python/demo/",1,"PEX.MyBusinessOperationWithAdapter")
|
|
10
|
-
#dim array as %ArrayOfObjects
|
|
11
|
-
Return sc
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
ClassMethod TestBO() As %Status
|
|
15
|
-
{
|
|
16
|
-
try {
|
|
17
|
-
Set sc = $$$OK
|
|
18
|
-
set mybo = ##class(Grongier.PEX.BusinessOperation).%New("mybo")
|
|
19
|
-
set mybo.%classpaths = "/irisdev/app/src/python/demo"
|
|
20
|
-
set mybo.%module = "MyBusinessOperationWithAdapter"
|
|
21
|
-
set mybo.%classname = "MyBusinessOperationWithAdapter"
|
|
22
|
-
$$$ThrowOnError(mybo.OnInit())
|
|
23
|
-
set request = ##class(Ens.StringRequest).%New("hello")
|
|
24
|
-
set request = ##class(EnsLib.PEX.Message).%New()
|
|
25
|
-
set request.%classname = "MyRequest.MyRequest"
|
|
26
|
-
set dyna = {"requestString":"hello!"}
|
|
27
|
-
set request.%jsonObject = dyna
|
|
28
|
-
Try {
|
|
29
|
-
$$$ThrowOnError(mybo.OnMessage(request,.response))
|
|
30
|
-
zw response
|
|
31
|
-
} catch importEx {
|
|
32
|
-
WRITE $System.Status.GetOneStatusText(importEx.AsStatus(),1),!
|
|
33
|
-
}
|
|
34
|
-
} catch ex {
|
|
35
|
-
WRITE $System.Status.GetOneStatusText(ex.AsStatus(),1),!
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
Return sc
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/// List
|
|
42
|
-
ClassMethod PythonList() [ Language = python ]
|
|
43
|
-
{
|
|
44
|
-
return [ 1, 3 ]
|
|
45
|
-
}
|
|
46
|
-
|
|
47
5
|
Storage Default
|
|
48
6
|
{
|
|
49
|
-
<Data name="TestDefaultData">
|
|
50
|
-
<Value name="1">
|
|
51
|
-
<Value>%%CLASSNAME</Value>
|
|
52
|
-
</Value>
|
|
53
|
-
</Data>
|
|
54
|
-
<DataLocation>^Grongier.PEX.TestD</DataLocation>
|
|
55
|
-
<DefaultData>TestDefaultData</DefaultData>
|
|
56
|
-
<IdLocation>^Grongier.PEX.TestD</IdLocation>
|
|
57
|
-
<IndexLocation>^Grongier.PEX.TestI</IndexLocation>
|
|
58
|
-
<StreamLocation>^Grongier.PEX.TestS</StreamLocation>
|
|
59
7
|
<Type>%Storage.Persistent</Type>
|
|
60
8
|
}
|
|
61
9
|
|