-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathnested_query_json.xml
39 lines (39 loc) · 2.32 KB
/
nested_query_json.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<data name="nested_query_json" transports="http https local">
<config enableOData="false" id="mysql">
<property name="driverClassName">com.mysql.jdbc.Driver</property>
<property name="url">jdbc:mysql://localhost:3306/tutorials</property>
<property name="username">root</property>
<property name="password">root</property>
</config>
<query id="EmployeeOfficeSQL" useConfig="mysql">
<sql>select EmployeeNumber, FirstName, LastName, Email, JobTitle, OfficeCode from EMPLOYEES where OfficeCode=:OfficeCode</sql>
<result element="Entries" rowName="Entry">
<element column="EmployeeNumber" name="EmployeeNumber" xsdType="string"/>
<element column="FirstName" name="FirstName" xsdType="string"/>
<element column="LastName" name="LastName" xsdType="string"/>
<element column="Email" name="Email" xsdType="string"/>
<element column="JobTitle" name="JobTitle" xsdType="string"/>
<element column="OfficeCode" name="OfficeCode" xsdType="string"/>
</result>
<param name="OfficeCode" sqlType="STRING"/>
</query>
<query id="listOfficeSQL" useConfig="mysql">
<sql>select OfficeCode, AddressLine1, AddressLine2, City, State, Country, Phone from OFFICES where OfficeCode=:OfficeCode</sql>
<result outputType="json">
<call-query href="EmployeeOfficeSQL" requiredRoles="">
<with-param column="OfficeCode" name="OfficeCode"/>
</call-query>{ 
 "Offices":{ 
 "Office":[ 
 { 
 "OfficeCode":"$OfficeCode(type:integer)",
 "City":"$City",
 "Country":"$Country",
 "Phone":"$Phone",
 "@EmployeeOfficeSQL":"$OfficeCode->OfficeCode"
 }
 ]
 }
}
 
 
</result>
<param name="OfficeCode" sqlType="STRING"/>
</query>
<operation name="listOfficeSQLOP">
<call-query href="listOfficeSQL">
<with-param name="OfficeCode" query-param="OfficeCode"/>
</call-query>
</operation>
<resource method="GET" path="offices/{OfficeCode}">
<call-query href="listOfficeSQL">
<with-param name="OfficeCode" query-param="OfficeCode"/>
</call-query>
</resource>
</data>