/ FLTGetNodeExpression */ / Return the expresion for a specific node. */ /
| 2142 | /* Return the expresion for a specific node. */ |
| 2143 | /************************************************************************/ |
| 2144 | char *FLTGetNodeExpression(FilterEncodingNode *psFilterNode, layerObj *lp) |
| 2145 | { |
| 2146 | char *pszExpression = NULL; |
| 2147 | if (!psFilterNode) |
| 2148 | return NULL; |
| 2149 | |
| 2150 | if (FLTIsLogicalFilterType(psFilterNode->pszValue)) |
| 2151 | pszExpression = FLTGetLogicalComparisonExpresssion(psFilterNode, lp); |
| 2152 | else if (FLTIsComparisonFilterType(psFilterNode->pszValue)) |
| 2153 | { |
| 2154 | if (FLTIsBinaryComparisonFilterType(psFilterNode->pszValue)) |
| 2155 | pszExpression = FLTGetBinaryComparisonExpresssion(psFilterNode, lp); |
| 2156 | else if (strcasecmp(psFilterNode->pszValue, "PropertyIsBetween") == 0) |
| 2157 | pszExpression = FLTGetIsBetweenComparisonExpresssion(psFilterNode, lp); |
| 2158 | else if (strcasecmp(psFilterNode->pszValue, "PropertyIsLike") == 0) |
| 2159 | pszExpression = FLTGetIsLikeComparisonExpression(psFilterNode); |
| 2160 | } |
| 2161 | |
| 2162 | return pszExpression; |
| 2163 | } |
| 2164 | |
| 2165 | |
| 2166 | /************************************************************************/ |
no test coverage detected