File tree Expand file tree Collapse file tree 1 file changed +14
-8
lines changed 
vaadin-simple-grid-filter/src/main/java/software/xdev/vaadin/comparators/utl Expand file tree Collapse file tree 1 file changed +14
-8
lines changed Original file line number Diff line number Diff line change 1616package  software .xdev .vaadin .comparators .utl ;
1717
1818import  java .time .format .DateTimeFormatter ;
19+ import  java .util .Collections ;
20+ import  java .util .List ;
21+ import  java .util .Map ;
1922import  java .util .Objects ;
23+ import  java .util .WeakHashMap ;
24+ import  java .util .stream .Collectors ;
2025
2126import  com .vaadin .flow .component .datepicker .DatePicker ;
2227
2631 */ 
2732public  final  class  DateHelper 
2833{
34+ 	private  static  final  Map <List <String >, DateTimeFormatter > CACHED_FORMATTERS  =
35+ 		Collections .synchronizedMap (new  WeakHashMap <>());
36+ 	
2937	private  DateHelper ()
3038	{
3139	}
@@ -34,13 +42,11 @@ public static DateTimeFormatter getDatePattern(final DatePicker.DatePickerI18n d
3442	{
3543		Objects .requireNonNull (datePickerI18n );
3644
37- 		final  StringBuilder  patternString  = new  StringBuilder ();
38- 		
39- 		for (final  String  pattern  : datePickerI18n .getDateFormats ())
40- 		{
41- 			patternString .append ('[' ).append (pattern ).append (']' );
42- 		}
43- 		
44- 		return  DateTimeFormatter .ofPattern (patternString .toString ());
45+ 		return  CACHED_FORMATTERS .computeIfAbsent (
46+ 			datePickerI18n .getDateFormats (),
47+ 			formats  -> DateTimeFormatter .ofPattern (formats 
48+ 				.stream ()
49+ 				.map (pattern  -> "["  + pattern  + "]" )
50+ 				.collect (Collectors .joining ())));
4551	}
4652}
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments