olingo-odata2 git commit: [OLINGO-1283]Facet info for Function Import parameters not honored

2018-08-20 Thread archanarai
Repository: olingo-odata2
Updated Branches:
  refs/heads/master b96a9d152 -> 04a45ec92


[OLINGO-1283]Facet info for Function Import parameters not honored


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/04a45ec9
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/04a45ec9
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/04a45ec9

Branch: refs/heads/master
Commit: 04a45ec92e0ff1b29887ac281349b9777e281978
Parents: b96a9d1
Author: Archana Rai 
Authored: Mon Aug 20 18:14:33 2018 +0530
Committer: Archana Rai 
Committed: Mon Aug 20 18:14:33 2018 +0530

--
 .../core/ep/consumer/XmlPropertyConsumer.java |  2 +-
 .../core/ep/consumer/XmlEntityConsumerTest.java   | 18 +-
 2 files changed, 18 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/04a45ec9/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlPropertyConsumer.java
--
diff --git 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlPropertyConsumer.java
 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlPropertyConsumer.java
index 8a052cb..557191c 100644
--- 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlPropertyConsumer.java
+++ 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlPropertyConsumer.java
@@ -159,7 +159,7 @@ public class XmlPropertyConsumer {
 
   if (TRUE.equals(nullAttribute)) {
 if ((readProperties == null || readProperties.isValidatingFacets()) && 
propertyInfo.isMandatory()) {
-  throw new 
EntityProviderException(EntityProviderException.INVALID_PROPERTY_VALUE.addContent(name));
+  throw new 
EdmSimpleTypeException(EdmSimpleTypeException.VALUE_NULL_NOT_ALLOWED.addContent(name));
 }
 reader.nextTag();
   } else if (propertyInfo.isComplex()) {

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/04a45ec9/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlEntityConsumerTest.java
--
diff --git 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlEntityConsumerTest.java
 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlEntityConsumerTest.java
index b8ba340..4f51fcd 100644
--- 
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlEntityConsumerTest.java
+++ 
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlEntityConsumerTest.java
@@ -2033,7 +2033,23 @@ public class XmlEntityConsumerTest extends 
AbstractXmlConsumerTest {
 assertTrue(properties.containsKey("EntryDate"));
 assertNull(properties.get("EntryDate"));
   }
-
+  
+  @Test(expected = EntityProviderException.class)
+  public void readEntryNullId() throws Exception {
+final EdmEntitySet entitySet = 
MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+final String content = 
EMPLOYEE_1_XML.replace("1",
+"");
+InputStream contentBody = createContentAsStream(content);
+try {
+  new XmlEntityConsumer().readEntry(entitySet, contentBody, 
EntityProviderReadProperties.init().mergeSemantic(
+  true).build());
+} catch (EntityProviderException e) {
+  assertEquals(EntityProviderException.EXCEPTION_OCCURRED.getKey(), 
e.getMessageReference().getKey());
+  assertEquals("EdmSimpleTypeException", 
e.getMessageReference().getContent().get(0));
+  throw e;
+}
+  }
+  
   @Test(expected = EntityProviderException.class)
   public void readEntryTooManyValues() throws Exception {
 // prepare



olingo-odata2 git commit: [OLINGO-1283]Facet info for Function Import parameters not honored

2018-08-06 Thread archanarai
Repository: olingo-odata2
Updated Branches:
  refs/heads/master 9aa18ee4f -> b96a9d152


[OLINGO-1283]Facet info for Function Import parameters not honored


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

Branch: refs/heads/master
Commit: b96a9d1525067d7241cbbc1af55ac91b6eeb18da
Parents: 9aa18ee
Author: Archana Rai 
Authored: Mon Aug 6 16:51:16 2018 +0530
Committer: Archana Rai 
Committed: Mon Aug 6 16:51:16 2018 +0530

--
 .../odata2/api/edm/EdmSimpleTypeFacade.java  | 10 ++
 .../odata2/core/edm/EdmSimpleTypeFacadeImpl.java | 17 +
 .../apache/olingo/odata2/core/edm/EdmString.java |  2 +-
 .../olingo/odata2/core/uri/UriParserImpl.java| 19 ++-
 4 files changed, 42 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b96a9d15/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmSimpleTypeFacade.java
--
diff --git 
a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmSimpleTypeFacade.java
 
b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmSimpleTypeFacade.java
index 82a82b8..c8988a5 100644
--- 
a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmSimpleTypeFacade.java
+++ 
b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmSimpleTypeFacade.java
@@ -35,6 +35,16 @@ public interface EdmSimpleTypeFacade {
   public EdmLiteral parseUriLiteral(final String uriLiteral) throws 
EdmLiteralException;
 
   /**
+   * IMPORTANT: Use {@link EdmSimpleTypeKind} parseUriLiteral for the 
implementation.
+   * This method definition is used only inside the core of this library.
+   * @param uriLiteral
+   * @param facets
+   * @return the parsed literal
+   * @throws EdmLiteralException
+   */
+  public EdmLiteral parseUriLiteral(final String uriLiteral, final EdmFacets 
facets) throws EdmLiteralException;
+  
+  /**
* IMPORTANT: Use {@link EdmSimpleTypeKind#getEdmSimpleTypeInstance()} for 
the application development.
* 
* This method definition is used only inside the core of this 
library.

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b96a9d15/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/EdmSimpleTypeFacadeImpl.java
--
diff --git 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/EdmSimpleTypeFacadeImpl.java
 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/EdmSimpleTypeFacadeImpl.java
index 25a5dc8..58d0e93 100644
--- 
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/EdmSimpleTypeFacadeImpl.java
+++ 
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/EdmSimpleTypeFacadeImpl.java
@@ -18,6 +18,7 @@
  
**/
 package org.apache.olingo.odata2.core.edm;
 
+import org.apache.olingo.odata2.api.edm.EdmFacets;
 import org.apache.olingo.odata2.api.edm.EdmLiteral;
 import org.apache.olingo.odata2.api.edm.EdmLiteralException;
 import org.apache.olingo.odata2.api.edm.EdmLiteralKind;
@@ -31,6 +32,8 @@ import 
org.apache.olingo.odata2.core.exception.ODataRuntimeException;
  *  
  */
 public class EdmSimpleTypeFacadeImpl implements EdmSimpleTypeFacade {
+  
+  private EdmFacets facets = null;
 
   @Override
   public EdmLiteral parseUriLiteral(final String uriLiteral) throws 
EdmLiteralException {
@@ -46,7 +49,7 @@ public class EdmSimpleTypeFacadeImpl implements 
EdmSimpleTypeFacade {
 && uriLiteral.startsWith("'") && uriLiteral.endsWith("'")) {
   try {
 final EdmSimpleType type = getEdmSimpleType(EdmSimpleTypeKind.String);
-return new EdmLiteral(type, type.valueOfString(uriLiteral, 
EdmLiteralKind.URI, null, String.class));
+return new EdmLiteral(type, type.valueOfString(uriLiteral, 
EdmLiteralKind.URI, facets, String.class));
   } catch (EdmSimpleTypeException e) {
 throw new 
EdmLiteralException(EdmLiteralException.LITERALFORMAT.addContent(uriLiteral), 
e);
   }
@@ -56,7 +59,7 @@ public class EdmSimpleTypeFacadeImpl implements 
EdmSimpleTypeFacade {
   try {
 final int i =
 getEdmSimpleType(EdmSimpleTypeKind.Int32)
-.valueOfString(uriLiteral, EdmLiteralKind.URI, null, 
Integer.class);
+.valueOfString(uriLiteral, EdmLiteralKind.URI, facets, 
Integer.class);
 if (i == 0 || i == 1) {
   return new