olingo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Mikhaylenko (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OLINGO-1075) Internal server error when deleting links in JPA entities with Sets
Date Sun, 05 Feb 2017 19:26:41 GMT

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

Vladimir Mikhaylenko updated OLINGO-1075:
-----------------------------------------
    Description: 
Hello, 
I am developing simple application that exposes JPA model using JPA processor. 

I found issue with deletion of links when JPA object exposed through Olingo has sets as attributes.


My object has Set<OtherJPAObject> as attribute and related setter and getter with Set
in its signature. 

When I execute DELETE on path 
{code}/mapi.svc/Teams(1L)/$links/PersonDetails('i001001'){code}
I receive internal server error and message "attribute types mismatch". 

I did some debugging and discovered that error happens when class JPALink gathers related
entries to be updated, it uses List and then passes List as the parameter for invoke of setter
to modify collection of the object. 
Relevant stack trace is:
{code}
JPALink.delinkJPAEntities(Object, List<Object>, EdmNavigationProperty) line: 349	
JPALink.delete(DeleteUriInfo) line: 143	
JPAProcessorImpl.deleteLink(DeleteUriInfo) line: 398	
JPAProcessorImpl.process(DeleteUriInfo, String) line: 252	
ODataJPAFactoryImpl$ODataJPAAccessFactoryImpl$1(ODataJPADefaultProcessor).deleteEntityLink(DeleteUriInfo,
String) line: 241	
Dispatcher.dispatch(ODataHttpMethod, UriInfoImpl, InputStream, String, String) line: 165	
ODataRequestHandler.handle(ODataRequest) line: 131	
ODataSubLocator.handle(ODataHttpMethod) line: 164	
ODataSubLocator.handleDelete() line: 78	
{code}
When I change collection type to List, everything works like a charm, but List is not so suitable
for my domain model. 

If you need, I can provide clear example of the issue.

  was:
Hello, 
I am developing simple application that exposes JPA model using JPA processor. 

I found issue with deletion of links when JPA object exposed through Olingo has sets as attributes.


My object has Set<OtherJPAObject> as attribute and related setter and getter with Set
in its signature. 

When I execute DELETE on path 
```/mapi.svc/Teams(1L)/$links/PersonDetails('i001001')```
I receive internal server error and message "attribute types mismatch". 

I did some debugging and discovered that error happens when class JPALink gathers related
entries to be updated, it uses List and then passes List as the parameter for invoke of setter
to modify collection of the object. 
Relevant stack trace is:
```
JPALink.delinkJPAEntities(Object, List<Object>, EdmNavigationProperty) line: 349	
JPALink.delete(DeleteUriInfo) line: 143	
JPAProcessorImpl.deleteLink(DeleteUriInfo) line: 398	
JPAProcessorImpl.process(DeleteUriInfo, String) line: 252	
ODataJPAFactoryImpl$ODataJPAAccessFactoryImpl$1(ODataJPADefaultProcessor).deleteEntityLink(DeleteUriInfo,
String) line: 241	
Dispatcher.dispatch(ODataHttpMethod, UriInfoImpl, InputStream, String, String) line: 165	
ODataRequestHandler.handle(ODataRequest) line: 131	
ODataSubLocator.handle(ODataHttpMethod) line: 164	
ODataSubLocator.handleDelete() line: 78	
```
When I change collection type to List, everything works like a charm, but List is not so suitable
for my domain model. 

If you need, I can provide clear example of the issue.


> Internal server error when deleting links in JPA entities with Sets
> -------------------------------------------------------------------
>
>                 Key: OLINGO-1075
>                 URL: https://issues.apache.org/jira/browse/OLINGO-1075
>             Project: Olingo
>          Issue Type: Bug
>          Components: odata2-jpa
>    Affects Versions: V2 2.0.8
>            Reporter: Vladimir Mikhaylenko
>
> Hello, 
> I am developing simple application that exposes JPA model using JPA processor. 
> I found issue with deletion of links when JPA object exposed through Olingo has sets
as attributes. 
> My object has Set<OtherJPAObject> as attribute and related setter and getter with
Set in its signature. 
> When I execute DELETE on path 
> {code}/mapi.svc/Teams(1L)/$links/PersonDetails('i001001'){code}
> I receive internal server error and message "attribute types mismatch". 
> I did some debugging and discovered that error happens when class JPALink gathers related
entries to be updated, it uses List and then passes List as the parameter for invoke of setter
to modify collection of the object. 
> Relevant stack trace is:
> {code}
> JPALink.delinkJPAEntities(Object, List<Object>, EdmNavigationProperty) line: 349

> JPALink.delete(DeleteUriInfo) line: 143	
> JPAProcessorImpl.deleteLink(DeleteUriInfo) line: 398	
> JPAProcessorImpl.process(DeleteUriInfo, String) line: 252	
> ODataJPAFactoryImpl$ODataJPAAccessFactoryImpl$1(ODataJPADefaultProcessor).deleteEntityLink(DeleteUriInfo,
String) line: 241	
> Dispatcher.dispatch(ODataHttpMethod, UriInfoImpl, InputStream, String, String) line:
165	
> ODataRequestHandler.handle(ODataRequest) line: 131	
> ODataSubLocator.handle(ODataHttpMethod) line: 164	
> ODataSubLocator.handleDelete() line: 78	
> {code}
> When I change collection type to List, everything works like a charm, but List is not
so suitable for my domain model. 
> If you need, I can provide clear example of the issue.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message