MCPcopy Index your code
hub / github.com/MapServer/MapServer / FLTGetCommonExpression

Function FLTGetCommonExpression

mapogcfiltercommon.c:675–706  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

673}
674
675char *FLTGetCommonExpression(FilterEncodingNode *psFilterNode, layerObj *lp)
676{
677 char *pszExpression = NULL;
678
679 if (!psFilterNode)
680 return NULL;
681
682 if (psFilterNode->eType == FILTER_NODE_TYPE_COMPARISON)
683 {
684 if ( psFilterNode->psLeftNode && psFilterNode->psRightNode)
685 {
686 if (FLTIsBinaryComparisonFilterType(psFilterNode->pszValue))
687 pszExpression = FLTGetBinaryComparisonCommonExpression(psFilterNode, lp);
688
689 else if (strcasecmp(psFilterNode->pszValue, "PropertyIsLike") == 0)
690 pszExpression = FLTGetIsLikeComparisonCommonExpression(psFilterNode);
691
692 else if (strcasecmp(psFilterNode->pszValue, "PropertyIsBetween") == 0)
693 pszExpression = FLTGetIsBetweenComparisonCommonExpresssion(psFilterNode, lp);
694 }
695 }
696 else if (psFilterNode->eType == FILTER_NODE_TYPE_LOGICAL)
697 pszExpression = FLTGetLogicalComparisonCommonExpression(psFilterNode, lp);
698
699 else if (psFilterNode->eType == FILTER_NODE_TYPE_SPATIAL)
700 pszExpression = FLTGetSpatialComparisonCommonExpression(psFilterNode, lp);
701
702 else if (psFilterNode->eType == FILTER_NODE_TYPE_FEATUREID)
703 pszExpression = FLTGetFeatureIdCommonExpression(psFilterNode, lp);
704
705 return pszExpression;
706}
707
708
709int FLTApplyFilterToLayerCommonExpression(mapObj *map, int iLayerIndex, char *pszExpression)

Tested by

no test coverage detected