The Not Null Filter will check a dynamic parameter before calling the wrapped data provider. If this dynamic parameter does not hold a value (e.q. is null) then the wrapped data provider will not be called. This is a very helpful way of stopping a web service from being called without the correct input arguments.
The Not Null Filter takes one parameter called required-parameter, here you specify the dynamic parameter that is required.
Code Block | ||||
---|---|---|---|---|
| ||||
<AdapterDataControl id="HrWSData" FactoryClass="oracle.adf.model.adapter.DataControlFactoryImpl"
ImplDef="org.adfemg.datacontrol.xml.DataControlDefinition" SupportsTransactions="false"
SupportsSortCollection="false" SupportsResetState="false" SupportsRangesize="false"
SupportsFindMode="false" SupportsUpdates="false"
Definition="org.adfemg.xmldc.demo.view.HrWSData" BeanClass="org.adfemg.xmldc.demo.view.HrWSData"
xmlns="http://xmlns.oracle.com/adfm/datacontrol">
<Source>
<definition xmlns="http://adfemg.org/adfm/datacontrol/configuration"
schema="http://xmldc-sample.appspot.com/HR.xsd" schema-root="DepartmentEmployeesResponse"
dc-operation="getDeptEmps">
<data-provider class="org.adfemg.datacontrol.xml.provider.filter.NotNullFilter">
<parameters>
<parameter name="required-parameter" value="deptId"/>
</parameters>
<data-provider class="org.adfemg.datacontrol.xml.provider.data.WSDataProvider">
<parameters>
<parameter name="endPointUrl"
value="http://xmldc-sample.appspot.com/HumanResourcesService"/>
<xml-parameter name="requestElement">
<![CDATA[
<hr:DepartmentEmployeesRequest xmlns:hr="http://adfemg.org/HR">
<hr:departmentId>#{param.deptId}</hr:departmentId>
</hr:DepartmentEmployeesRequest>
]]>
</xml-parameter>
<dynamic-parameter name="deptId" java-type="java.lang.Long"/>
</parameters>
</data-provider>
</data-provider>
</definition>
</Source>
</AdapterDataControl> |