Kevin Ratnasekera created OLINGO-630:
----------------------------------------

             Summary: Exception is thrown when serializing the complex type 
properties of entities in Car/manufacturer example Service ( serializing 
Manufacturer entities having Address complex type property) 
                 Key: OLINGO-630
                 URL: https://issues.apache.org/jira/browse/OLINGO-630
             Project: Olingo
          Issue Type: Bug
          Components: odata4-server
    Affects Versions: (Java) V4 4.0.0-beta-03
            Reporter: Kevin Ratnasekera
            Priority: Trivial


java.lang.ClassCastException: java.util.ArrayList cannot be cast to 
org.apache.olingo.commons.api.data.ComplexValue exception is thrown in the 
ODataSerializer method
 writeComplexValue((EdmComplexType) edmProperty.getType(), 
property.asComplex().getValue(),selectedPaths, json);

Root cause for the issue is when invoking
        property.asComplex()

 public ComplexValue asComplex() {
    if(isCollection()) {
      return null;
    }
    return isComplex() ? (ComplexValue) value : null;
  }

here the value Object is first initialized to List<Property> at the 
Car/manufacturer Service later it is being casted to ComplexValue.

Herewith attached a patch, proper type is  set to value Object, so that no cast 
exaception is thrown later when serializing complex types. 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to