<data name="DSSample" enableBatchRequests="false" enableBoxcarring="true" serviceStatus="active" baseURI="http://ws.wso2.org/dataservice/samples/ds_sample" transports="http https local">
<config id="default">
<property name="org.wso2.ws.dataservice.driver">org.h2.Driver</property>
<property name="org.wso2.ws.dataservice.protocol">jdbc:h2:file:./samples/database/DATA_SERV_SAMP</property>
<property name="org.wso2.ws.dataservice.user">wso2ds</property>
<property name="org.wso2.ws.dataservice.password">wso2ds</property>
<property name="org.wso2.ws.dataservice.minpoolsize">1</property>
<property name="org.wso2.ws.dataservice.maxpoolsize">10</property>
<property name="org.wso2.ws.dataservice.validation_query"></property>
</config>
<query id="employeesByNumberSQL" useConfig="default">
<sql>select * from Employees where employeeNumber = ?</sql>
<result element="employees" rowName="employee">
<element name="last-name" column="lastName" />
<element name="first-name" column="firstName" />
<element name="email" column="email" />
<element name="salary" column="salary" />
</result>
<param name="employeeNumber" paramType="SCALAR" sqlType="INTEGER" type="IN" ordinal="1" >
<validateLength minimum="3" maximum="20" />
</param>
</query>
<query id="updateProductQuantityQuery" useConfig="default" input-event-trigger="product_stock_low_trigger">
<sql>update Products set quantityInStock=? where productCode=?</sql>
<param name="productCode" paramType="SCALAR" sqlType="STRING" type="IN" ordinal="2" />
<param name="quantityInStock" paramType="SCALAR" sqlType="DOUBLE" type="IN" ordinal="1" />
</query>
<query id="createProductQuery" useConfig="default">
<sql>insert into Products (productCode, productName, productLine, quantityInStock, buyPrice) values (?,?,?,?,?)</sql>
<param name="productCode" paramType="SCALAR" sqlType="STRING" type="IN" ordinal="1" />
<param name="productName" paramType="SCALAR" sqlType="STRING" type="IN" ordinal="2" />
<param name="productLine" paramType="SCALAR" sqlType="STRING" type="IN" ordinal="3" />
<param name="quantityInStock" paramType="SCALAR" sqlType="INTEGER" type="IN" ordinal="4" />
<param name="buyPrice" paramType="SCALAR" sqlType="DOUBLE" type="IN" ordinal="5" />
</query>
<operation name="employeesByNumber">
<call-query href="employeesByNumberSQL" >
<with-param name="employeeNumber" query-param="employeeNumber" />
</call-query>
</operation>
<event-trigger id="product_stock_low_trigger" language="XPath">
<expression>/updateProductQuantityQuery/quantityInStock<10</expression>
<target-topic>product_stock_low_topic</target-topic>
<subscriptions>
<subscription>mailto:test@test.com</subscription>
</subscriptions>
</event-trigger>
<resource path="product/{productCode}/{productName}/{productLine}/{quantityInStock}/{buyPrice}" method="POST">
<call-query href="createProductQuery" >
<with-param name="productCode" query-param="productCode" />
<with-param name="productName" query-param="productName" />
<with-param name="productLine" query-param="productLine" />
<with-param name="quantityInStock" query-param="quantityInStock" />
<with-param name="buyPrice" query-param="buyPrice" />
</call-query>
</resource>
<policy key="conf:repository/components/org.wso2.carbon.security.mgt/policy/scenario1"/>
<enableSec/>
</data>
|