Details
-
Type: Improvement
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.8DR#2
-
Component/s: ICE-Components
-
Labels:None
-
Environment:java
Description
for instance in UISeries:
else if (currentValue instanceof Map) {
this.dataModel = new SetDataModel(((Map) currentValue).entrySet());
else if (currentValue instanceof Map) {
this.dataModel = new SetDataModel(((Map) currentValue).entrySet());
We shouldn't support Map or Set, because they don't have orderings, which could cause problems for users, when any modification can drastically affect the subsequent iteration, or in the case of LinkedHashMap no modification would be necessary. What that means is, the data model will render in one sequence, and then a post-back could apply input values to any element of the Set or Map, instantly corrupting the data model.
I'm not sure why
ICE-2755added support for Set, given these concerns. Perhaps this would be useful for SortedMap and SortedSet? Or just when used with output components.I'm just worried that new users will see their code "work" and be caught unawares with these issues, whereas if it failed immediately, they would then find out about this issue, and know to use a more appropriate data structure.