[ 
https://issues.apache.org/jira/browse/OLINGO-1068?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Amend updated OLINGO-1068:
------------------------------------
    Issue Type: Question  (was: Bug)

> EntityProvider writeEntry does not include inline content in ODataResponse
> --------------------------------------------------------------------------
>
>                 Key: OLINGO-1068
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1068
>             Project: Olingo
>          Issue Type: Question
>          Components: odata2-core
>    Affects Versions: V2 2.0.8
>            Reporter: M Carissimi
>            Assignee: Christian Amend
>
> Hello,
> I have an OData client written using the Olingo library that takes a set of 
> properties (Map<String,Objects>) and uses it to put data to a OData server.
> The EntityProvider.writeEntry() method is used to obtain an InputStream for 
> the set of properties to send to the server:
> {code}
>   public ConsumerResponse<Object> updateEntry(String anEntitySetName, String 
> anEntryURL, Map<String, Object> someData,
>       String aContentType) throws ConsumerException
>   {
>     ConsumerResponse<Object> myConsumerResponse = null;
>     try
>     {
>       EdmEntityContainer myEntityContainer = 
> getMetadata(anEntryURL).getDefaultEntityContainer();
>       EntityProviderWriteProperties myWriteProperties = 
>           EntityProviderWriteProperties.serviceRoot(new 
> URI(extractServiceURIFromURL(anEntryURL))).build();
>       
>       // serialize data into ODataResponse object
>       ODataResponse myResponse = EntityProvider.writeEntry(aContentType, 
>           myEntityContainer.getEntitySet(anEntitySetName), someData, 
> myWriteProperties);
>       // get entity InputStream
>       InputStream myEntity = (InputStream) myResponse.getEntity();
>       
>       // put data to server
>       HttpResponse myHttpResponse = execute(anEntryURL, HTTP_METHOD_PUT, 
> myEntity, aContentType);
> ...
> {code}
> This works well for single entries, but it does not work for entries with 
> inline content. If the set of properties contain both simple properties (e.g: 
> NAME > "MyName") and inline content (e.g. ENTITY_LINK > Map<String,Object>), 
> the ODataResponse object returned by the EntityProvider.writeEntry() method, 
> does not include the inline content.
> I have attempted to set the inline content as an ODataEntry object rather 
> than a Map<String,Object> but the behaviour is the same.
> Why is the inline content not retained by the writeEntry() method?



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

Reply via email to