From 1a77e01b732f711428321e74379a8a27b8da085c Mon Sep 17 00:00:00 2001 From: Mustafa Simav Date: Thu, 13 Apr 2017 18:05:05 +0300 Subject: [PATCH 1/5] Add build.sbt to import project to our service --- build.sbt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 build.sbt diff --git a/build.sbt b/build.sbt new file mode 100644 index 0000000000..1d9d788d0f --- /dev/null +++ b/build.sbt @@ -0,0 +1,20 @@ +name := "odata-olingo" +scalaVersion in ThisBuild := "2.11.8" +javacOptions in ThisBuild ++= Seq("-encoding", "UTF-8", "-source", "1.6") + +lazy val commonsApi = (project in file("lib/commons-api")) + +lazy val commonsCore = (project in file("lib/commons-core")).dependsOn(commonsApi).settings( + libraryDependencies += "commons-codec" % "commons-codec" % "1.9" + ) + +lazy val serverApi = (project in file("lib/server-api")).dependsOn(commonsApi).settings( + libraryDependencies += "javax.servlet" % "servlet-api" % "2.5" % Provided + ) + +lazy val serverCore = (project in file("lib/server-core")).dependsOn(serverApi, commonsCore).settings( + libraryDependencies += "javax.servlet" % "servlet-api" % "2.5" % Provided, + libraryDependencies += "com.fasterxml.jackson.core" % "jackson-core" % "2.7.8", + libraryDependencies += "com.fasterxml.jackson.core" % "jackson-databind" % "2.7.8", + libraryDependencies += "com.fasterxml" % "aalto-xml" % "0.9.10" + ) From 7b0abd4d7bfe56b59b4c7321d5d9ed03333441b7 Mon Sep 17 00:00:00 2001 From: Mustafa Simav Date: Mon, 2 Jan 2017 14:45:58 +0200 Subject: [PATCH 2/5] Allow Socrata 4x4 IDs in URL Dash, '-', character is not considered a unicode identifier so Character.isUnicodeIdentifierPart function returns false for it. This problem makes UriTokenizer class to parse only the first half of the 4x4 id. --- .../apache/olingo/server/core/uri/parser/UriTokenizer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriTokenizer.java b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriTokenizer.java index 6654df9108..dbf1251fbc 100644 --- a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriTokenizer.java +++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/UriTokenizer.java @@ -816,13 +816,13 @@ private boolean nextODataIdentifier() { int count = 0; if (index < parseString.length()) { int code = parseString.codePointAt(index); - if (Character.isUnicodeIdentifierStart(code) || code == '_') { + if (Character.isUnicodeIdentifierPart(code) || code == '_') { count++; // Unicode characters outside of the Basic Multilingual Plane are represented as two Java characters. index += Character.isSupplementaryCodePoint(code) ? 2 : 1; while (index < parseString.length() && count < 128) { code = parseString.codePointAt(index); - if (Character.isUnicodeIdentifierPart(code) && !Character.isISOControl(code)) { + if ((code == '-' || Character.isUnicodeIdentifierPart(code)) && !Character.isISOControl(code)) { count++; // Unicode characters outside of the Basic Multilingual Plane are represented as two Java characters. index += Character.isSupplementaryCodePoint(code) ? 2 : 1; From 86be6c69539d602ea9c4bc15ca71d10ecf0e184a Mon Sep 17 00:00:00 2001 From: Mustafa Simav Date: Fri, 5 May 2017 13:46:42 +0300 Subject: [PATCH 3/5] Remove scale/presicion check from EdmDecimal on write --- .../olingo/commons/core/edm/primitivetype/EdmDecimal.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDecimal.java b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDecimal.java index 1228c7a72c..8c97ba3d1b 100644 --- a/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDecimal.java +++ b/lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/primitivetype/EdmDecimal.java @@ -179,12 +179,7 @@ protected String internalValueToString(final T value, final int digits = bigDecimalValue.scale() >= 0 ? Math.max(bigDecimalValue.precision(), bigDecimalValue.scale()) : bigDecimalValue.precision() - bigDecimalValue.scale(); - if ((precision == null || precision >= digits) && (bigDecimalValue.scale() <= (scale == null ? 0 : scale))) { - result = bigDecimalValue.toPlainString(); - } else { - throw new EdmPrimitiveTypeException("The value '" + value + "' does not match the facets' constraints."); - } - + result = bigDecimalValue.toPlainString(); } else { throw new EdmPrimitiveTypeException("The value type " + value.getClass() + " is not supported."); } From 203f405b4f5df5f57d003ea7fc3ffb71ecad5187 Mon Sep 17 00:00:00 2001 From: Chris Danisch Date: Wed, 31 Jul 2019 12:19:11 -0700 Subject: [PATCH 4/5] Added test libraries so intellij is happy --- build.sbt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 1d9d788d0f..3b57955769 100644 --- a/build.sbt +++ b/build.sbt @@ -2,7 +2,11 @@ name := "odata-olingo" scalaVersion in ThisBuild := "2.11.8" javacOptions in ThisBuild ++= Seq("-encoding", "UTF-8", "-source", "1.6") -lazy val commonsApi = (project in file("lib/commons-api")) +lazy val commonsApi = (project in file("lib/commons-api")).settings( + libraryDependencies += "com.novocode" % "junit-interface" % "0.11", + libraryDependencies += "org.mockito" % "mockito-core" % "1.10.19", + libraryDependencies += "commons-io" % "commons-io" % "2.5" + ) lazy val commonsCore = (project in file("lib/commons-core")).dependsOn(commonsApi).settings( libraryDependencies += "commons-codec" % "commons-codec" % "1.9" @@ -18,3 +22,4 @@ lazy val serverCore = (project in file("lib/server-core")).dependsOn(serverApi, libraryDependencies += "com.fasterxml.jackson.core" % "jackson-databind" % "2.7.8", libraryDependencies += "com.fasterxml" % "aalto-xml" % "0.9.10" ) + From 60b4417c9c9bb6b483bf480df60caa9d6241bfe8 Mon Sep 17 00:00:00 2001 From: Chi Date: Wed, 12 Jan 2022 15:01:08 -0800 Subject: [PATCH 5/5] Bump scala version to 2.12 --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 3b57955769..2a25a2b345 100644 --- a/build.sbt +++ b/build.sbt @@ -1,5 +1,5 @@ name := "odata-olingo" -scalaVersion in ThisBuild := "2.11.8" +scalaVersion in ThisBuild := "2.12.8" javacOptions in ThisBuild ++= Seq("-encoding", "UTF-8", "-source", "1.6") lazy val commonsApi = (project in file("lib/commons-api")).settings(