You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ko...@apache.org on 2014/03/12 11:06:14 UTC

[1/2] [OLINGO-63] Uri Parser: renaming an documetation

Repository: incubator-olingo-odata4
Updated Branches:
  refs/heads/master eff82c553 -> b7869d924


http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
index 9a1e3b1..7cd16a0 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestFullResourcePath.java
@@ -28,7 +28,7 @@ import org.apache.olingo.server.api.uri.UriInfoKind;
 import org.apache.olingo.server.api.uri.UriResourceKind;
 import org.apache.olingo.server.api.uri.queryoption.expression.BinaryOperatorKind;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
-import org.apache.olingo.server.api.uri.queryoption.expression.MethodCallKind;
+import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
 import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
 import org.apache.olingo.server.core.testutil.EdmTechProvider;
 import org.apache.olingo.server.core.testutil.EdmTechTestProvider;
@@ -3485,46 +3485,46 @@ public class TestFullResourcePath {
     testFilter.runOnETKeyNav("indexof(PropertyString,'47') eq 5")
         .is("<<indexof(<PropertyString>,<'47'>)> eq <5>>")
         .root().left()
-        .isMethod(MethodCallKind.INDEXOF, 2)
+        .isMethod(MethodKind.INDEXOF, 2)
         .isParameterText(0, "<PropertyString>")
         .isParameterText(1, "<'47'>");
 
     testFilter.runOnETKeyNav("tolower(PropertyString) eq 'foo'")
         .is("<<tolower(<PropertyString>)> eq <'foo'>>")
         .root().left()
-        .isMethod(MethodCallKind.TOLOWER, 1)
+        .isMethod(MethodKind.TOLOWER, 1)
         .isParameterText(0, "<PropertyString>");
 
     testFilter.runOnETKeyNav("toupper(PropertyString) eq 'FOO'")
         .is("<<toupper(<PropertyString>)> eq <'FOO'>>")
         .root().left()
-        .isMethod(MethodCallKind.TOUPPER, 1)
+        .isMethod(MethodKind.TOUPPER, 1)
         .isParameterText(0, "<PropertyString>");
 
     testFilter.runOnETKeyNav("trim(PropertyString) eq 'fooba'")
         .is("<<trim(<PropertyString>)> eq <'fooba'>>")
         .root().left()
-        .isMethod(MethodCallKind.TRIM, 1)
+        .isMethod(MethodKind.TRIM, 1)
         .isParameterText(0, "<PropertyString>");
 
     testFilter.runOnETKeyNav("substring(PropertyString,4) eq 'foo'")
         .is("<<substring(<PropertyString>,<4>)> eq <'foo'>>")
         .root().left()
-        .isMethod(MethodCallKind.SUBSTRING, 2)
+        .isMethod(MethodKind.SUBSTRING, 2)
         .isParameterText(0, "<PropertyString>")
         .isParameterText(1, "<4>");
 
     testFilter.runOnETKeyNav("substring(PropertyString,4) eq 'foo'")
         .is("<<substring(<PropertyString>,<4>)> eq <'foo'>>")
         .root().left()
-        .isMethod(MethodCallKind.SUBSTRING, 2)
+        .isMethod(MethodKind.SUBSTRING, 2)
         .isParameterText(0, "<PropertyString>")
         .isParameterText(1, "<4>");
 
     testFilter.runOnETKeyNav("substring(PropertyString,2,4) eq 'foo'")
         .is("<<substring(<PropertyString>,<2>,<4>)> eq <'foo'>>")
         .root().left()
-        .isMethod(MethodCallKind.SUBSTRING, 3)
+        .isMethod(MethodKind.SUBSTRING, 3)
         .isParameterText(0, "<PropertyString>")
         .isParameterText(1, "<2>")
         .isParameterText(2, "<4>");
@@ -3532,360 +3532,360 @@ public class TestFullResourcePath {
     testFilter.runOnETKeyNav("concat(PropertyString,PropertyComplexTwoPrim/PropertyString) eq 'foo'")
         .is("<<concat(<PropertyString>,<PropertyComplexTwoPrim/PropertyString>)> eq <'foo'>>")
         .root().left()
-        .isMethod(MethodCallKind.CONCAT, 2)
+        .isMethod(MethodKind.CONCAT, 2)
         .isParameterText(0, "<PropertyString>")
         .isParameterText(1, "<PropertyComplexTwoPrim/PropertyString>");
 
     testFilter.runOnETKeyNav("concat(PropertyString,'bar') eq 'foobar'")
         .is("<<concat(<PropertyString>,<'bar'>)> eq <'foobar'>>")
         .root().left()
-        .isMethod(MethodCallKind.CONCAT, 2)
+        .isMethod(MethodKind.CONCAT, 2)
         .isParameterText(0, "<PropertyString>")
         .isParameterText(1, "<'bar'>");
 
     testFilter.runOnETKeyNav("concat(PropertyString,'bar') eq 'foobar'")
         .is("<<concat(<PropertyString>,<'bar'>)> eq <'foobar'>>")
         .root().left()
-        .isMethod(MethodCallKind.CONCAT, 2)
+        .isMethod(MethodKind.CONCAT, 2)
         .isParameterText(0, "<PropertyString>")
         .isParameterText(1, "<'bar'>");
 
     testFilter.runOnETKeyNav("concat(PropertyString, cast(PropertyComplexAllPrim/PropertyInt16,Edm.String))")
         .is("<concat(<PropertyString>,<cast(<PropertyComplexAllPrim/PropertyInt16>,<Edm.String>)>)>")
-        .isMethod(MethodCallKind.CONCAT, 2)
+        .isMethod(MethodKind.CONCAT, 2)
         .isParameterText(0, "<PropertyString>")
         .isParameterText(1, "<cast(<PropertyComplexAllPrim/PropertyInt16>,<Edm.String>)>")
         .goParameter(1)
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .isParameterText(0, "<PropertyComplexAllPrim/PropertyInt16>")
         .isParameterText(1, "<Edm.String>");
 
     testFilter.runOnETKeyNav("length(PropertyString) eq 32")
         .is("<<length(<PropertyString>)> eq <32>>")
         .root().left()
-        .isMethod(MethodCallKind.LENGTH, 1)
+        .isMethod(MethodKind.LENGTH, 1)
         .isParameterText(0, "<PropertyString>");
 
     testFilter.runOnETAllPrim("year(PropertyDate) eq 2013")
         .is("<<year(<PropertyDate>)> eq <2013>>")
         .root().left()
-        .isMethod(MethodCallKind.YEAR, 1)
+        .isMethod(MethodKind.YEAR, 1)
         .isParameterText(0, "<PropertyDate>");
 
     testFilter.runOnETAllPrim("year(2013-09-25) eq 2013")
         .is("<<year(<2013-09-25>)> eq <2013>>")
         .root().left()
-        .isMethod(MethodCallKind.YEAR, 1)
+        .isMethod(MethodKind.YEAR, 1)
         .isParameterText(0, "<2013-09-25>");
 
     testFilter.runOnETAllPrim("year(PropertyDateTimeOffset) eq 2013")
         .is("<<year(<PropertyDateTimeOffset>)> eq <2013>>")
         .root().left()
-        .isMethod(MethodCallKind.YEAR, 1)
+        .isMethod(MethodKind.YEAR, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("year(2013-09-25T12:34:56.123456789012-10:24) eq 2013")
         .is("<<year(<2013-09-25T12:34:56.123456789012-10:24>)> eq <2013>>")
         .root().left()
-        .isMethod(MethodCallKind.YEAR, 1)
+        .isMethod(MethodKind.YEAR, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("month(PropertyDate) eq 9")
         .is("<<month(<PropertyDate>)> eq <9>>")
         .root().left()
-        .isMethod(MethodCallKind.MONTH, 1)
+        .isMethod(MethodKind.MONTH, 1)
         .isParameterText(0, "<PropertyDate>");
 
     testFilter.runOnETAllPrim("month(2013-09-25) eq 9")
         .is("<<month(<2013-09-25>)> eq <9>>")
         .root().left()
-        .isMethod(MethodCallKind.MONTH, 1)
+        .isMethod(MethodKind.MONTH, 1)
         .isParameterText(0, "<2013-09-25>");
 
     testFilter.runOnETAllPrim("month(PropertyDateTimeOffset) eq 9")
         .is("<<month(<PropertyDateTimeOffset>)> eq <9>>")
         .root().left()
-        .isMethod(MethodCallKind.MONTH, 1)
+        .isMethod(MethodKind.MONTH, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("month(2013-09-25T12:34:56.123456789012-10:24) eq 9")
         .is("<<month(<2013-09-25T12:34:56.123456789012-10:24>)> eq <9>>")
         .root().left()
-        .isMethod(MethodCallKind.MONTH, 1)
+        .isMethod(MethodKind.MONTH, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("day(PropertyDate) eq 25")
         .is("<<day(<PropertyDate>)> eq <25>>")
         .root().left()
-        .isMethod(MethodCallKind.DAY, 1)
+        .isMethod(MethodKind.DAY, 1)
         .isParameterText(0, "<PropertyDate>");
 
     testFilter.runOnETAllPrim("day(2013-09-25) eq 25")
         .is("<<day(<2013-09-25>)> eq <25>>")
         .root().left()
-        .isMethod(MethodCallKind.DAY, 1)
+        .isMethod(MethodKind.DAY, 1)
         .isParameterText(0, "<2013-09-25>");
 
     testFilter.runOnETAllPrim("day(PropertyDateTimeOffset) eq 25")
         .is("<<day(<PropertyDateTimeOffset>)> eq <25>>")
         .root().left()
-        .isMethod(MethodCallKind.DAY, 1)
+        .isMethod(MethodKind.DAY, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("day(2013-09-25T12:34:56.123456789012-10:24) eq 25")
         .is("<<day(<2013-09-25T12:34:56.123456789012-10:24>)> eq <25>>")
         .root().left()
-        .isMethod(MethodCallKind.DAY, 1)
+        .isMethod(MethodKind.DAY, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("hour(PropertyDateTimeOffset) eq 2")
         .is("<<hour(<PropertyDateTimeOffset>)> eq <2>>")
         .root().left()
-        .isMethod(MethodCallKind.HOUR, 1)
+        .isMethod(MethodKind.HOUR, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("hour(PropertyDateTimeOffset) eq 2")
         .is("<<hour(<PropertyDateTimeOffset>)> eq <2>>")
         .root().left()
-        .isMethod(MethodCallKind.HOUR, 1)
+        .isMethod(MethodKind.HOUR, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("hour(2013-09-25T12:34:56.123456789012-10:24) eq 2")
         .is("<<hour(<2013-09-25T12:34:56.123456789012-10:24>)> eq <2>>")
         .root().left()
-        .isMethod(MethodCallKind.HOUR, 1)
+        .isMethod(MethodKind.HOUR, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("hour(PropertyTimeOfDay) eq 2")
         .is("<<hour(<PropertyTimeOfDay>)> eq <2>>")
         .root().left()
-        .isMethod(MethodCallKind.HOUR, 1)
+        .isMethod(MethodKind.HOUR, 1)
         .isParameterText(0, "<PropertyTimeOfDay>");
 
     testFilter.runOnETAllPrim("hour(12:34:55.123456789012) eq 12")
         .is("<<hour(<12:34:55.123456789012>)> eq <12>>")
         .root().left()
-        .isMethod(MethodCallKind.HOUR, 1)
+        .isMethod(MethodKind.HOUR, 1)
         .isParameterText(0, "<12:34:55.123456789012>");
 
     testFilter.runOnETAllPrim("minute(PropertyDateTimeOffset) eq 34")
         .is("<<minute(<PropertyDateTimeOffset>)> eq <34>>")
         .root().left()
-        .isMethod(MethodCallKind.MINUTE, 1)
+        .isMethod(MethodKind.MINUTE, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("minute(2013-09-25T12:34:56.123456789012-10:24) eq 34")
         .is("<<minute(<2013-09-25T12:34:56.123456789012-10:24>)> eq <34>>")
         .root().left()
-        .isMethod(MethodCallKind.MINUTE, 1)
+        .isMethod(MethodKind.MINUTE, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("minute(PropertyTimeOfDay) eq 34")
         .is("<<minute(<PropertyTimeOfDay>)> eq <34>>")
         .root().left()
-        .isMethod(MethodCallKind.MINUTE, 1)
+        .isMethod(MethodKind.MINUTE, 1)
         .isParameterText(0, "<PropertyTimeOfDay>");
 
     testFilter.runOnETAllPrim("minute(12:34:55.123456789012) eq 34")
         .is("<<minute(<12:34:55.123456789012>)> eq <34>>")
         .root().left()
-        .isMethod(MethodCallKind.MINUTE, 1)
+        .isMethod(MethodKind.MINUTE, 1)
         .isParameterText(0, "<12:34:55.123456789012>");
 
     testFilter.runOnETAllPrim("second(PropertyDateTimeOffset) eq 56")
         .is("<<second(<PropertyDateTimeOffset>)> eq <56>>")
         .root().left()
-        .isMethod(MethodCallKind.SECOND, 1)
+        .isMethod(MethodKind.SECOND, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("second(2013-09-25T12:34:56.123456789012-10:24) eq 56")
         .is("<<second(<2013-09-25T12:34:56.123456789012-10:24>)> eq <56>>")
         .root().left()
-        .isMethod(MethodCallKind.SECOND, 1)
+        .isMethod(MethodKind.SECOND, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("second(PropertyTimeOfDay) eq 56")
         .is("<<second(<PropertyTimeOfDay>)> eq <56>>")
         .root().left()
-        .isMethod(MethodCallKind.SECOND, 1)
+        .isMethod(MethodKind.SECOND, 1)
         .isParameterText(0, "<PropertyTimeOfDay>");
 
     testFilter.runOnETAllPrim("second(12:34:55.123456789012) eq 56")
         .is("<<second(<12:34:55.123456789012>)> eq <56>>")
         .root().left()
-        .isMethod(MethodCallKind.SECOND, 1)
+        .isMethod(MethodKind.SECOND, 1)
         .isParameterText(0, "<12:34:55.123456789012>");
 
     testFilter.runOnETAllPrim("fractionalseconds(PropertyDateTimeOffset) eq 123456789012")
         .is("<<fractionalseconds(<PropertyDateTimeOffset>)> eq <123456789012>>")
         .root().left()
-        .isMethod(MethodCallKind.FRACTIONALSECONDS, 1)
+        .isMethod(MethodKind.FRACTIONALSECONDS, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("fractionalseconds(2013-09-25T12:34:56.123456789012-10:24) eq 123456789012")
         .is("<<fractionalseconds(<2013-09-25T12:34:56.123456789012-10:24>)> eq <123456789012>>")
         .root().left()
-        .isMethod(MethodCallKind.FRACTIONALSECONDS, 1)
+        .isMethod(MethodKind.FRACTIONALSECONDS, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("fractionalseconds(PropertyTimeOfDay) eq 123456789012")
         .is("<<fractionalseconds(<PropertyTimeOfDay>)> eq <123456789012>>")
         .root().left()
-        .isMethod(MethodCallKind.FRACTIONALSECONDS, 1)
+        .isMethod(MethodKind.FRACTIONALSECONDS, 1)
         .isParameterText(0, "<PropertyTimeOfDay>");
 
     testFilter.runOnETAllPrim("fractionalseconds(12:34:55.123456789012) eq 123456789012")
         .is("<<fractionalseconds(<12:34:55.123456789012>)> eq <123456789012>>")
         .root().left()
-        .isMethod(MethodCallKind.FRACTIONALSECONDS, 1)
+        .isMethod(MethodKind.FRACTIONALSECONDS, 1)
         .isParameterText(0, "<12:34:55.123456789012>");
 
     testFilter.runOnETAllPrim("totalseconds(PropertyDuration) eq 4711")
         .is("<<totalseconds(<PropertyDuration>)> eq <4711>>")
         .root().left()
-        .isMethod(MethodCallKind.TOTALSECONDS, 1)
+        .isMethod(MethodKind.TOTALSECONDS, 1)
         .isParameterText(0, "<PropertyDuration>");
 
     testFilter.runOnETAllPrim("totalseconds(duration'P10DT5H34M21.123456789012S') eq 4711")
         .is("<<totalseconds(<duration'P10DT5H34M21.123456789012S'>)> eq <4711>>")
         .root().left()
-        .isMethod(MethodCallKind.TOTALSECONDS, 1)
+        .isMethod(MethodKind.TOTALSECONDS, 1)
         .isParameterText(0, "<duration'P10DT5H34M21.123456789012S'>");
 
     testFilter.runOnETAllPrim("date(PropertyDateTimeOffset) eq 2013-09-25")
         .is("<<date(<PropertyDateTimeOffset>)> eq <2013-09-25>>")
         .root().left()
-        .isMethod(MethodCallKind.DATE, 1)
+        .isMethod(MethodKind.DATE, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("date(2013-09-25T12:34:56.123456789012-10:24) eq 2013-09-25")
         .is("<<date(<2013-09-25T12:34:56.123456789012-10:24>)> eq <2013-09-25>>")
         .root().left()
-        .isMethod(MethodCallKind.DATE, 1)
+        .isMethod(MethodKind.DATE, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("time(PropertyDateTimeOffset) eq 12:34:55.123456789012")
         .is("<<time(<PropertyDateTimeOffset>)> eq <12:34:55.123456789012>>")
         .root().left()
-        .isMethod(MethodCallKind.TIME, 1)
+        .isMethod(MethodKind.TIME, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("time(2013-09-25T12:34:56.123456789012-10:24) eq 12:34:55.123456789012")
         .is("<<time(<2013-09-25T12:34:56.123456789012-10:24>)> eq <12:34:55.123456789012>>")
         .root().left()
-        .isMethod(MethodCallKind.TIME, 1)
+        .isMethod(MethodKind.TIME, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("round(PropertyDouble) eq 17")
         .is("<<round(<PropertyDouble>)> eq <17>>")
         .root().left()
-        .isMethod(MethodCallKind.ROUND, 1)
+        .isMethod(MethodKind.ROUND, 1)
         .isParameterText(0, "<PropertyDouble>");
 
     testFilter.runOnETAllPrim("round(17.45e1) eq 17")
         .is("<<round(<17.45e1>)> eq <17>>")
         .root().left()
-        .isMethod(MethodCallKind.ROUND, 1)
+        .isMethod(MethodKind.ROUND, 1)
         .isParameterText(0, "<17.45e1>");
 
     testFilter.runOnETAllPrim("round(PropertyDecimal) eq 17")
         .is("<<round(<PropertyDecimal>)> eq <17>>")
         .root().left()
-        .isMethod(MethodCallKind.ROUND, 1)
+        .isMethod(MethodKind.ROUND, 1)
         .isParameterText(0, "<PropertyDecimal>");
 
     testFilter.runOnETAllPrim("round(17.45) eq 17")
         .is("<<round(<17.45>)> eq <17>>")
         .root().left()
-        .isMethod(MethodCallKind.ROUND, 1)
+        .isMethod(MethodKind.ROUND, 1)
         .isParameterText(0, "<17.45>");
 
     testFilter.runOnETAllPrim("floor(PropertyDouble) eq 17")
         .is("<<floor(<PropertyDouble>)> eq <17>>")
         .root().left()
-        .isMethod(MethodCallKind.FLOOR, 1)
+        .isMethod(MethodKind.FLOOR, 1)
         .isParameterText(0, "<PropertyDouble>");
 
     testFilter.runOnETAllPrim("floor(17.45e1) eq 17")
         .is("<<floor(<17.45e1>)> eq <17>>")
         .root().left()
-        .isMethod(MethodCallKind.FLOOR, 1)
+        .isMethod(MethodKind.FLOOR, 1)
         .isParameterText(0, "<17.45e1>");
 
     testFilter.runOnETAllPrim("floor(PropertyDecimal) eq 17")
         .is("<<floor(<PropertyDecimal>)> eq <17>>")
         .root().left()
-        .isMethod(MethodCallKind.FLOOR, 1)
+        .isMethod(MethodKind.FLOOR, 1)
         .isParameterText(0, "<PropertyDecimal>");
 
     testFilter.runOnETAllPrim("floor(17.45) eq 17")
         .is("<<floor(<17.45>)> eq <17>>")
         .root().left()
-        .isMethod(MethodCallKind.FLOOR, 1)
+        .isMethod(MethodKind.FLOOR, 1)
         .isParameterText(0, "<17.45>");
 
     testFilter.runOnETAllPrim("ceiling(PropertyDouble) eq 18")
         .is("<<ceiling(<PropertyDouble>)> eq <18>>")
         .root().left()
-        .isMethod(MethodCallKind.CEILING, 1)
+        .isMethod(MethodKind.CEILING, 1)
         .isParameterText(0, "<PropertyDouble>");
 
     testFilter.runOnETAllPrim("ceiling(17.55e1) eq 18")
         .is("<<ceiling(<17.55e1>)> eq <18>>")
         .root().left()
-        .isMethod(MethodCallKind.CEILING, 1)
+        .isMethod(MethodKind.CEILING, 1)
         .isParameterText(0, "<17.55e1>");
 
     testFilter.runOnETAllPrim("ceiling(PropertyDecimal) eq 18")
         .is("<<ceiling(<PropertyDecimal>)> eq <18>>")
         .root().left()
-        .isMethod(MethodCallKind.CEILING, 1)
+        .isMethod(MethodKind.CEILING, 1)
         .isParameterText(0, "<PropertyDecimal>");
 
     testFilter.runOnETAllPrim("ceiling(17.55) eq 18")
         .is("<<ceiling(<17.55>)> eq <18>>")
         .root().left()
-        .isMethod(MethodCallKind.CEILING, 1)
+        .isMethod(MethodKind.CEILING, 1)
         .isParameterText(0, "<17.55>");
 
     testFilter.runOnETAllPrim("totaloffsetminutes(PropertyDateTimeOffset) eq 4711")
         .is("<<totaloffsetminutes(<PropertyDateTimeOffset>)> eq <4711>>")
         .root().left()
-        .isMethod(MethodCallKind.TOTALOFFSETMINUTES, 1)
+        .isMethod(MethodKind.TOTALOFFSETMINUTES, 1)
         .isParameterText(0, "<PropertyDateTimeOffset>");
 
     testFilter.runOnETAllPrim("totaloffsetminutes(2013-09-25T12:34:56.123456789012-10:24) eq 4711")
         .is("<<totaloffsetminutes(<2013-09-25T12:34:56.123456789012-10:24>)> eq <4711>>")
         .root().left()
-        .isMethod(MethodCallKind.TOTALOFFSETMINUTES, 1)
+        .isMethod(MethodKind.TOTALOFFSETMINUTES, 1)
         .isParameterText(0, "<2013-09-25T12:34:56.123456789012-10:24>");
 
     testFilter.runOnETAllPrim("mindatetime()")
         .is("<mindatetime()>")
-        .isMethod(MethodCallKind.MINDATETIME, 0);
+        .isMethod(MethodKind.MINDATETIME, 0);
 
     testFilter.runOnETAllPrim("mindatetime() eq 2013-09-25T12:34:56.123456789012-10:24")
         .is("<<mindatetime()> eq <2013-09-25T12:34:56.123456789012-10:24>>")
         .root().left()
-        .isMethod(MethodCallKind.MINDATETIME, 0);
+        .isMethod(MethodKind.MINDATETIME, 0);
 
     testFilter.runOnETAllPrim("maxdatetime()")
         .is("<maxdatetime()>")
-        .isMethod(MethodCallKind.MAXDATETIME, 0);
+        .isMethod(MethodKind.MAXDATETIME, 0);
 
     testFilter.runOnETAllPrim("maxdatetime() eq 2013-09-25T12:34:56.123456789012-10:24")
         .is("<<maxdatetime()> eq <2013-09-25T12:34:56.123456789012-10:24>>")
         .root().left()
-        .isMethod(MethodCallKind.MAXDATETIME, 0);
+        .isMethod(MethodKind.MAXDATETIME, 0);
 
     testFilter.runOnETAllPrim("now()")
         .is("<now()>")
-        .isMethod(MethodCallKind.NOW, 0);
+        .isMethod(MethodKind.NOW, 0);
 
     testFilter.runOnETAllPrim("now() eq 2013-09-25T12:34:56.123456789012-10:24")
         .is("<<now()> eq <2013-09-25T12:34:56.123456789012-10:24>>")
         .root().left()
-        .isMethod(MethodCallKind.NOW, 0);
+        .isMethod(MethodKind.NOW, 0);
 
     testFilter.runOnETTwoKeyNav("$it/PropertyString eq 'SomeString'")
         .is("<<$it/PropertyString> eq <'SomeString'>>")
@@ -3912,7 +3912,7 @@ public class TestFullResourcePath {
 
     testFilter.runOnString("endswith($it,'sap.com')")
         .is("<endswith(<$it>,<'sap.com'>)>")
-        .isMethod(MethodCallKind.ENDSWITH, 2)
+        .isMethod(MethodKind.ENDSWITH, 2)
         .isParameterText(0, "<$it>")
         .isParameterText(1, "<'sap.com'>")
         .goParameter(0)
@@ -3923,7 +3923,7 @@ public class TestFullResourcePath {
     testFilter.runOnString("endswith($it,'sap.com') eq false")
         .is("<<endswith(<$it>,<'sap.com'>)> eq <false>>")
         .root().left()
-        .isMethod(MethodCallKind.ENDSWITH, 2)
+        .isMethod(MethodKind.ENDSWITH, 2)
         .isParameterText(0, "<$it>")
         .isParameterText(1, "<'sap.com'>")
         .goParameter(0)
@@ -3933,7 +3933,7 @@ public class TestFullResourcePath {
 
     testFilter.runOnETTwoKeyNav("endswith($it/CollPropertyString,'sap.com')")
         .is("<endswith(<$it/CollPropertyString>,<'sap.com'>)>")
-        .isMethod(MethodCallKind.ENDSWITH, 2)
+        .isMethod(MethodKind.ENDSWITH, 2)
         .isParameterText(0, "<$it/CollPropertyString>")
         .isParameterText(1, "<'sap.com'>")
         .goParameter(0)
@@ -3962,7 +3962,7 @@ public class TestFullResourcePath {
     testFilter.runOnETKeyNav("cast(com.sap.odata.test1.ETBaseTwoKeyNav)")
         .is("<cast(<com.sap.odata.test1.ETBaseTwoKeyNav>)>")
         .root()
-        .isMethod(MethodCallKind.CAST, 1)
+        .isMethod(MethodKind.CAST, 1)
         .isParameterText(0, "<com.sap.odata.test1.ETBaseTwoKeyNav>")
         .goParameter(0)
         .isTypedLiteral(EdmTechProvider.nameETBaseTwoKeyNav);
@@ -3970,7 +3970,7 @@ public class TestFullResourcePath {
     testFilter.runOnETKeyNav("cast(PropertyComplexTwoPrim,com.sap.odata.test1.CTBase)")
         .is("<cast(<PropertyComplexTwoPrim>,<com.sap.odata.test1.CTBase>)>")
         .root()
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .isParameterText(0, "<PropertyComplexTwoPrim>")
         .isParameterText(1, "<com.sap.odata.test1.CTBase>")
         .goParameter(0).goPath().first()
@@ -3983,7 +3983,7 @@ public class TestFullResourcePath {
     testFilter.runOnETKeyNav("cast($it,com.sap.odata.test1.CTBase)")
         .is("<cast(<$it>,<com.sap.odata.test1.CTBase>)>")
         .root()
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .isParameterText(0, "<$it>")
         .isParameterText(1, "<com.sap.odata.test1.CTBase>")
         .goParameter(0).goPath().first()
@@ -3996,7 +3996,7 @@ public class TestFullResourcePath {
         )
         .is("<<cast(<$it>,<com.sap.odata.test1.CTBase>)> eq <cast(<$it>,<com.sap.odata.test1.CTBase>)>>")
         .root().left()
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .isParameterText(0, "<$it>")
         .isParameterText(1, "<com.sap.odata.test1.CTBase>")
         .goParameter(0).goPath().first()
@@ -4005,7 +4005,7 @@ public class TestFullResourcePath {
         .root().left()
         .goParameter(1).isTypedLiteral(EdmTechProvider.nameCTBase)
         .root().right()
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .isParameterText(0, "<$it>")
         .isParameterText(1, "<com.sap.odata.test1.CTBase>")
         .goParameter(0).goPath().first()
@@ -4016,27 +4016,27 @@ public class TestFullResourcePath {
 
     testFilter.runOnInt32("cast(Edm.Int32)")
         .is("<cast(<Edm.Int32>)>")
-        .isMethod(MethodCallKind.CAST, 1)
+        .isMethod(MethodKind.CAST, 1)
         .goParameter(0).isTypedLiteral(EdmTechProvider.nameInt32);
 
     testFilter.runOnDateTimeOffset("cast(Edm.DateTimeOffset)")
         .is("<cast(<Edm.DateTimeOffset>)>")
-        .isMethod(MethodCallKind.CAST, 1)
+        .isMethod(MethodKind.CAST, 1)
         .goParameter(0).isTypedLiteral(EdmTechProvider.nameDateTimeOffset);
 
     testFilter.runOnDuration("cast(Edm.Duration)")
         .is("<cast(<Edm.Duration>)>")
-        .isMethod(MethodCallKind.CAST, 1)
+        .isMethod(MethodKind.CAST, 1)
         .goParameter(0).isTypedLiteral(EdmTechProvider.nameDuration);
 
     testFilter.runOnTimeOfDay("cast(Edm.TimeOfDay)")
         .is("<cast(<Edm.TimeOfDay>)>")
-        .isMethod(MethodCallKind.CAST, 1)
+        .isMethod(MethodKind.CAST, 1)
         .goParameter(0).isTypedLiteral(EdmTechProvider.nameTimeOfDay);
 
     testFilter.runOnETKeyNav("cast(CollPropertyInt16,Edm.Int32)")
         .is("<cast(<CollPropertyInt16>,<Edm.Int32>)>")
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .goParameter(0).goPath().first()
         .isPrimitiveProperty("CollPropertyInt16", EdmTechProvider.nameInt16, true)
         .goUpFilterValidator().root()
@@ -4045,7 +4045,7 @@ public class TestFullResourcePath {
     testFilter.runOnETTwoKeyNav(
         "cast(PropertyComplex/PropertyComplex/PropertyDateTimeOffset,Edm.DateTimeOffset)")
         .is("<cast(<PropertyComplex/PropertyComplex/PropertyDateTimeOffset>,<Edm.DateTimeOffset>)>")
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .goParameter(0).goPath()
         .first().isComplexProperty("PropertyComplex", EdmTechProvider.nameCTPrimComp, false)
         .n().isComplexProperty("PropertyComplex", EdmTechProvider.nameCTAllPrim, false)
@@ -4055,7 +4055,7 @@ public class TestFullResourcePath {
 
     testFilter.runOnETTwoKeyNav("cast(PropertyComplex/PropertyComplex/PropertyDuration,Edm.Duration)")
         .is("<cast(<PropertyComplex/PropertyComplex/PropertyDuration>,<Edm.Duration>)>")
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .goParameter(0).goPath()
         .first().isComplexProperty("PropertyComplex", EdmTechProvider.nameCTPrimComp, false)
         .n().isComplexProperty("PropertyComplex", EdmTechProvider.nameCTAllPrim, false)
@@ -4065,7 +4065,7 @@ public class TestFullResourcePath {
 
     testFilter.runOnETTwoKeyNav("cast(PropertyComplex/PropertyComplex/PropertyTimeOfDay,Edm.TimeOfDay)")
         .is("<cast(<PropertyComplex/PropertyComplex/PropertyTimeOfDay>,<Edm.TimeOfDay>)>")
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .goParameter(0).goPath()
         .first().isComplexProperty("PropertyComplex", EdmTechProvider.nameCTPrimComp, false)
         .n().isComplexProperty("PropertyComplex", EdmTechProvider.nameCTAllPrim, false)
@@ -4075,7 +4075,7 @@ public class TestFullResourcePath {
 
     testFilter.runOnETKeyNav("cast(PropertyComplexAllPrim,com.sap.odata.test1.CTTwoPrim)")
         .is("<cast(<PropertyComplexAllPrim>,<com.sap.odata.test1.CTTwoPrim>)>")
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .goParameter(0).goPath()
         .first().isComplexProperty("PropertyComplexAllPrim", EdmTechProvider.nameCTAllPrim, false)
         .goUpFilterValidator().root()
@@ -4085,7 +4085,7 @@ public class TestFullResourcePath {
 
     testFilter.runOnETKeyNav("cast(NavPropertyETKeyNavOne,com.sap.odata.test1.ETKeyPrimNav)")
         .is("<cast(<NavPropertyETKeyNavOne>,<com.sap.odata.test1.ETKeyPrimNav>)>")
-        .isMethod(MethodCallKind.CAST, 2)
+        .isMethod(MethodKind.CAST, 2)
         .goParameter(0).goPath()
         .first().isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
         .goUpFilterValidator().root()
@@ -4253,14 +4253,14 @@ public class TestFullResourcePath {
     testFilter.runOnETKeyNav("isof(com.sap.odata.test1.ETTwoKeyNav)")
         .is("<isof(<com.sap.odata.test1.ETTwoKeyNav>)>")
         .root()
-        .isMethod(MethodCallKind.ISOF, 1)
+        .isMethod(MethodKind.ISOF, 1)
         .goParameter(0).isTypedLiteral(EdmTechProvider.nameETTwoKeyNav);
 
     testFilter.runOnETKeyNav("isof(com.sap.odata.test1.ETBaseTwoKeyNav) eq true")
         .is("<<isof(<com.sap.odata.test1.ETBaseTwoKeyNav>)> eq <true>>")
         .root().isBinary(BinaryOperatorKind.EQ)
         .left()
-        .isMethod(MethodCallKind.ISOF, 1)
+        .isMethod(MethodKind.ISOF, 1)
         .goParameter(0).isTypedLiteral(EdmTechProvider.nameETBaseTwoKeyNav);
 
     testFilter
@@ -4268,39 +4268,39 @@ public class TestFullResourcePath {
         .is("<<<isof(<com.sap.odata.test1.ETBaseTwoKeyNav>)> eq <true>> and <<PropertyComplex/PropertyInt16> eq <1>>>")
         .root().isBinary(BinaryOperatorKind.AND)
         .left().isBinary(BinaryOperatorKind.EQ)
-        .left().isMethod(MethodCallKind.ISOF, 1)
+        .left().isMethod(MethodKind.ISOF, 1)
         .goParameter(0).isTypedLiteral(EdmTechProvider.nameETBaseTwoKeyNav);
 
     testFilter.runOnETKeyNav("isof(NavPropertyETKeyNavOne, com.sap.odata.test1.ETKeyNav) eq true")
         .is("<<isof(<NavPropertyETKeyNavOne>,<com.sap.odata.test1.ETKeyNav>)> eq <true>>")
         .root().isBinary(BinaryOperatorKind.EQ)
-        .left().isMethod(MethodCallKind.ISOF, 2)
+        .left().isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath().isNavProperty("NavPropertyETKeyNavOne", EdmTechProvider.nameETKeyNav, false)
         .goUpFilterValidator()
         .root().left().goParameter(1).isTypedLiteral(EdmTechProvider.nameETKeyNav);
 
     testFilter.runOnETKeyNav("isof(PropertyComplexTwoPrim,com.sap.odata.test1.CTTwoPrim)")
         .is("<isof(<PropertyComplexTwoPrim>,<com.sap.odata.test1.CTTwoPrim>)>")
-        .root().isMethod(MethodCallKind.ISOF, 2)
+        .root().isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath().isComplex("PropertyComplexTwoPrim").goUpFilterValidator()
         .root().goParameter(1).isTypedLiteral(EdmTechProvider.nameCTTwoPrim);
 
     testFilter.runOnETKeyNav("isof(PropertyComplexTwoPrim,com.sap.odata.test1.CTTwoBase)")
         .is("<isof(<PropertyComplexTwoPrim>,<com.sap.odata.test1.CTTwoBase>)>")
-        .root().isMethod(MethodCallKind.ISOF, 2)
+        .root().isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath().isComplex("PropertyComplexTwoPrim").goUpFilterValidator()
         .root().goParameter(1).isTypedLiteral(EdmTechProvider.nameCTTwoBase);
 
     testFilter.runOnETKeyNav("isof(PropertyComplexTwoPrim,com.sap.odata.test1.CTTwoPrim) eq true")
         .is("<<isof(<PropertyComplexTwoPrim>,<com.sap.odata.test1.CTTwoPrim>)> eq <true>>")
-        .root().left().isMethod(MethodCallKind.ISOF, 2)
+        .root().left().isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath().isComplex("PropertyComplexTwoPrim").goUpFilterValidator()
         .root().left().goParameter(1).isTypedLiteral(EdmTechProvider.nameCTTwoPrim);
 
     testFilter.runOnETKeyNav("isof($it,com.sap.odata.test1.CTTwoPrim)")
         .is("<isof(<$it>,<com.sap.odata.test1.CTTwoPrim>)>")
         .root()
-        .isMethod(MethodCallKind.ISOF, 2)
+        .isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath().isIt().goUpFilterValidator()
         .root().goParameter(1).isTypedLiteral(EdmTechProvider.nameCTTwoPrim);
 
@@ -4308,14 +4308,14 @@ public class TestFullResourcePath {
         .is("<<isof(<$it>,<com.sap.odata.test1.CTTwoBase>)> eq <false>>")
         .isBinary(BinaryOperatorKind.EQ)
         .root().left()
-        .isMethod(MethodCallKind.ISOF, 2)
+        .isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath().isIt().goUpFilterValidator()
         .root().left().goParameter(1).isTypedLiteral(EdmTechProvider.nameCTTwoBase);
 
     testFilter.runOnETKeyNav("isof(PropertyComplex/PropertyInt16,Edm.Int32)")
         .is("<isof(<PropertyComplex/PropertyInt16>,<Edm.Int32>)>")
         .root()
-        .isMethod(MethodCallKind.ISOF, 2)
+        .isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isPrimitiveProperty("PropertyInt16", EdmTechProvider.nameInt16, false)
@@ -4325,7 +4325,7 @@ public class TestFullResourcePath {
     testFilter.runOnETTwoKeyNav("isof(PropertyComplex/PropertyComplex/PropertyDateTimeOffset,Edm.DateTimeOffset)")
         .is("<isof(<PropertyComplex/PropertyComplex/PropertyDateTimeOffset>,<Edm.DateTimeOffset>)>")
         .root()
-        .isMethod(MethodCallKind.ISOF, 2)
+        .isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isComplex("PropertyComplex")
@@ -4336,7 +4336,7 @@ public class TestFullResourcePath {
     testFilter.runOnETTwoKeyNav("isof(PropertyComplex/PropertyComplex/PropertyTimeOfDay,Edm.TimeOfDay)")
         .is("<isof(<PropertyComplex/PropertyComplex/PropertyTimeOfDay>,<Edm.TimeOfDay>)>")
         .root()
-        .isMethod(MethodCallKind.ISOF, 2)
+        .isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isComplex("PropertyComplex")
@@ -4347,7 +4347,7 @@ public class TestFullResourcePath {
     testFilter.runOnETTwoKeyNav(" isof(PropertyComplex/PropertyComplex/PropertyDuration,Edm.Duration)")
         .is("<isof(<PropertyComplex/PropertyComplex/PropertyDuration>,<Edm.Duration>)>")
         .root()
-        .isMethod(MethodCallKind.ISOF, 2)
+        .isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isComplex("PropertyComplex")
@@ -4358,7 +4358,7 @@ public class TestFullResourcePath {
     testFilter.runOnETTwoKeyNav("isof(PropertyComplex/PropertyComplex/PropertyString,Edm.String)")
         .is("<isof(<PropertyComplex/PropertyComplex/PropertyString>,<Edm.String>)>")
         .root()
-        .isMethod(MethodCallKind.ISOF, 2)
+        .isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isComplex("PropertyComplex")
@@ -4369,7 +4369,7 @@ public class TestFullResourcePath {
     testFilter.runOnETTwoKeyNav("isof(PropertyComplex/PropertyComplex/PropertyString,Edm.Guid)")
         .is("<isof(<PropertyComplex/PropertyComplex/PropertyString>,<Edm.Guid>)>")
         .root()
-        .isMethod(MethodCallKind.ISOF, 2)
+        .isMethod(MethodKind.ISOF, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isComplex("PropertyComplex")
@@ -4438,7 +4438,7 @@ public class TestFullResourcePath {
 
     testFilter.runOnETTwoKeyNav("endswith(PropertyComplex/PropertyComplex/PropertyString,'dorf')")
         .is("<endswith(<PropertyComplex/PropertyComplex/PropertyString>,<'dorf'>)>")
-        .isMethod(MethodCallKind.ENDSWITH, 2)
+        .isMethod(MethodKind.ENDSWITH, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isComplex("PropertyComplex")
@@ -4448,7 +4448,7 @@ public class TestFullResourcePath {
     testFilter.runOnETTwoKeyNav("endswith(PropertyComplex/PropertyComplex/PropertyString,'dorf') eq true")
         .is("<<endswith(<PropertyComplex/PropertyComplex/PropertyString>,<'dorf'>)> eq <true>>")
         .isBinary(BinaryOperatorKind.EQ)
-        .left().isMethod(MethodCallKind.ENDSWITH, 2)
+        .left().isMethod(MethodKind.ENDSWITH, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isComplex("PropertyComplex")
@@ -4457,20 +4457,20 @@ public class TestFullResourcePath {
 
     testFilter.runOnETTwoKeyNav("endswith('Walldorf','dorf')")
         .is("<endswith(<'Walldorf'>,<'dorf'>)>")
-        .isMethod(MethodCallKind.ENDSWITH, 2)
+        .isMethod(MethodKind.ENDSWITH, 2)
         .goParameter(0).isLiteral("'Walldorf'")
         .root().goParameter(1).isLiteral("'dorf'");
 
     testFilter.runOnETTwoKeyNav("endswith('Walldorf','dorf') eq true")
         .is("<<endswith(<'Walldorf'>,<'dorf'>)> eq <true>>")
         .isBinary(BinaryOperatorKind.EQ)
-        .left().isMethod(MethodCallKind.ENDSWITH, 2)
+        .left().isMethod(MethodKind.ENDSWITH, 2)
         .goParameter(0).isLiteral("'Walldorf'")
         .root().left().goParameter(1).isLiteral("'dorf'");
 
     testFilter.runOnETKeyNav("startswith(PropertyComplexAllPrim/PropertyString,'Wall')")
         .is("<startswith(<PropertyComplexAllPrim/PropertyString>,<'Wall'>)>")
-        .isMethod(MethodCallKind.STARTSWITH, 2)
+        .isMethod(MethodKind.STARTSWITH, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplexAllPrim")
         .n().isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false).goUpFilterValidator()
@@ -4479,7 +4479,7 @@ public class TestFullResourcePath {
     testFilter.runOnETKeyNav("startswith(PropertyComplexAllPrim/PropertyString,'Wall') eq true")
         .is("<<startswith(<PropertyComplexAllPrim/PropertyString>,<'Wall'>)> eq <true>>")
         .isBinary(BinaryOperatorKind.EQ)
-        .left().isMethod(MethodCallKind.STARTSWITH, 2)
+        .left().isMethod(MethodKind.STARTSWITH, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplexAllPrim")
         .n().isPrimitiveProperty("PropertyString", EdmTechProvider.nameString, false).goUpFilterValidator()
@@ -4487,20 +4487,20 @@ public class TestFullResourcePath {
 
     testFilter.runOnETKeyNav("startswith('Walldorf','Wall')")
         .is("<startswith(<'Walldorf'>,<'Wall'>)>")
-        .isMethod(MethodCallKind.STARTSWITH, 2)
+        .isMethod(MethodKind.STARTSWITH, 2)
         .goParameter(0).isLiteral("'Walldorf'")
         .root().goParameter(1).isLiteral("'Wall'");
 
     testFilter.runOnETKeyNav("startswith('Walldorf','Wall') eq true")
         .is("<<startswith(<'Walldorf'>,<'Wall'>)> eq <true>>")
         .isBinary(BinaryOperatorKind.EQ)
-        .left().isMethod(MethodCallKind.STARTSWITH, 2)
+        .left().isMethod(MethodKind.STARTSWITH, 2)
         .goParameter(0).isLiteral("'Walldorf'")
         .root().left().goParameter(1).isLiteral("'Wall'");
 
     testFilter.runOnETTwoKeyNav("contains(PropertyComplex/PropertyComplex/PropertyString,'Wall')")
         .is("<contains(<PropertyComplex/PropertyComplex/PropertyString>,<'Wall'>)>")
-        .isMethod(MethodCallKind.CONTAINS, 2)
+        .isMethod(MethodKind.CONTAINS, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isComplex("PropertyComplex")
@@ -4510,7 +4510,7 @@ public class TestFullResourcePath {
     testFilter.runOnETTwoKeyNav("contains(PropertyComplex/PropertyComplex/PropertyString,'Wall') eq true")
         .is("<<contains(<PropertyComplex/PropertyComplex/PropertyString>,<'Wall'>)> eq <true>>")
         .isBinary(BinaryOperatorKind.EQ)
-        .left().isMethod(MethodCallKind.CONTAINS, 2)
+        .left().isMethod(MethodKind.CONTAINS, 2)
         .goParameter(0).goPath()
         .first().isComplex("PropertyComplex")
         .n().isComplex("PropertyComplex")
@@ -4519,14 +4519,14 @@ public class TestFullResourcePath {
 
     testFilter.runOnETTwoKeyNav("contains('Walldorf','Wall')")
         .is("<contains(<'Walldorf'>,<'Wall'>)>")
-        .isMethod(MethodCallKind.CONTAINS, 2)
+        .isMethod(MethodKind.CONTAINS, 2)
         .goParameter(0).isLiteral("'Walldorf'")
         .root().goParameter(1).isLiteral("'Wall'");
 
     testFilter.runOnETTwoKeyNav("contains('Walldorf','Wall') eq true")
         .is("<<contains(<'Walldorf'>,<'Wall'>)> eq <true>>")
         .isBinary(BinaryOperatorKind.EQ)
-        .left().isMethod(MethodCallKind.CONTAINS, 2)
+        .left().isMethod(MethodKind.CONTAINS, 2)
         .goParameter(0).isLiteral("'Walldorf'")
         .root().left().goParameter(1).isLiteral("'Wall'");
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
index ccb732e..fd4173f 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/antlr/TestUriParserImpl.java
@@ -26,7 +26,7 @@ import org.apache.olingo.commons.api.edm.Edm;
 import org.apache.olingo.commons.api.edm.FullQualifiedName;
 import org.apache.olingo.server.api.uri.UriInfoKind;
 import org.apache.olingo.server.api.uri.UriResourceKind;
-import org.apache.olingo.server.api.uri.queryoption.expression.MethodCallKind;
+import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
 import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
 import org.apache.olingo.server.core.testutil.EdmTechProvider;
 import org.apache.olingo.server.core.testutil.EdmTechTestProvider;
@@ -1066,13 +1066,13 @@ public class TestUriParserImpl {
     // TODO sync
     testFilter.runOnETAllPrim("geo.distance(PropertySByte,PropertySByte)")
         .is("<geo.distance(<PropertySByte>,<PropertySByte>)>")
-        .isMethod(MethodCallKind.GEODISTANCE, 2);
+        .isMethod(MethodKind.GEODISTANCE, 2);
     testFilter.runOnETAllPrim("geo.length(PropertySByte)")
         .is("<geo.length(<PropertySByte>)>")
-        .isMethod(MethodCallKind.GEOLENGTH, 1);
+        .isMethod(MethodKind.GEOLENGTH, 1);
     testFilter.runOnETAllPrim("geo.intersects(PropertySByte,PropertySByte)")
         .is("<geo.intersects(<PropertySByte>,<PropertySByte>)>")
-        .isMethod(MethodCallKind.GEOINTERSECTS, 2);
+        .isMethod(MethodKind.GEOINTERSECTS, 2);
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
index 827bacb..8eedce6 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/queryoption/expression/ExpressionTest.java
@@ -33,7 +33,7 @@ import org.apache.olingo.server.api.uri.UriInfoKind;
 import org.apache.olingo.server.api.uri.UriInfoResource;
 import org.apache.olingo.server.api.uri.queryoption.expression.BinaryOperatorKind;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
-import org.apache.olingo.server.api.uri.queryoption.expression.MethodCallKind;
+import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
 import org.apache.olingo.server.api.uri.queryoption.expression.UnaryOperatorKind;
 import org.apache.olingo.server.core.edm.provider.EdmProviderImpl;
 import org.apache.olingo.server.core.testutil.EdmTechProvider;
@@ -48,7 +48,7 @@ import org.apache.olingo.server.core.uri.queryoption.expression.ExpressionImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.LambdaRefImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.LiteralImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.MemberImpl;
-import org.apache.olingo.server.core.uri.queryoption.expression.MethodCallImpl;
+import org.apache.olingo.server.core.uri.queryoption.expression.MethodImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.TypeLiteralImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.UnaryImpl;
 import org.apache.olingo.server.core.uri.testutil.FilterTreeToText;
@@ -65,8 +65,8 @@ public class ExpressionTest {
     assertEquals(BinaryOperatorKind.MOD, BinaryOperatorKind.get("mod"));
     assertEquals(null, BinaryOperatorKind.get("XXX"));
 
-    assertEquals(MethodCallKind.CONCAT, MethodCallKind.get("concat"));
-    assertEquals(null, MethodCallKind.get("XXX"));
+    assertEquals(MethodKind.CONCAT, MethodKind.get("concat"));
+    assertEquals(null, MethodKind.get("XXX"));
   }
 
   @Test
@@ -207,15 +207,15 @@ public class ExpressionTest {
 
   @Test
   public void testMethodCallExpression() throws ExpressionVisitException, ODataApplicationException {
-    MethodCallImpl expression = new MethodCallImpl();
-    expression.setMethod(MethodCallKind.CONCAT);
+    MethodImpl expression = new MethodImpl();
+    expression.setMethod(MethodKind.CONCAT);
 
     ExpressionImpl p0 = new LiteralImpl().setText("A");
     ExpressionImpl p1 = new LiteralImpl().setText("B");
     expression.addParameter(p0);
     expression.addParameter(p1);
 
-    assertEquals(MethodCallKind.CONCAT, expression.getMethod());
+    assertEquals(MethodKind.CONCAT, expression.getMethod());
     assertEquals("<concat(<A>,<B>)>", expression.accept(new FilterTreeToText()));
 
     assertEquals(p0, expression.getParameters().get(0));

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterTreeToText.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterTreeToText.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterTreeToText.java
index 600a3c6..7702a63 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterTreeToText.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterTreeToText.java
@@ -33,7 +33,7 @@ import org.apache.olingo.server.api.uri.queryoption.expression.BinaryOperatorKin
 import org.apache.olingo.server.api.uri.queryoption.expression.Expression;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitor;
-import org.apache.olingo.server.api.uri.queryoption.expression.MethodCallKind;
+import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
 import org.apache.olingo.server.api.uri.queryoption.expression.UnaryOperatorKind;
 
 public class FilterTreeToText implements ExpressionVisitor<String> {
@@ -66,7 +66,7 @@ public class FilterTreeToText implements ExpressionVisitor<String> {
   }
 
   @Override
-  public String visitMethodCall(final MethodCallKind methodCall, final List<String> parameters)
+  public String visitMethodCall(final MethodKind methodCall, final List<String> parameters)
       throws ExpressionVisitException {
 
     String text = "<" + methodCall + "(";

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterValidator.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterValidator.java b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterValidator.java
index 44a408e..9565c38 100644
--- a/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterValidator.java
+++ b/lib/server-core/src/test/java/org/apache/olingo/server/core/uri/testutil/FilterValidator.java
@@ -33,7 +33,7 @@ import org.apache.olingo.server.api.uri.queryoption.expression.BinaryOperatorKin
 import org.apache.olingo.server.api.uri.queryoption.expression.Expression;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
 import org.apache.olingo.server.api.uri.queryoption.expression.Member;
-import org.apache.olingo.server.api.uri.queryoption.expression.MethodCallKind;
+import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
 import org.apache.olingo.server.core.uri.UriInfoImpl;
 import org.apache.olingo.server.core.uri.parser.Parser;
 import org.apache.olingo.server.core.uri.parser.UriParserException;
@@ -45,7 +45,7 @@ import org.apache.olingo.server.core.uri.queryoption.expression.BinaryImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.EnumerationImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.LiteralImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.MemberImpl;
-import org.apache.olingo.server.core.uri.queryoption.expression.MethodCallImpl;
+import org.apache.olingo.server.core.uri.queryoption.expression.MethodImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.TypeLiteralImpl;
 
 public class FilterValidator implements Validator {
@@ -278,8 +278,8 @@ public class FilterValidator implements Validator {
   }
 
   public FilterValidator goParameter(final int parameterIndex) {
-    if (curExpression instanceof MethodCallImpl) {
-      MethodCallImpl methodCall = (MethodCallImpl) curExpression;
+    if (curExpression instanceof MethodImpl) {
+      MethodImpl methodCall = (MethodImpl) curExpression;
       curExpression = methodCall.getParameters().get(parameterIndex);
     } else {
       fail("Current expression not a methodCall");
@@ -388,12 +388,12 @@ public class FilterValidator implements Validator {
     return this;
   }
 
-  public FilterValidator isMethod(final MethodCallKind methodKind, final int parameterCount) {
-    if (!(curExpression instanceof MethodCallImpl)) {
+  public FilterValidator isMethod(final MethodKind methodKind, final int parameterCount) {
+    if (!(curExpression instanceof MethodImpl)) {
       fail("Current expression is not a methodCall");
     }
 
-    MethodCallImpl methodCall = (MethodCallImpl) curExpression;
+    MethodImpl methodCall = (MethodImpl) curExpression;
     assertEquals(methodKind, methodCall.getMethod());
     assertEquals(parameterCount, methodCall.getParameters().size());
 
@@ -403,11 +403,11 @@ public class FilterValidator implements Validator {
   public FilterValidator isParameterText(final int parameterIndex, final String parameterText)
       throws ExpressionVisitException, ODataApplicationException {
 
-    if (!(curExpression instanceof MethodCallImpl)) {
+    if (!(curExpression instanceof MethodImpl)) {
       fail("Current expression is not a method");
     }
 
-    MethodCallImpl methodCall = (MethodCallImpl) curExpression;
+    MethodImpl methodCall = (MethodImpl) curExpression;
 
     Expression parameter = methodCall.getParameters().get(parameterIndex);
     String actualParameterText = FilterTreeToText.Serialize(parameter);


[2/2] git commit: [OLINGO-63] Uri Parser: renaming an documetation

Posted by ko...@apache.org.
[OLINGO-63] Uri Parser: renaming an documetation


Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/b7869d92
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/b7869d92
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/b7869d92

Branch: refs/heads/master
Commit: b7869d924934ebf8f1db2357ace8113c73fd5633
Parents: eff82c5
Author: Sven Kobler <sv...@sap.com>
Authored: Wed Mar 12 11:04:52 2014 +0100
Committer: Sven Kobler <sv...@sap.com>
Committed: Wed Mar 12 11:05:18 2014 +0100

----------------------------------------------------------------------
 .../api/uri/queryoption/expression/Alias.java   |  34 +++
 .../queryoption/expression/AliasExpression.java |  25 --
 .../api/uri/queryoption/expression/Binary.java  |  45 ++++
 .../expression/BinaryExpression.java            |  29 ---
 .../expression/BinaryOperatorKind.java          | 112 +++++++--
 .../uri/queryoption/expression/Enumeration.java |  28 ++-
 .../uri/queryoption/expression/Expression.java  |  19 +-
 .../expression/ExpressionVisitException.java    |  19 +-
 .../expression/ExpressionVisitor.java           | 114 ++++++++--
 .../uri/queryoption/expression/LambdaRef.java   |  22 +-
 .../api/uri/queryoption/expression/Literal.java |  25 +-
 .../api/uri/queryoption/expression/Member.java  |  37 ++-
 .../api/uri/queryoption/expression/Method.java  |  39 ++++
 .../uri/queryoption/expression/MethodCall.java  |  29 ---
 .../queryoption/expression/MethodCallKind.java  |  58 -----
 .../uri/queryoption/expression/MethodKind.java  |  90 ++++++++
 .../uri/queryoption/expression/TypeLiteral.java |  22 +-
 .../api/uri/queryoption/expression/Unary.java   |  40 ++++
 .../queryoption/expression/UnaryOperator.java   |  27 ---
 .../expression/UnaryOperatorKind.java           |  43 +++-
 .../expression/VisitableExression.java          |  23 +-
 .../core/uri/parser/UriParseTreeVisitor.java    | 132 +++++------
 .../uri/queryoption/expression/AliasImpl.java   |   4 +-
 .../uri/queryoption/expression/BinaryImpl.java  |   6 +-
 .../queryoption/expression/MethodCallImpl.java  |  70 ------
 .../uri/queryoption/expression/MethodImpl.java  |  70 ++++++
 .../uri/queryoption/expression/UnaryImpl.java   |   4 +-
 .../core/uri/antlr/TestFullResourcePath.java    | 228 +++++++++----------
 .../core/uri/antlr/TestUriParserImpl.java       |   8 +-
 .../queryoption/expression/ExpressionTest.java  |  14 +-
 .../core/uri/testutil/FilterTreeToText.java     |   4 +-
 .../core/uri/testutil/FilterValidator.java      |  18 +-
 32 files changed, 876 insertions(+), 562 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Alias.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Alias.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Alias.java
new file mode 100644
index 0000000..9d44c65
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Alias.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.api.uri.queryoption.expression;
+
+/**
+ * Represents an alias expression node in the expression tree
+ * <br>
+ * A alias expression node is inserted in the expression tree for any valid alias<br>
+ * E.g. $filter=name eq @alias
+ */
+public interface Alias extends Expression {
+
+  /**
+   * @return Name of the used alias
+   */
+  public String getParameterName();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/AliasExpression.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/AliasExpression.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/AliasExpression.java
deleted file mode 100644
index 9a0a59f..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/AliasExpression.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/* 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.server.api.uri.queryoption.expression;
-
-public interface AliasExpression extends Expression {
-
-  public String getParameterName();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Binary.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Binary.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Binary.java
new file mode 100644
index 0000000..5782755
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Binary.java
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.api.uri.queryoption.expression;
+
+/**
+ * Represents a binary expression node in the expression tree
+ * <br>
+ * A binary expression node is inserted in the expression tree for any valid
+ * ODATA binary operator in {@link BinaryOperatorKind}
+ */
+public interface Binary extends Expression {
+
+  /**
+   * @return binary operator kind
+   * @see {@link BinaryOperatorKind}
+   */
+  public BinaryOperatorKind getOperator();
+
+  /**
+   * @return Expression sub tree of the left operand
+   */
+  public Expression getLeftOperand();
+
+  /**
+   * @return Expression sub tree of the right operand
+   */
+  public Expression getRightOperand();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/BinaryExpression.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/BinaryExpression.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/BinaryExpression.java
deleted file mode 100644
index 94ebfb5..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/BinaryExpression.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/* 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.server.api.uri.queryoption.expression;
-
-public interface BinaryExpression extends Expression {
-
-  public BinaryOperatorKind getOperator();
-
-  public Expression getLeftOperand();
-
-  public Expression getRightOperand();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/BinaryOperatorKind.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/BinaryOperatorKind.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/BinaryOperatorKind.java
index e8eb1a1..9753cb8 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/BinaryOperatorKind.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/BinaryOperatorKind.java
@@ -1,45 +1,114 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 package org.apache.olingo.server.api.uri.queryoption.expression;
 
-
+/**
+ * Enumeration of supported binary operators<br>
+ * For the semantic of these operators please see the ODATA specification for URL conventions
+ */
 public enum BinaryOperatorKind {
 
-  // enum
+  /**
+   * OData has operator used for OData enumerations
+   */
   HAS("has"),
-  // multiplicative
-  MUL("mul"), DIV("div"), MOD("mod"),
-  // additive
-  ADD("add"), SUB("sub"),
-  // comparism
-  GT("gt"), GE("ge"), LT("lt"), LE("le"),
-  // equality
-  EQ("eq"), NE("ne"),
-  // and/or
-  AND("and"), OR("or");
+
+  /**
+   * Multiplication operator
+   */
+  MUL("mul"),
+
+  /**
+   * Division operator
+   */
+  DIV("div"),
+
+  /**
+   * Modulo operator
+   */
+  MOD("mod"),
+
+  /**
+   * Addition operator
+   */
+  ADD("add"),
+
+  /**
+   * Subtraction operator
+   */
+  SUB("sub"),
+
+  /**
+   * Greater than operator (">")
+   */
+  GT("gt"),
+
+  /**
+   * Greater than or equals (">=") operator
+   */
+  GE("ge"),
+
+  /**
+   * Lesser than operator ("<")
+   */
+  LT("lt"),
+
+  /**
+   * Lesser operator or equals ("<=") operator
+   */
+  LE("le"),
+
+  /**
+   * Equality operator
+   */
+  EQ("eq"),
+
+  /**
+   * Inequality operator
+   */
+  NE("ne"),
+
+  /**
+   * And operator
+   */
+  AND("and"),
+
+  /**
+   * Or operator
+   */
+  OR("or");
 
   private String syntax;
 
+  /**
+   * Constructor for enumeration value
+   * @param Syntax used in the URI
+   */
   private BinaryOperatorKind(final String syntax) {
     this.syntax = syntax;
   }
 
+  /**
+   * URI syntax to enumeration value
+   * @param Syntax used in the URI
+   * @return Operator kind which represents the given syntax
+   */
   public static BinaryOperatorKind get(final String operator) {
     for (BinaryOperatorKind op : BinaryOperatorKind.values()) {
       if (op.toString().equals(operator)) {
@@ -49,6 +118,9 @@ public enum BinaryOperatorKind {
     return null;
   }
 
+  /**
+   * @return URI syntax for that operator kind
+   */
   @Override
   public String toString() {
     return syntax;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Enumeration.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Enumeration.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Enumeration.java
index baea2b7..c72a0a0 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Enumeration.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Enumeration.java
@@ -1,18 +1,18 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -22,10 +22,22 @@ import java.util.List;
 
 import org.apache.olingo.commons.api.edm.EdmEnumType;
 
+/**
+ * Represents a enumeration expression node in the expression tree
+ * <br>
+ * A enumeration expression node is inserted in the expression tree for any valid
+ * enumeration. E.g. for $filter=style has Sales.Pattern'Yellow'
+ */
 public interface Enumeration extends Expression {
 
+  /**
+   * @return A list of enumeration values
+   */
   public List<String> getValues();
 
+  /**
+   * @return The enumeration type used before the enumeration values
+   */
   public EdmEnumType getType();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Expression.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Expression.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Expression.java
index 61504da..8ffd2c9 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Expression.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Expression.java
@@ -1,23 +1,26 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 package org.apache.olingo.server.api.uri.queryoption.expression;
 
+/**
+ * Super class of all classes used to build the expression tree
+ */
 public interface Expression extends VisitableExression {
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitException.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitException.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitException.java
index 8e33a9a..01098df 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitException.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitException.java
@@ -1,23 +1,26 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 package org.apache.olingo.server.api.uri.queryoption.expression;
 
+/**
+ * Exception class used by the {@link ExpressionVisitor} to throw exceptions while traversing the expression tree
+ */
 public class ExpressionVisitException extends Exception {
 
   private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitor.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitor.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitor.java
index 39080ef..c2d76c0 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitor.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/ExpressionVisitor.java
@@ -1,18 +1,18 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -25,33 +25,113 @@ import org.apache.olingo.commons.api.edm.EdmEnumType;
 import org.apache.olingo.commons.api.edm.EdmType;
 import org.apache.olingo.server.api.uri.UriInfoResource;
 
+/**
+ * Generic interface to define expression visitors with arbitrary return types.
+ * 
+ * @param <T> Return type
+ */
 public interface ExpressionVisitor<T> {
 
+  /**
+   * Called for each traversed {@link Binary} expression
+   * @param operator Operator kind
+   * @param left Application return value of left sub tree
+   * @param right Application return value of right sub tree
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
   T visitBinaryOperator(BinaryOperatorKind operator, T left, T right)
       throws ExpressionVisitException, ODataApplicationException;
 
+  /**
+   * Called for each traversed {@link Unary} expression
+   * @param operator Operator kind
+   * @param Application return value of sub tree
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
   T visitUnaryOperator(UnaryOperatorKind operator, T operand)
       throws ExpressionVisitException, ODataApplicationException;
 
-
-  T visitMethodCall(MethodCallKind methodCall, List<T> parameters)
+  /**
+   * Called for each traversed {@link Method} expression
+   * @param methodCall Method
+   * @param parameters List of application return values created by visiting each method parameter
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
+  T visitMethodCall(MethodKind methodCall, List<T> parameters)
       throws ExpressionVisitException, ODataApplicationException;
 
-
-  T visitLambdaExpression(String functionText, String variableText, Expression expression)
+  /**
+   * Called for each traversed lambda expression
+   * @param lambdaFunction "ALL" or "ANY"
+   * @param lambdaVariable Variable name used lambda variable
+   * @param expression Lambda expression
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
+  T visitLambdaExpression(String lambdaFunction, String lambdaVariable, Expression expression)
       throws ExpressionVisitException, ODataApplicationException;
 
+  /**
+   * Called for each traversed {@link Literal} expression
+   * @param literal Literal
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
   T visitLiteral(String literal) throws ExpressionVisitException, ODataApplicationException;
 
+  /**
+   * Called for each traversed {@link Member} expression
+   * @param member UriInfoResource object describing the whole path used to access an data value
+   * (this includes for example the usage of $root and $it inside the URI)
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
   T visitMember(UriInfoResource member) throws ExpressionVisitException, ODataApplicationException;
 
-  T visitAlias(String referenceName) throws ExpressionVisitException, ODataApplicationException;
-
+  /**
+   * Called for each traversed {@link Alias} expression
+   * @param aliasName Name of the alias
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
+  T visitAlias(String aliasName) throws ExpressionVisitException, ODataApplicationException;
+
+  /**
+   * Called for each traversed {@link TypeLiteral} expression
+   * @param type EdmType
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
   T visitTypeLiteral(EdmType type) throws ExpressionVisitException, ODataApplicationException;
 
-  T visitLambdaReference(String variableText) throws ExpressionVisitException, ODataApplicationException;
-
+  /**
+   * Called for each traversed {@link LambdaRef}
+   * @param variableName Name of the used lambda variable
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
+  T visitLambdaReference(String variableName) throws ExpressionVisitException, ODataApplicationException;
+
+  /**
+   * Called for each traversed {@link Enumeration} expression
+   * @param type Type used in the URI before the enumeration values
+   * @param enumValues List of enumeration values
+   * @return Application return value of type T
+   * @throws ExpressionVisitException Thrown if an exception while traversing occured
+   * @throws ODataApplicationException Thrown by the application
+   */
   T visitEnum(EdmEnumType type, List<String> enumValues) throws ExpressionVisitException, ODataApplicationException;
 
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/LambdaRef.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/LambdaRef.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/LambdaRef.java
index dce11b0..3830e3b 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/LambdaRef.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/LambdaRef.java
@@ -1,25 +1,31 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 package org.apache.olingo.server.api.uri.queryoption.expression;
 
+/**
+ * Used to within a lambda expression tree to define an access to the lambda variable
+ */
 public interface LambdaRef extends Expression {
 
+  /**
+   * @return Name of the lambda variable
+   */
   public String getVariableName();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Literal.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Literal.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Literal.java
index aea08a4..d1a50dc 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Literal.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Literal.java
@@ -1,18 +1,18 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,10 +20,19 @@ package org.apache.olingo.server.api.uri.queryoption.expression;
 
 import org.apache.olingo.commons.api.edm.EdmType;
 
+/**
+ * Represents a literal expression node in the expression tree
+ */
 public interface Literal extends Expression {
 
+  /**
+   * @return Literal
+   */
   public String getText();
 
+  /**
+   * @return Type of the literal if detected
+   */
   public EdmType getType();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Member.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Member.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Member.java
index 5eafc20..4aa9fd3 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Member.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Member.java
@@ -1,18 +1,18 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -21,16 +21,31 @@ package org.apache.olingo.server.api.uri.queryoption.expression;
 import org.apache.olingo.commons.api.edm.EdmType;
 import org.apache.olingo.server.api.uri.UriInfoResource;
 
+/**
+ * Represents a member expression node in the expression tree. This expression is used to describe access paths
+ * to properties and other EDM elements.
+ */
 public interface Member extends Expression {
 
+  /**
+   * @return UriInfoResource object describing the whole path used to access an data value
+   * (this includes for example the usage of $root and $it inside the URI)
+   */
   public UriInfoResource getResourcePath();
 
+  /**
+   * @return Type
+   */
   public EdmType getType();
+
+  /**
+   * @return The used type filter ahead of the path
+   */
   public EdmType getStartTypeFilter();
 
+  /**
+   * @return true if the accessed data is a collection, otherwise false
+   */
   public boolean isCollection();
 
-  
-
-  
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Method.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Method.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Method.java
new file mode 100644
index 0000000..aeb2827
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Method.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.api.uri.queryoption.expression;
+
+import java.util.List;
+
+/**
+ * Represents a method expression in the expression tree
+ */
+public interface Method extends Expression {
+
+  /**
+   * @return The used method
+   * @see {@link MethodKind}
+   */
+  public MethodKind getMethod();
+
+  /**
+   * @return The list of expression tree which form the actual method parameters
+   */
+  public List<Expression> getParameters();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodCall.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodCall.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodCall.java
deleted file mode 100644
index 88130a1..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodCall.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/* 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.server.api.uri.queryoption.expression;
-
-import java.util.List;
-
-public interface MethodCall extends Expression {
-
-  public MethodCallKind getMethod();
-
-  public List<Expression> getParameters();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodCallKind.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodCallKind.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodCallKind.java
deleted file mode 100644
index 53b6983..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodCallKind.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/* 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.server.api.uri.queryoption.expression;
-
-public enum MethodCallKind {
-  CONTAINS("contains"), STARTSWITH("startswith"), ENDSWITH("endswith"), LENGTH("length"),
-  INDEXOF("indexof"), SUBSTRING("substring"), TOLOWER("tolower"), TOUPPER("toupper"), TRIM("trim"),
-  CONCAT("concat"),
-
-  YEAR("year"), MONTH("month"), DAY("day"), HOUR("hour"), MINUTE("minute"), SECOND("second"),
-  FRACTIONALSECONDS("fractionalseconds"), TOTALSECONDS("totalseconds"), DATE("date"), TIME("time"),
-  TOTALOFFSETMINUTES("totaloffsetminutes"), MINDATETIME("mindatetime"), MAXDATETIME("maxdatetime"), NOW("now"),
-
-  ROUND("round"), FLOOR("floor"),
-
-  CEILING("ceiling"), GEODISTANCE("geo.distance"), GEOLENGTH("geo.length"), GEOINTERSECTS("geo.intersects"),
-  CAST("cast"),
-  ISOF("isof");
-
-  private String syntax;
-
-  private MethodCallKind(final String syntax) {
-    this.syntax = syntax;
-  }
-
-  @Override
-  public String toString() {
-    return syntax;
-  }
-
-
-  public static MethodCallKind get(final String method) {
-    for (MethodCallKind op : MethodCallKind.values()) {
-
-      if (op.toString().equals(method)) {
-        return op;
-      }
-    }
-    return null;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodKind.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodKind.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodKind.java
new file mode 100644
index 0000000..104f638
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/MethodKind.java
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.api.uri.queryoption.expression;
+
+/**
+ * Enumeration of supported methods
+ * For the semantic of these methods please see the ODATA specification for URL conventions
+ */
+public enum MethodKind {
+  CONTAINS("contains"),
+  STARTSWITH("startswith"),
+  ENDSWITH("endswith"),
+  LENGTH("length"),
+  INDEXOF("indexof"),
+  SUBSTRING("substring"),
+  TOLOWER("tolower"),
+  TOUPPER("toupper"),
+  TRIM("trim"),
+  CONCAT("concat"),
+  YEAR("year"),
+  MONTH("month"),
+  DAY("day"),
+  HOUR("hour"),
+  MINUTE("minute"),
+  SECOND("second"),
+  FRACTIONALSECONDS("fractionalseconds"),
+  TOTALSECONDS("totalseconds"), DATE("date"), TIME("time"),
+  TOTALOFFSETMINUTES("totaloffsetminutes"),
+  MINDATETIME("mindatetime"),
+  MAXDATETIME("maxdatetime"),
+  NOW("now"),
+  ROUND("round"),
+  FLOOR("floor"),
+  CEILING("ceiling"),
+  GEODISTANCE("geo.distance"),
+  GEOLENGTH("geo.length"),
+  GEOINTERSECTS("geo.intersects"),
+  CAST("cast"),
+  ISOF("isof");
+
+  private String syntax;
+
+  /**
+   * Constructor for enumeration value
+   * @param Syntax used in the URI
+   */
+  private MethodKind(final String syntax) {
+    this.syntax = syntax;
+  }
+
+  @Override
+  /**
+   * @return URI syntax for that operator kind
+   */
+  public String toString() {
+    return syntax;
+  }
+
+  /**
+   * URI syntax to enumeration value
+   * @param Syntax used in the URI
+   * @return Method kind which represents the given syntax
+   */
+  public static MethodKind get(final String method) {
+    for (MethodKind op : MethodKind.values()) {
+
+      if (op.toString().equals(method)) {
+        return op;
+      }
+    }
+    return null;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/TypeLiteral.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/TypeLiteral.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/TypeLiteral.java
index a80ea2e..c259eba 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/TypeLiteral.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/TypeLiteral.java
@@ -1,18 +1,18 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,8 +20,14 @@ package org.apache.olingo.server.api.uri.queryoption.expression;
 
 import org.apache.olingo.commons.api.edm.EdmType;
 
+/**
+ * Represents a type literal expression in the expression tree
+ */
 public interface TypeLiteral extends Expression {
 
+  /**
+   * @return Type defined by the type literal
+   */
   public EdmType getType();
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Unary.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Unary.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Unary.java
new file mode 100644
index 0000000..af2376a
--- /dev/null
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/Unary.java
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.api.uri.queryoption.expression;
+
+/**
+ * Represents a unary expression node in the expression tree
+ * <br>
+ * A binary expression node is inserted in the expression tree for any valid
+ * ODATA unary operator in {@link UnaryOperatorKind}
+ */
+public interface Unary extends Expression {
+
+  /**
+   * @return The used binary operator
+   * @see {@link UnaryOperatorKind}
+   */
+  public Expression getOperand();
+
+  /**
+   * @return Expression sub tree to which the operator applies
+   */
+  public UnaryOperatorKind getOperator();
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/UnaryOperator.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/UnaryOperator.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/UnaryOperator.java
deleted file mode 100644
index e5aafb8..0000000
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/UnaryOperator.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.server.api.uri.queryoption.expression;
-
-public interface UnaryOperator extends Expression {
-
-  public Expression getOperand();
-
-  public UnaryOperatorKind getOperator();
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/UnaryOperatorKind.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/UnaryOperatorKind.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/UnaryOperatorKind.java
index f446cd6..5b8432d 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/UnaryOperatorKind.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/UnaryOperatorKind.java
@@ -1,37 +1,62 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
 package org.apache.olingo.server.api.uri.queryoption.expression;
 
+/**
+ * Enumeration of supported unary operators<br>
+ * For the semantic of these operators please see the ODATA specification for URL conventions
+ */
 public enum UnaryOperatorKind {
-  MINUS("-"), NOT("not");
+
+  /**
+   * Minus operator
+   */
+  MINUS("-"),
+
+  /**
+   * not operator
+   */
+  NOT("not");
 
   private String syntax;
 
+  /**
+   * Constructor for enumeration value
+   * @param Syntax used in the URI
+   */
   private UnaryOperatorKind(final String syntax) {
     this.syntax = syntax;
   }
 
+  /**
+   * @return URI syntax for that operator kind
+   */
   @Override
   public String toString() {
     return syntax;
   }
 
+  /**
+   * URI syntax to enumeration value
+   * @param Syntax used in the URI
+   * @return Operator kind which represents the given syntax
+   */
   public static UnaryOperatorKind get(final String operator) {
     for (UnaryOperatorKind op : UnaryOperatorKind.values()) {
       if (op.toString().equals(operator)) {

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/VisitableExression.java
----------------------------------------------------------------------
diff --git a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/VisitableExression.java b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/VisitableExression.java
index 599069f..a0e678f 100644
--- a/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/VisitableExression.java
+++ b/lib/server-api/src/main/java/org/apache/olingo/server/api/uri/queryoption/expression/VisitableExression.java
@@ -1,18 +1,18 @@
-/* 
+/*
  * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
+ * or more contributor license agreements. See the NOTICE file
  * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
+ * regarding copyright ownership. The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
+ * KIND, either express or implied. See the License for the
  * specific language governing permissions and limitations
  * under the License.
  */
@@ -20,6 +20,9 @@ package org.apache.olingo.server.api.uri.queryoption.expression;
 
 import org.apache.olingo.commons.api.ODataApplicationException;
 
+/**
+ * Marks an expression node a visitable by an expression visitor
+ */
 public interface VisitableExression {
 
   /**
@@ -33,12 +36,12 @@ public interface VisitableExression {
    * <br>
    * <br>
    * @param visitor
-   * Object (implementing {@link ExpressionVisitor}) whose methods are called during traversing a
+   * Visitor object (implementing {@link ExpressionVisitor}) whose methods are called during traversing a
    * expression node of the expression tree.
    * @return
    * Object of type T which should be passed to the processing algorithm of the parent expression node
    * @throws ExpressionVisitException
-   * Exception occurred the OData library while traversing the tree
+   * Exception occurred in the OData library while traversing the tree
    * @throws ODataApplicationException
    * Exception thrown by the application who implemented the visitor
    */

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriParseTreeVisitor.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriParseTreeVisitor.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriParseTreeVisitor.java
index 138e4c7..b3e5d69 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriParseTreeVisitor.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriParseTreeVisitor.java
@@ -46,7 +46,7 @@ import org.apache.olingo.server.api.uri.UriInfoKind;
 import org.apache.olingo.server.api.uri.UriResource;
 import org.apache.olingo.server.api.uri.UriResourcePartTyped;
 import org.apache.olingo.server.api.uri.queryoption.expression.BinaryOperatorKind;
-import org.apache.olingo.server.api.uri.queryoption.expression.MethodCallKind;
+import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
 import org.apache.olingo.server.core.uri.UriInfoImpl;
 import org.apache.olingo.server.core.uri.UriParameterImpl;
 import org.apache.olingo.server.core.uri.UriResourceActionImpl;
@@ -180,7 +180,7 @@ import org.apache.olingo.server.core.uri.queryoption.expression.EnumerationImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.ExpressionImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.LiteralImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.MemberImpl;
-import org.apache.olingo.server.core.uri.queryoption.expression.MethodCallImpl;
+import org.apache.olingo.server.core.uri.queryoption.expression.MethodImpl;
 import org.apache.olingo.server.core.uri.queryoption.expression.TypeLiteralImpl;
 
 /**
@@ -889,7 +889,7 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitCastExpr(final CastExprContext ctx) {
-    MethodCallImpl method = new MethodCallImpl();
+    MethodImpl method = new MethodImpl();
     if (ctx.vE1 != null) {
       // is optional parameter
       ExpressionImpl onExpression = (ExpressionImpl) ctx.vE1.accept(this);
@@ -901,7 +901,7 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
     FullQualifiedName fullName = new FullQualifiedName(namespace, ctx.vODI.getText());
     EdmType type = getType(fullName);
-    method.setMethod(MethodCallKind.CAST);
+    method.setMethod(MethodKind.CAST);
     method.addParameter(new TypeLiteralImpl().setType(type));
     return method;
   }
@@ -938,15 +938,15 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitCeilingMethodCallExpr(final CeilingMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.CEILING)
+    return new MethodImpl()
+        .setMethod(MethodKind.CEILING)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitConcatMethodCallExpr(final ConcatMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.CONCAT)
+    return new MethodImpl()
+        .setMethod(MethodKind.CONCAT)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this))
         .addParameter((ExpressionImpl) ctx.vE2.accept(this));
   }
@@ -1000,8 +1000,8 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitContainsMethodCallExpr(final ContainsMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.CONTAINS)
+    return new MethodImpl()
+        .setMethod(MethodKind.CONTAINS)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this))
         .addParameter((ExpressionImpl) ctx.vE2.accept(this));
   }
@@ -1020,30 +1020,30 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public Object visitDateMethodCallExpr(final DateMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.DATE)
+    return new MethodImpl()
+        .setMethod(MethodKind.DATE)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitDayMethodCallExpr(final DayMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.DAY)
+    return new MethodImpl()
+        .setMethod(MethodKind.DAY)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitGeoDistanceMethodCallExpr(final GeoDistanceMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.GEODISTANCE)
+    return new MethodImpl()
+        .setMethod(MethodKind.GEODISTANCE)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this))
         .addParameter((ExpressionImpl) ctx.vE2.accept(this));
   }
 
   @Override
   public Object visitEndsWithMethodCallExpr(final EndsWithMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.ENDSWITH)
+    return new MethodImpl()
+        .setMethod(MethodKind.ENDSWITH)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this))
         .addParameter((ExpressionImpl) ctx.vE2.accept(this));
   }
@@ -1222,36 +1222,36 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitFloorMethodCallExpr(final FloorMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.FLOOR)
+    return new MethodImpl()
+        .setMethod(MethodKind.FLOOR)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitFractionalsecondsMethodCallExpr(final FractionalsecondsMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.FRACTIONALSECONDS)
+    return new MethodImpl()
+        .setMethod(MethodKind.FRACTIONALSECONDS)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitGeoLengthMethodCallExpr(final GeoLengthMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.GEOLENGTH)
+    return new MethodImpl()
+        .setMethod(MethodKind.GEOLENGTH)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitHourMethodCallExpr(final HourMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.HOUR)
+    return new MethodImpl()
+        .setMethod(MethodKind.HOUR)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitIndexOfMethodCallExpr(final IndexOfMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.INDEXOF)
+    return new MethodImpl()
+        .setMethod(MethodKind.INDEXOF)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this))
         .addParameter((ExpressionImpl) ctx.vE2.accept(this));
   }
@@ -1267,15 +1267,15 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitGeoIntersectsMethodCallExpr(final GeoIntersectsMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.GEOINTERSECTS)
+    return new MethodImpl()
+        .setMethod(MethodKind.GEOINTERSECTS)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this))
         .addParameter((ExpressionImpl) ctx.vE2.accept(this));
   }
 
   @Override
   public ExpressionImpl visitIsofExpr(final IsofExprContext ctx) {
-    MethodCallImpl method = new MethodCallImpl();
+    MethodImpl method = new MethodImpl();
     if (ctx.vE1 != null) {
       ExpressionImpl onExpression = (ExpressionImpl) ctx.vE1.accept(this);
       method.addParameter(onExpression);
@@ -1286,7 +1286,7 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
     FullQualifiedName fullName = new FullQualifiedName(namespace, ctx.vODI.getText());
     EdmType type = getType(fullName);
-    method.setMethod(MethodCallKind.ISOF);
+    method.setMethod(MethodKind.ISOF);
     method.addParameter(new TypeLiteralImpl().setType(type));
 
     return method;
@@ -1294,8 +1294,8 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitLengthMethodCallExpr(final LengthMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.LENGTH)
+    return new MethodImpl()
+        .setMethod(MethodKind.LENGTH)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
@@ -1320,8 +1320,8 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitMaxDateTimeMethodCallExpr(final MaxDateTimeMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.MAXDATETIME);
+    return new MethodImpl()
+        .setMethod(MethodKind.MAXDATETIME);
   }
 
   @Override
@@ -1371,21 +1371,21 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitMinDateTimeMethodCallExpr(final MinDateTimeMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.MINDATETIME);
+    return new MethodImpl()
+        .setMethod(MethodKind.MINDATETIME);
   }
 
   @Override
   public ExpressionImpl visitMinuteMethodCallExpr(final MinuteMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.MINUTE)
+    return new MethodImpl()
+        .setMethod(MethodKind.MINUTE)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitMonthMethodCallExpr(final MonthMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.MONTH)
+    return new MethodImpl()
+        .setMethod(MethodKind.MONTH)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
@@ -1563,8 +1563,8 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitNowMethodCallExpr(final NowMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.NOW);
+    return new MethodImpl()
+        .setMethod(MethodKind.NOW);
   }
 
   @Override
@@ -1737,15 +1737,15 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitRoundMethodCallExpr(final RoundMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.ROUND)
+    return new MethodImpl()
+        .setMethod(MethodKind.ROUND)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitSecondMethodCallExpr(final SecondMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.SECOND)
+    return new MethodImpl()
+        .setMethod(MethodKind.SECOND)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
@@ -2024,16 +2024,16 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitStartsWithMethodCallExpr(final StartsWithMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.STARTSWITH)
+    return new MethodImpl()
+        .setMethod(MethodKind.STARTSWITH)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this))
         .addParameter((ExpressionImpl) ctx.vE2.accept(this));
   }
 
   @Override
   public ExpressionImpl visitSubstringMethodCallExpr(final SubstringMethodCallExprContext ctx) {
-    MethodCallImpl ret = new MethodCallImpl();
-    ret.setMethod(MethodCallKind.SUBSTRING);
+    MethodImpl ret = new MethodImpl();
+    ret.setMethod(MethodKind.SUBSTRING);
     ret.addParameter((ExpressionImpl) ctx.vE1.accept(this));
     ret.addParameter((ExpressionImpl) ctx.vE2.accept(this));
 
@@ -2047,8 +2047,8 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitTimeMethodCallExpr(final TimeMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.TIME)
+    return new MethodImpl()
+        .setMethod(MethodKind.TIME)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
@@ -2063,44 +2063,44 @@ public class UriParseTreeVisitor extends UriParserBaseVisitor<Object> {
 
   @Override
   public ExpressionImpl visitToLowerMethodCallExpr(final ToLowerMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.TOLOWER)
+    return new MethodImpl()
+        .setMethod(MethodKind.TOLOWER)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitTotalOffsetMinutesMethodCallExpr(final TotalOffsetMinutesMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.TOTALOFFSETMINUTES)
+    return new MethodImpl()
+        .setMethod(MethodKind.TOTALOFFSETMINUTES)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitTotalsecondsMethodCallExpr(final TotalsecondsMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.TOTALSECONDS)
+    return new MethodImpl()
+        .setMethod(MethodKind.TOTALSECONDS)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitToUpperMethodCallExpr(final ToUpperMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.TOUPPER)
+    return new MethodImpl()
+        .setMethod(MethodKind.TOUPPER)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
   @Override
   public ExpressionImpl visitTrimMethodCallExpr(final TrimMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.TRIM)
+    return new MethodImpl()
+        .setMethod(MethodKind.TRIM)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 
 
   @Override
   public ExpressionImpl visitYearMethodCallExpr(final YearMethodCallExprContext ctx) {
-    return new MethodCallImpl()
-        .setMethod(MethodCallKind.YEAR)
+    return new MethodImpl()
+        .setMethod(MethodKind.YEAR)
         .addParameter((ExpressionImpl) ctx.vE1.accept(this));
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/AliasImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/AliasImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/AliasImpl.java
index 0ffc9f3..03c7a01 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/AliasImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/AliasImpl.java
@@ -19,11 +19,11 @@
 package org.apache.olingo.server.core.uri.queryoption.expression;
 
 import org.apache.olingo.commons.api.ODataApplicationException;
-import org.apache.olingo.server.api.uri.queryoption.expression.AliasExpression;
+import org.apache.olingo.server.api.uri.queryoption.expression.Alias;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitor;
 
-public class AliasImpl extends ExpressionImpl implements AliasExpression {
+public class AliasImpl extends ExpressionImpl implements Alias {
 
   private String parameterName;
 

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/BinaryImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/BinaryImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/BinaryImpl.java
index 8ec4c7e..ecd9dfc 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/BinaryImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/BinaryImpl.java
@@ -19,13 +19,13 @@
 package org.apache.olingo.server.core.uri.queryoption.expression;
 
 import org.apache.olingo.commons.api.ODataApplicationException;
-import org.apache.olingo.server.api.uri.queryoption.expression.BinaryExpression;
+import org.apache.olingo.server.api.uri.queryoption.expression.Binary;
 import org.apache.olingo.server.api.uri.queryoption.expression.BinaryOperatorKind;
 import org.apache.olingo.server.api.uri.queryoption.expression.Expression;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitor;
 
-public class BinaryImpl extends ExpressionImpl implements BinaryExpression {
+public class BinaryImpl extends ExpressionImpl implements Binary {
 
   private BinaryOperatorKind operator;
   private ExpressionImpl left;
@@ -36,7 +36,7 @@ public class BinaryImpl extends ExpressionImpl implements BinaryExpression {
     return operator;
   }
 
-  public BinaryExpression setOperator(final BinaryOperatorKind operator) {
+  public Binary setOperator(final BinaryOperatorKind operator) {
     this.operator = operator;
     return this;
   }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/MethodCallImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/MethodCallImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/MethodCallImpl.java
deleted file mode 100644
index d081287..0000000
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/MethodCallImpl.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/* 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.olingo.server.core.uri.queryoption.expression;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.commons.api.ODataApplicationException;
-import org.apache.olingo.server.api.uri.queryoption.expression.Expression;
-import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
-import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitor;
-import org.apache.olingo.server.api.uri.queryoption.expression.MethodCall;
-import org.apache.olingo.server.api.uri.queryoption.expression.MethodCallKind;
-import org.apache.olingo.server.api.uri.queryoption.expression.VisitableExression;
-
-public class MethodCallImpl extends ExpressionImpl implements MethodCall, VisitableExression {
-
-  private MethodCallKind method;
-  private List<ExpressionImpl> parameters = new ArrayList<ExpressionImpl>();
-
-  @Override
-  public MethodCallKind getMethod() {
-    return method;
-  }
-
-  public MethodCallImpl setMethod(final MethodCallKind methodCalls) {
-    method = methodCalls;
-    return this;
-  }
-
-  @Override
-  public List<Expression> getParameters() {
-    List<Expression> list = new ArrayList<Expression>();
-    for (ExpressionImpl item : parameters) {
-      list.add(item);
-    }
-    return list;
-  }
-
-  public MethodCallImpl addParameter(final ExpressionImpl readCommonExpression) {
-    parameters.add(readCommonExpression);
-    return this;
-  }
-
-  @Override
-  public <T> T accept(final ExpressionVisitor<T> visitor) throws ExpressionVisitException, ODataApplicationException {
-    List<T> userParameters = new ArrayList<T>();
-    for (ExpressionImpl parameter : parameters) {
-      userParameters.add(parameter.accept(visitor));
-    }
-    return visitor.visitMethodCall(method, userParameters);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/MethodImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/MethodImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/MethodImpl.java
new file mode 100644
index 0000000..e06a3d0
--- /dev/null
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/MethodImpl.java
@@ -0,0 +1,70 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.olingo.server.core.uri.queryoption.expression;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.olingo.commons.api.ODataApplicationException;
+import org.apache.olingo.server.api.uri.queryoption.expression.Expression;
+import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
+import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitor;
+import org.apache.olingo.server.api.uri.queryoption.expression.Method;
+import org.apache.olingo.server.api.uri.queryoption.expression.MethodKind;
+import org.apache.olingo.server.api.uri.queryoption.expression.VisitableExression;
+
+public class MethodImpl extends ExpressionImpl implements Method, VisitableExression {
+
+  private MethodKind method;
+  private List<ExpressionImpl> parameters = new ArrayList<ExpressionImpl>();
+
+  @Override
+  public MethodKind getMethod() {
+    return method;
+  }
+
+  public MethodImpl setMethod(final MethodKind methodCalls) {
+    method = methodCalls;
+    return this;
+  }
+
+  @Override
+  public List<Expression> getParameters() {
+    List<Expression> list = new ArrayList<Expression>();
+    for (ExpressionImpl item : parameters) {
+      list.add(item);
+    }
+    return list;
+  }
+
+  public MethodImpl addParameter(final ExpressionImpl readCommonExpression) {
+    parameters.add(readCommonExpression);
+    return this;
+  }
+
+  @Override
+  public <T> T accept(final ExpressionVisitor<T> visitor) throws ExpressionVisitException, ODataApplicationException {
+    List<T> userParameters = new ArrayList<T>();
+    for (ExpressionImpl parameter : parameters) {
+      userParameters.add(parameter.accept(visitor));
+    }
+    return visitor.visitMethodCall(method, userParameters);
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/b7869d92/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/UnaryImpl.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/UnaryImpl.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/UnaryImpl.java
index 528cc82..f782bb4 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/UnaryImpl.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/queryoption/expression/UnaryImpl.java
@@ -22,11 +22,11 @@ import org.apache.olingo.commons.api.ODataApplicationException;
 import org.apache.olingo.server.api.uri.queryoption.expression.Expression;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitException;
 import org.apache.olingo.server.api.uri.queryoption.expression.ExpressionVisitor;
-import org.apache.olingo.server.api.uri.queryoption.expression.UnaryOperator;
+import org.apache.olingo.server.api.uri.queryoption.expression.Unary;
 import org.apache.olingo.server.api.uri.queryoption.expression.UnaryOperatorKind;
 import org.apache.olingo.server.api.uri.queryoption.expression.VisitableExression;
 
-public class UnaryImpl extends ExpressionImpl implements UnaryOperator, VisitableExression {
+public class UnaryImpl extends ExpressionImpl implements Unary, VisitableExression {
 
   private UnaryOperatorKind operator;
   private ExpressionImpl expression;