@@ -49,7 +49,7 @@ public class AnnotationCacheOperationSourceTests {
49
49
@ Rule
50
50
public final ExpectedException exception = ExpectedException .none ();
51
51
52
- private AnnotationCacheOperationSource source = new AnnotationCacheOperationSource ();
52
+ private final AnnotationCacheOperationSource source = new AnnotationCacheOperationSource ();
53
53
54
54
55
55
private Collection <CacheOperation > getOps (Class <?> target , String name , int expectedNumberOfOperations ) {
@@ -85,6 +85,11 @@ public void caching() throws Exception {
85
85
assertTrue (it .next () instanceof CacheEvictOperation );
86
86
}
87
87
88
+ @ Test
89
+ public void emptyCaching () throws Exception {
90
+ Collection <CacheOperation > ops = getOps (AnnotatedClass .class , "emptyCaching" , 0 );
91
+ }
92
+
88
93
@ Test
89
94
public void singularStereotype () throws Exception {
90
95
Collection <CacheOperation > ops = getOps (AnnotatedClass .class , "singleStereotype" , 1 );
@@ -272,17 +277,20 @@ public void partialClassLevelWithNoCustomization() {
272
277
assertSharedConfig (cacheOperation , "classKeyGenerator" , "classCacheManager" , "" , "classCacheName" );
273
278
}
274
279
280
+
275
281
private void assertSharedConfig (CacheOperation actual , String keyGenerator , String cacheManager ,
276
- String cacheResolver , String ... cacheNames ) {
282
+ String cacheResolver , String ... cacheNames ) {
283
+
277
284
assertEquals ("Wrong key manager" , keyGenerator , actual .getKeyGenerator ());
278
285
assertEquals ("Wrong cache manager" , cacheManager , actual .getCacheManager ());
279
286
assertEquals ("Wrong cache resolver" , cacheResolver , actual .getCacheResolver ());
280
287
assertEquals ("Wrong number of cache names" , cacheNames .length , actual .getCacheNames ().size ());
281
288
Arrays .stream (cacheNames ).forEach (
282
- cacheName -> assertTrue ("Cache '" + cacheName + "' not found in " + actual .getCacheNames (),
283
- actual .getCacheNames ().contains (cacheName )));
289
+ cacheName -> assertTrue ("Cache '" + cacheName + "' not found in " + actual .getCacheNames (),
290
+ actual .getCacheNames ().contains (cacheName )));
284
291
}
285
292
293
+
286
294
private static class AnnotatedClass {
287
295
288
296
@ Cacheable ("test" )
@@ -298,6 +306,10 @@ public void multiple() {
298
306
public void caching () {
299
307
}
300
308
309
+ @ Caching
310
+ public void emptyCaching () {
311
+ }
312
+
301
313
@ Cacheable (cacheNames = "test" , keyGenerator = "custom" )
302
314
public void customKeyGenerator () {
303
315
}
@@ -361,6 +373,7 @@ public void noCacheNameSpecified() {
361
373
}
362
374
}
363
375
376
+
364
377
@ CacheConfig (cacheNames = "classCacheName" ,
365
378
keyGenerator = "classKeyGenerator" ,
366
379
cacheManager = "classCacheManager" , cacheResolver = "classCacheResolver" )
@@ -383,6 +396,7 @@ public void methodLevelCacheResolver() {
383
396
}
384
397
}
385
398
399
+
386
400
@ CacheConfigFoo
387
401
private static class AnnotatedClassWithCustomDefault {
388
402
@@ -391,6 +405,7 @@ public void methodLevelCacheName() {
391
405
}
392
406
}
393
407
408
+
394
409
@ CacheConfig (cacheNames = "classCacheName" ,
395
410
keyGenerator = "classKeyGenerator" ,
396
411
cacheManager = "classCacheManager" )
@@ -409,6 +424,7 @@ public void noCustomization() {
409
424
}
410
425
}
411
426
427
+
412
428
@ CacheConfigFoo
413
429
@ CacheConfig (cacheNames = "myCache" ) // multiple sources
414
430
private static class MultipleCacheConfig {
@@ -418,48 +434,58 @@ public void multipleCacheConfig() {
418
434
}
419
435
}
420
436
437
+
421
438
@ Retention (RetentionPolicy .RUNTIME )
422
439
@ Target (ElementType .METHOD )
423
440
@ Cacheable ("foo" )
424
441
public @interface CacheableFoo {
425
442
}
426
443
444
+
427
445
@ Retention (RetentionPolicy .RUNTIME )
428
446
@ Target (ElementType .METHOD )
429
447
@ Cacheable (cacheNames = "foo" , keyGenerator = "custom" )
430
448
public @interface CacheableFooCustomKeyGenerator {
431
449
}
432
450
451
+
433
452
@ Retention (RetentionPolicy .RUNTIME )
434
453
@ Target (ElementType .METHOD )
435
454
@ Cacheable (cacheNames = "foo" , cacheManager = "custom" )
436
455
public @interface CacheableFooCustomCacheManager {
437
456
}
438
457
458
+
439
459
@ Retention (RetentionPolicy .RUNTIME )
440
460
@ Target (ElementType .METHOD )
441
461
@ Cacheable (cacheNames = "foo" , cacheResolver = "custom" )
442
462
public @interface CacheableFooCustomCacheResolver {
443
463
}
444
464
465
+
445
466
@ Retention (RetentionPolicy .RUNTIME )
446
467
@ Target (ElementType .METHOD )
447
468
@ CacheEvict ("foo" )
448
469
public @interface EvictFoo {
449
470
}
450
471
472
+
451
473
@ Retention (RetentionPolicy .RUNTIME )
452
474
@ Target (ElementType .METHOD )
453
475
@ CacheEvict ("bar" )
454
476
public @interface EvictBar {
455
477
}
456
478
479
+
457
480
@ Retention (RetentionPolicy .RUNTIME )
458
481
@ Target (ElementType .TYPE )
459
- @ CacheConfig (keyGenerator = "classKeyGenerator" , cacheManager = "classCacheManager" , cacheResolver = "classCacheResolver" )
482
+ @ CacheConfig (keyGenerator = "classKeyGenerator" ,
483
+ cacheManager = "classCacheManager" ,
484
+ cacheResolver = "classCacheResolver" )
460
485
public @interface CacheConfigFoo {
461
486
}
462
487
488
+
463
489
@ Retention (RetentionPolicy .RUNTIME )
464
490
@ Target ({ ElementType .METHOD , ElementType .TYPE })
465
491
@ Cacheable (cacheNames = "shadowed cache name" , key = "shadowed key" )
@@ -475,6 +501,7 @@ public void multipleCacheConfig() {
475
501
String key () default "" ;
476
502
}
477
503
504
+
478
505
@ Retention (RetentionPolicy .RUNTIME )
479
506
@ Target ({ ElementType .METHOD , ElementType .TYPE })
480
507
@ CacheEvict (cacheNames = "shadowed cache name" , key = "shadowed key" )
@@ -490,4 +517,4 @@ public void multipleCacheConfig() {
490
517
String key () default "" ;
491
518
}
492
519
493
- }
520
+ }
0 commit comments