[prev in list] [next in list] [prev in thread] [next in thread]
List: xmlbeans-dev
Subject: [jira] Commented: (XMLBEANS-252) List<Type> returned by generated
From: "Adrian Grealish (JIRA)" <xmlbeans-dev () xml ! apache ! org>
Date: 2006-08-29 19:17:23
Message-ID: 9743699.1156879043515.JavaMail.jira () brutus
[Download RAW message or body]
[ http://issues.apache.org/jira/browse/XMLBEANS-252?page=comments#action_12431326 \
]
Adrian Grealish commented on XMLBEANS-252:
------------------------------------------
I am seeing a similar issue except duplicates in the list after sorting.
When I sort a list returned from getFooList() using Collections.sort I am getting a \
duplicate in the list and teh collection size does not change.
If I try to sort list "aPLugin", "bPlugin", "cPLugin"
List<Plugin> pluginsList = xmlPlugins.getPluginList());
Collections.sort(pluginsList , new Comparator<Plugin>() {
public int compare(Plugin o1, Plugin o2) {
return o1.getName().compareTo(o2.getName());
}});
I get back plugins "aPLugin", "bPlugin", "aPLugin".
Plugins.getPluginList() (actually PluginsImpl.getPluginList()) returns a PluginList, \
which extends AbstractList<com.bea.usagetrack.protocol.v100.Plugin>. PluginList's \
get() and set() methods do some twisty stuff that looks like it should work for \
sort(), but obviously doesn't. Looks like some indirection in PluginsImpl is biting \
us for the sort().
If I create a new ArrayList first then it works
List<Plugin> newList = new ArrayList<Plugin>(xmlPlugins.getPluginList());
Collections.sort(newList, new Comparator<Plugin>() {
public int compare(Plugin o1, Plugin o2) {
return o1.getName().compareTo(o2.getName());
}});
> List<Type> returned by generated getFooList() is not sortable
> -------------------------------------------------------------
>
> Key: XMLBEANS-252
> URL: http://issues.apache.org/jira/browse/XMLBEANS-252
> Project: XMLBeans
> Issue Type: Bug
> Affects Versions: Version 2.1
> Environment: Win XP SP2, JRE 1.5.0_06-b05, XMLBeans 2.1.0
> Reporter: Erik Godding Boye
> Priority: Minor
>
> I am trying to sort the list returned by the generated getFooList() [multiple \
> occurrence method] using java.util.Collections#sort(java.util.List<Type>, \
> java.util.Comparator<Type>). The elements are not sorted, and no exception is \
> thrown. I would expect either, but I do not see any reason for the list to be \
> unmodifiable (and thus throwing exception when trying to sort it). A simple \
> workaround is to create a new list supplying the original list (from the generated \
> method) in the constructor. The new list is sortable without any problems.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: \
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: dev-help@xmlbeans.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic