[
https://issues.apache.org/jira/browse/OLINGO-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
M Carissimi resolved OLINGO-145.
--------------------------------
Resolution: Invalid
Hello,
please ignore this issue, I found that it was caused by a mismatch in the
nullable flag on the complex properties.
> Write feed with ComplexType properties
> --------------------------------------
>
> Key: OLINGO-145
> URL: https://issues.apache.org/jira/browse/OLINGO-145
> Project: Olingo
> Issue Type: Question
> Affects Versions: V2 1.0.0
> Reporter: M Carissimi
>
> Hello,
> I have a web application which exposes an OData web service containing Entity
> Types with simple and complex properties.
> My EdmProvider creates a complex type as follow
> {code}
> ComplexType myNumberComplexType = new ComplexType();
> myNumberComplexType.setName("NumberAndUnits");
> List<Property> myComplexTypeProps = new ArrayList<Property>();
> Property myNumber = new
> SimpleProperty().setName("Number").setType(EdmSimpleTypeKind.Double);
> myComplexTypeProps.add(myNumber);
> Property myUnit = new
> SimpleProperty().setName("Unit").setType(EdmSimpleTypeKind.String);
> myComplexTypeProps.add(myUnit);
> myNumberComplexType.setProperties(myComplexTypeProps);
> complexTypes.add(myNumberComplexType);
> {code}
> This is shown on the metadata as
> {code}
> <ComplexType Name="NumberAndUnits">
> <Property Name="Number" Type="Edm.Int32"/>
> <Property Name="Unit" Type="Edm.String"/>
> </ComplexType>
> {code}
> Entity Types using the complex type are shown on the metadata as follow
> {code}
> <EntityType Name="P_D_W_A">
> ...
> <Property Name="flow" Type="esys_producer.NumberAndUnits" Nullable="true"/>
> </EntityType>
> {code}
> My ODataSingleProcessor uses the EntityProvider.writeEntry() method to create
> the ODataResponse for method readEntity(). Similarly, method
> EntityProvider.writeFeed() is used to create the ODataResponse for method
> readEntitySet(). In both cases the data to populate the entry (or feed) is
> contained in a Map<String,Object> and in turn the values for the properties
> using complex types are contained in a Map<String,Object>. Tje code used to
> create the maps is as follow
> {code}
> Map<String, Object> myComplexProps = new HashMap<String, Object>();
> // set double type
> Double myDoubleValue = null;
> if (!isNullOrEmpty(myAttrValue))
> {
> myDoubleValue = Double.valueOf(myAttrValue);
> }
> myComplexProps.put("Number", myDoubleValue);
> myComplexProps.put("Unit", "Sm3");
> myProps.put(myAttrName, myComplexProps);
> {code}
> Whenever I try to load a feed for an entity type containing the complex type,
> I get a message saying "An exception occurred.". I have added my own
> ErrorDebug and ErrorCallback to enable debugging and to print out error
> messages, but no additional information is given.
> Can you please suggest how I can resolve this issue?
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)