You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@olingo.apache.org by "Stephan Klevenz (JIRA)" <ji...@apache.org> on 2013/11/06 16:32:18 UTC
[jira] [Updated] (OLINGO-52) expand collection issue - Set support
[ https://issues.apache.org/jira/browse/OLINGO-52?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephan Klevenz updated OLINGO-52:
----------------------------------
Assignee: Chandan V.A
> expand collection issue - Set support
> -------------------------------------
>
> Key: OLINGO-52
> URL: https://issues.apache.org/jira/browse/OLINGO-52
> Project: Olingo
> Issue Type: Bug
> Components: odata2-jpa
> Affects Versions: 1.1.0
> Environment: Hibernate
> Reporter: Carl J. Mosca
> Assignee: Chandan V.A
> Priority: Minor
> Labels: JPA, collections, expand
>
> We have a model which employs Sets. The JPAExpandCallback seems to be expecting Lists for collections.
> The newly discovered "odata-debug" made finding this issue very easy. :)
> A diff of the code changes for a quick fix are below. Because I ran into this previously elsewhere, I wonder if a cleaner way to handle the collections has already been added somewhere in the code base.
> @@ -100,8 +104,13 @@
> List<EdmNavigationProperty> currentNavPropertyList = null;
> EdmNavigationProperty currentNavigationProperty = context.getNavigationProperty();
> try {
> - @SuppressWarnings({ "unchecked" })
> - List<Object> listOfItems = (List<Object>) inlinedEntry.get(context.getNavigationProperty().getName());
> + List<Object> listOfItems = null;
> + if (inlinedEntry.get(context.getNavigationProperty().getName()) instanceof Set) {
> + listOfItems = new ArrayList<Object>();
> + listOfItems.addAll((Set) inlinedEntry.get(context.getNavigationProperty().getName()));
> + } else {
> + listOfItems = (List<Object>) inlinedEntry.get(context.getNavigationProperty().getName());
> + }
> if (nextEntitySet == null) {
> nextEntitySet = context.getSourceEntitySet().getRelatedEntitySet(currentNavigationProperty);
> }
--
This message was sent by Atlassian JIRA
(v6.1#6144)