src/POData/UriProcessor/QueryProcessor/QueryProcessor.php
/**
     * Process the $filter option in the request and update request decription.
     * 
     * @return void
     * 
     * @throws ODataException Throws error in the following cases:
     *                          (1) If $filter cannot be applied to the 
     *                              resource targeted by the request uri
     *                          (2) If any error occured while parsing and
     *                              translating the odata $filter expression
     *                              to expression tree
     *                          (3) If any error occured while generating
     *                              php expression from expression tree
     */
Process the $filter option in the request and update request decription.

@return void

@throws ODataException Throws error in the following cases:
(1) If $filter cannot be applied to the
resource targeted by the request uri
(2) If any error occured while parsing and
translating the odata $filter expression
to expression tree
(3) If any error occured while generating
php expression from expression tree
Process the $filter option in the request and update request decription . @return void @throws ODataException Throws error in the following cases : ( 1 ) If $filter cannot be applied to the resource targeted by the request uri ( 2 ) If any error occured while parsing and translating the odata $filter expression to expression tree ( 3 ) If any error occured while generating php expression from expression tree
private function _processFilter()
    {
        $filter = $this->service->getHost()->getQueryStringItem( ODataConstants::HTTPQUERY_STRING_FILTER );
        if (is_null($filter)) {
            return;
        }
        $kind = $this->request->getTargetKind();
        if (!($kind == TargetKind::RESOURCE()
            || $kind == TargetKind::COMPLEX_OBJECT()
            || $this->request->queryType == QueryType::COUNT() )
        ) {
			throw ODataException::createBadRequestError(
                Messages::queryProcessorQueryFilterOptionNotApplicable()
            );
        }
        $resourceType = $this->request->getTargetResourceType();
        $expressionProvider = $this->service->getProvidersWrapper()->getExpressionProvider();
        $filterInfo = ExpressionParser2::parseExpression2($filter, $resourceType, $expressionProvider);
        $this->request->setFilterInfo( $filterInfo );
    }
private function _processFilter ( ) { $ filter = $ this -> service -> getHost ( ) -> getQueryStringItem ( ODataConstants :: HTTPQUERY_STRING_FILTER ) ; if ( is_null ( $ filter ) ) { return ; } $ kind = $ this -> request -> getTargetKind ( ) ; if ( ! ( $ kind == TargetKind :: RESOURCE ( ) || $ kind == TargetKind :: COMPLEX_OBJECT ( ) || $ this -> request -> queryType == QueryType :: COUNT ( ) ) ) { throw ODataException :: createBadRequestError ( Messages :: queryProcessorQueryFilterOptionNotApplicable ( ) ) ; } $ resourceType = $ this -> request -> getTargetResourceType ( ) ; $ expressionProvider = $ this -> service -> getProvidersWrapper ( ) -> getExpressionProvider ( ) ; $ filterInfo = ExpressionParser2 :: parseExpression2 ( $ filter , $ resourceType , $ expressionProvider ) ; $ this -> request -> setFilterInfo ( $ filterInfo ) ; }
Process the $filter option in the request and update request decription.
Process the $filter option in the request and update request decription .