Skip to content

Commit 8643db9

Browse files
committed
Test process now uses RAW data load as default.
1 parent 860d62c commit 8643db9

File tree

1 file changed

+59
-28
lines changed

1 file changed

+59
-28
lines changed

isc/py/test/Process.cls

Lines changed: 59 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,43 +3,64 @@ Class isc.py.test.Process Extends (Ens.BusinessProcessBPL, isc.py.ens.ProcessUti
33
{
44

55
/// Бизнес-операция, запускающая ожидание поступления изменений объекта
6-
Property ConnectionType As %String(MAXLEN = 4, VALUELIST = ",JDBC,ODBC") [ InitialExpression = "ODBC" ];
6+
Property ConnectionType As %String(MAXLEN = 4, VALUELIST = ",RAW,JDBC,ODBC") [ InitialExpression = "RAW" ];
77

88
Parameter SETTINGS = "ConnectionType:Basic";
99

1010
/// BPL Definition
1111
XData BPL [ XMLNamespace = "http://www.intersystems.com/bpl" ]
1212
{
1313
<process language='objectscript' request='Ens.Request' response='Ens.Response' height='2000' width='2000' >
14-
<sequence xend='200' yend='1300' >
15-
<if name='is ODBC' condition='process.ConnectionType="ODBC"' xpos='200' ypos='250' xend='200' yend='500' >
16-
<true>
17-
<call name='ODBC connect' target='isc.py.ens.Operation' async='1' xpos='470' ypos='400' >
18-
<annotation><![CDATA[import pyodbc
19-
cnxn=pyodbc.connect(('DSN=ENSEMBLE(PYTHON);UID=dev;PWD=123'),autocommit=True)
20-
y=1]]></annotation>
14+
<sequence xend='200' yend='1500' >
15+
<call name='Import pandas' target='isc.py.ens.Operation' async='1' xpos='200' ypos='250' >
16+
<annotation><![CDATA[import pandas as pd]]></annotation>
2117
<request type='isc.py.msg.ExecutionRequest' >
22-
<assign property="callrequest.Code" value="process.GetAnnotation(&quot;ODBC connect&quot;)" action="set" />
18+
<assign property="callrequest.Code" value="process.GetAnnotation(&quot;Import pandas&quot;)" action="set" />
2319
</request>
2420
<response type='isc.py.msg.ExecutionResponse' />
2521
</call>
26-
</true>
27-
<false>
28-
<call name='JDBC connect' target='isc.py.ens.Operation' async='1' xpos='200' ypos='400' >
22+
<sync name='Wait for import' calls='Import pandas' type='all' xpos='200' ypos='350' />
23+
<switch name='Get Data' xpos='200' ypos='450' xend='200' yend='700' >
24+
<case condition='process.ConnectionType="RAW"' name='RAW' >
25+
<call name='RAW' target='isc.py.ens.Operation' async='1' xpos='335' ypos='600' >
26+
<annotation><![CDATA[SELECT * FROM isc_py_test.CannibalizationData]]></annotation>
27+
<request type='isc.py.msg.QueryRequest' >
28+
<assign property="callrequest.Query" value="process.GetAnnotation(&quot;RAW&quot;)" action="set" />
29+
<assign property="callrequest.Variable" value="&quot;Data&quot;" action="set" />
30+
<assign property="callrequest.Type" value="&quot;dataframe&quot;" action="set" />
31+
</request>
32+
<response type='Ens.Response' />
33+
</call>
34+
</case>
35+
<case condition='process.ConnectionType="JDBC"' name='JDBC' >
36+
<call name='JDBC' target='isc.py.ens.Operation' async='1' xpos='605' ypos='600' >
2937
<annotation><![CDATA[import jaydebeapi
30-
cnxn=jaydebeapi.connect("com.intersystems.jdbc.IRISDriver","jdbc:IRIS://localhost:51773/Python", ["dev", "123"], "/InterSystems/IRIS/dev/java/lib/JDK18/intersystems-jdbc-3.0.0.jar")]]></annotation>
38+
cnxn=jaydebeapi.connect("com.intersystems.jdbc.IRISDriver","jdbc:IRIS://localhost:51773/Python", ["dev", "123"], "/InterSystems/IRIS/dev/java/lib/JDK18/intersystems-jdbc-3.0.0.jar")
39+
Data=pd.read_sql('SELECT * FROM isc_py_test.CannibalizationData',cnxn)
40+
cnxn.close()]]></annotation>
3141
<request type='isc.py.msg.ExecutionRequest' >
32-
<assign property="callrequest.Code" value="process.GetAnnotation(&quot;JDBC connect&quot;)" action="set" />
42+
<assign property="callrequest.Code" value="process.GetAnnotation(&quot;JDBC&quot;)" action="set" />
3343
</request>
3444
<response type='isc.py.msg.ExecutionResponse' />
3545
</call>
36-
</false>
37-
</if>
38-
<sync name='Wait for connection' calls='ODBC connect,JDBC connect' type='any' xpos='200' ypos='600' />
39-
<call name='Correlation Matrix: Tabular' target='isc.py.ens.Operation' async='1' xpos='200' ypos='700' >
40-
<annotation><![CDATA[import pandas as pd
46+
</case>
47+
<case condition='process.ConnectionType="ODBC"' name='ODBC' >
48+
<call name='ODBC' target='isc.py.ens.Operation' async='1' xpos='875' ypos='600' >
49+
<annotation><![CDATA[import pyodbc
50+
cnxn=pyodbc.connect(('DSN=ENSEMBLE(PYTHON);UID=dev;PWD=123'),autocommit=True)
4151
Data=pd.read_sql('SELECT * FROM isc_py_test.CannibalizationData',cnxn)
42-
Data0=Data.drop(['WEEK'],axis=1)
52+
cnxn.close()]]></annotation>
53+
<request type='isc.py.msg.ExecutionRequest' >
54+
<assign property="callrequest.Code" value="process.GetAnnotation(&quot;ODBC&quot;)" action="set" />
55+
</request>
56+
<response type='isc.py.msg.ExecutionResponse' />
57+
</call>
58+
</case>
59+
<default/>
60+
</switch>
61+
<sync name='Wait for data' calls='RAW,ODBC,JDBC' type='any' xpos='200' ypos='800' />
62+
<call name='Correlation Matrix: Tabular' target='isc.py.ens.Operation' async='1' xpos='200' ypos='900' >
63+
<annotation><![CDATA[Data0=Data.drop(['WEEK'],axis=1)
4364
Data0['BRATWURST']=pd.to_numeric(Data0['BRATWURST'])
4465
Data0['CERVELAS']=pd.to_numeric(Data0['CERVELAS'])
4566
Data0['CHARCUTERIE']=pd.to_numeric(Data0['CHARCUTERIE'])
@@ -63,17 +84,15 @@ Data0['UEBRIGE_BRUEHWURST_STUECK']=pd.to_numeric(Data0['UEBRIGE_BRUEHWURST_STUEC
6384
Data0['WIENERLI_KNACKERLI_FRANKFURTERLI']=pd.to_numeric(Data0['WIENERLI_KNACKERLI_FRANKFURTERLI'])
6485
corrmat=Data0.corr()
6586
corrmat.columns.name='CATEGORY'
66-
result=corrmat.to_string()
67-
cnxn.close()
68-
]]></annotation>
87+
result=corrmat.to_string()]]></annotation>
6988
<request type='isc.py.msg.ExecutionRequest' >
7089
<assign property="callrequest.Variables" value="&quot;result&quot;" action="set" />
7190
<assign property="callrequest.Code" value="process.GetAnnotation(&quot;Correlation Matrix: Tabular&quot;)" action="set" />
7291
</request>
7392
<response type='isc.py.msg.ExecutionResponse' />
7493
</call>
75-
<sync name='Wait Correlation Matrix: Tabular' calls='Correlation Matrix: Tabular' type='all' xpos='200' ypos='800' />
76-
<call name='Correlation Matrix: Graph' target='isc.py.ens.Operation' async='1' xpos='200' ypos='900' >
94+
<sync name='Wait Correlation Matrix: Tabular' calls='Correlation Matrix: Tabular' type='all' xpos='200' ypos='1000' />
95+
<call name='Correlation Matrix: Graph' target='isc.py.ens.Operation' async='1' xpos='200' ypos='1100' >
7796
<annotation><![CDATA[import matplotlib
7897
import matplotlib.pyplot as plt
7998
import seaborn as sns
@@ -87,15 +106,27 @@ plt.close(f)]]></annotation>
87106
</request>
88107
<response type='isc.py.msg.ExecutionResponse' />
89108
</call>
90-
<sync name='Wait Correlation Matrix: Graph' calls='Correlation Matrix: Graph' type='all' xpos='200' ypos='1000' />
91-
<call name='Save Context' target='isc.py.ens.Operation' async='1' xpos='200' ypos='1100' >
109+
<sync name='Wait Correlation Matrix: Graph' calls='Correlation Matrix: Graph' type='all' xpos='200' ypos='1200' />
110+
<call name='Save Context' target='isc.py.ens.Operation' async='1' xpos='200' ypos='1300' >
92111
<request type='isc.py.msg.SaveRequest' />
93112
<response type='Ens.StringResponse' />
94113
</call>
95-
<sync name='Wait: Save Context' calls='Save Context' type='all' xpos='200' ypos='1200' />
114+
<sync name='Wait: Save Context' calls='Save Context' type='all' xpos='200' ypos='1400' />
96115
</sequence>
97116
</process>
98117
}
99118

119+
Storage Default
120+
{
121+
<Data name="ProcessDefaultData">
122+
<Subscript>"Process"</Subscript>
123+
<Value name="1">
124+
<Value>ConnectionType</Value>
125+
</Value>
126+
</Data>
127+
<DefaultData>ProcessDefaultData</DefaultData>
128+
<Type>%Library.CacheStorage</Type>
129+
}
130+
100131
}
101132

0 commit comments

Comments
 (0)