src/sap.ui.core/src/sap/ui/model/analytics/odata4analytics.js
function(oUI5Filter) {
			var sFilterExpression = null,
				oProperty = this._oEntityType.findPropertyByName(oUI5Filter.sPath);

			if (oProperty == null) {
				throw "Cannot add filter condition for unknown property name " + oUI5Filter.sPath; // TODO
			}

			switch (oUI5Filter.sOperator) {
			case FilterOperator.BT:
				sFilterExpression = "(" + oUI5Filter.sPath + " ge "
					+ this._renderPropertyFilterValue(oUI5Filter.oValue1, oProperty.type)
					+ " and " + oUI5Filter.sPath + " le "
					+ this._renderPropertyFilterValue(oUI5Filter.oValue2, oProperty.type)
					+ ")";
				break;
			case FilterOperator.NB:
				sFilterExpression = "(" + oUI5Filter.sPath + " lt "
					+ this._renderPropertyFilterValue(oUI5Filter.oValue1, oProperty.type)
					+ " or " + oUI5Filter.sPath + " gt "
					+ this._renderPropertyFilterValue(oUI5Filter.oValue2, oProperty.type)
					+ ")";
				break;
			case FilterOperator.Contains:
			case FilterOperator.NotContains:
				sFilterExpression = (oUI5Filter.sOperator[0] === "N" ? "not " : "") + "substringof("
					+ this._renderPropertyFilterValue(oUI5Filter.oValue1, "Edm.String")
					+ "," +  oUI5Filter.sPath + ")";
				break;
			case FilterOperator.StartsWith:
			case FilterOperator.EndsWith:
			case FilterOperator.NotStartsWith:
			case FilterOperator.NotEndsWith:
				sFilterExpression = oUI5Filter.sOperator.toLowerCase().replace("not", "not ") + "("
					+ oUI5Filter.sPath + ","
					+ this._renderPropertyFilterValue(oUI5Filter.oValue1, "Edm.String") + ")";
				break;
			default:
				sFilterExpression = oUI5Filter.sPath + " " + oUI5Filter.sOperator.toLowerCase()
					+ " " + this._renderPropertyFilterValue(oUI5Filter.oValue1, oProperty.type);
			}

			return sFilterExpression;
		}
function(oUI5Filter) {
			var sFilterExpression = null,
				oProperty = this._oEntityType.findPropertyByName(oUI5Filter.sPath);

			if (oProperty == null) {
				throw "Cannot add filter condition for unknown property name " + oUI5Filter.sPath; // TODO
			}

			switch (oUI5Filter.sOperator) {
			case FilterOperator.BT:
				sFilterExpression = "(" + oUI5Filter.sPath + " ge "
					+ this._renderPropertyFilterValue(oUI5Filter.oValue1, oProperty.type)
					+ " and " + oUI5Filter.sPath + " le "
					+ this._renderPropertyFilterValue(oUI5Filter.oValue2, oProperty.type)
					+ ")";
				break;
			case FilterOperator.NB:
				sFilterExpression = "(" + oUI5Filter.sPath + " lt "
					+ this._renderPropertyFilterValue(oUI5Filter.oValue1, oProperty.type)
					+ " or " + oUI5Filter.sPath + " gt "
					+ this._renderPropertyFilterValue(oUI5Filter.oValue2, oProperty.type)
					+ ")";
				break;
			case FilterOperator.Contains:
			case FilterOperator.NotContains:
				sFilterExpression = (oUI5Filter.sOperator[0] === "N" ? "not " : "") + "substringof("
					+ this._renderPropertyFilterValue(oUI5Filter.oValue1, "Edm.String")
					+ "," +  oUI5Filter.sPath + ")";
				break;
			case FilterOperator.StartsWith:
			case FilterOperator.EndsWith:
			case FilterOperator.NotStartsWith:
			case FilterOperator.NotEndsWith:
				sFilterExpression = oUI5Filter.sOperator.toLowerCase().replace("not", "not ") + "("
					+ oUI5Filter.sPath + ","
					+ this._renderPropertyFilterValue(oUI5Filter.oValue1, "Edm.String") + ")";
				break;
			default:
				sFilterExpression = oUI5Filter.sPath + " " + oUI5Filter.sOperator.toLowerCase()
					+ " " + this._renderPropertyFilterValue(oUI5Filter.oValue1, oProperty.type);
			}

			return sFilterExpression;
		}
function ( oUI5Filter ) { var sFilterExpression = null , oProperty = this . _oEntityType . findPropertyByName ( oUI5Filter . sPath ) ; if ( oProperty == null ) { throw "Cannot add filter condition for unknown property name " + oUI5Filter . sPath ; // TODO } switch ( oUI5Filter . sOperator ) { case FilterOperator . BT : sFilterExpression = "(" + oUI5Filter . sPath + " ge " + this . _renderPropertyFilterValue ( oUI5Filter . oValue1 , oProperty . type ) + " and " + oUI5Filter . sPath + " le " + this . _renderPropertyFilterValue ( oUI5Filter . oValue2 , oProperty . type ) + ")" ; break ; case FilterOperator . NB : sFilterExpression = "(" + oUI5Filter . sPath + " lt " + this . _renderPropertyFilterValue ( oUI5Filter . oValue1 , oProperty . type ) + " or " + oUI5Filter . sPath + " gt " + this . _renderPropertyFilterValue ( oUI5Filter . oValue2 , oProperty . type ) + ")" ; break ; case FilterOperator . Contains : case FilterOperator . NotContains : sFilterExpression = ( oUI5Filter . sOperator [ 0 ] === "N" ? "not " : "" ) + "substringof(" + this . _renderPropertyFilterValue ( oUI5Filter . oValue1 , "Edm.String" ) + "," + oUI5Filter . sPath + ")" ; break ; case FilterOperator . StartsWith : case FilterOperator . EndsWith : case FilterOperator . NotStartsWith : case FilterOperator . NotEndsWith : sFilterExpression = oUI5Filter . sOperator . toLowerCase ( ) . replace ( "not" , "not " ) + "(" + oUI5Filter . sPath + "," + this . _renderPropertyFilterValue ( oUI5Filter . oValue1 , "Edm.String" ) + ")" ; break ; default : sFilterExpression = oUI5Filter . sPath + " " + oUI5Filter . sOperator . toLowerCase ( ) + " " + this . _renderPropertyFilterValue ( oUI5Filter . oValue1 , oProperty . type ) ; } return sFilterExpression ; }
Render a UI5 Filter as OData condition.

@param {string} oUI5Filter The filter object to render (must not be a multi filter)
@returns {string} The $filter value for the given UI5 filter
@private
Render a UI5 Filter as OData condition .