Harmonize exception handling
This commit applies the same catch block to orderForConsistence(Map) than the one that's used for sets. Closes gh-31419
This commit is contained in:
		
							parent
							
								
									aab538d1f0
								
							
						
					
					
						commit
						15c19411f6
					
				|  | @ -449,18 +449,18 @@ class BeanDefinitionPropertyValueCodeGenerator { | |||
| 				return CodeBlock.of("new $T($L)", LinkedHashSet.class, | ||||
| 						generateCollectionOf(set, List.class, elementType)); | ||||
| 			} | ||||
| 			try { | ||||
| 				set = orderForCodeConsistency(set); | ||||
| 			} | ||||
| 			catch (ClassCastException ex) { | ||||
| 				// If elements are not comparable, just keep the original set | ||||
| 			} | ||||
| 			return super.generateCollectionCode(elementType, set); | ||||
| 			return super.generateCollectionCode(elementType, orderForCodeConsistency(set)); | ||||
| 		} | ||||
| 
 | ||||
| 		private Set<?> orderForCodeConsistency(Set<?> set) { | ||||
| 			try { | ||||
| 				return new TreeSet<Object>(set); | ||||
| 			} | ||||
| 			catch (ClassCastException ex) { | ||||
| 				// If elements are not comparable, just keep the original set | ||||
| 				return set; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
|  | @ -515,8 +515,14 @@ class BeanDefinitionPropertyValueCodeGenerator { | |||
| 		} | ||||
| 
 | ||||
| 		private <K, V> Map<K, V> orderForCodeConsistency(Map<K, V> map) { | ||||
| 			try { | ||||
| 				return new TreeMap<>(map); | ||||
| 			} | ||||
| 			catch (ClassCastException ex) { | ||||
| 				// If elements are not comparable, just keep the original map | ||||
| 				return map; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		private <K, V> CodeBlock generateLinkedHashMapCode(Map<K, V> map, | ||||
| 				ResolvableType keyType, ResolvableType valueType) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue