Not Null Filter

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. 

Data Control
    <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>