Song Yihan created OLINGO-1219:
----------------------------------

             Summary: When nullable key is defined Encoder would throw NPE
                 Key: OLINGO-1219
                 URL: https://issues.apache.org/jira/browse/OLINGO-1219
             Project: Olingo
          Issue Type: Bug
          Components: odata2-core
    Affects Versions: V2 2.0.9
            Reporter: Song Yihan
             Fix For: V2 2.0.10


in current Encoder implementation, if given input is null, an NPE would be 
thrown

The scenario would be, consider an Entity which key is allowed to be null in 
Edmx, thus, the data retrieved in data source would be a HashMap only with 
non-null value, when createEntryKey<-createSelfLink, we generate the key 
representation from the given data, some of the key would be null and passed to 
Encoder, which would throw NullPointerException and skip the check of its 
corresponding facets

if (value == null) {
      if (facets == null || facets.isNullable() == null || facets.isNullable()) 
{
        return null;
      } else {
        throw new 
EdmSimpleTypeException(EdmSimpleTypeException.VALUE_NULL_NOT_ALLOWED);
      }
    }

A pull request has been created aim to fix it at 
https://github.com/apache/olingo-odata2/pull/14



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to