1818
1919import  static  org .hamcrest .CoreMatchers .is ;
2020import  static  org .junit .Assert .assertThat ;
21+ import  static  org .junit .Assert .assertTrue ;
2122
2223import  java .io .File ;
2324import  java .io .IOException ;
25+ import  java .lang .reflect .Field ;
2426import  java .util .ArrayList ;
25- import  java .util .List ;
27+ import  java .util .Map ;
2628
2729import  org .junit .Rule ;
2830import  org .junit .Test ;
2931import  org .junit .rules .TemporaryFolder ;
3032
3133import  org .springframework .integration .file .filters .FileListFilter ;
34+ import  org .springframework .integration .test .util .TestUtils ;
3235
3336/** 
3437 * @author Iwein Fuld 
38+  * @author Gary Russell 
3539 */ 
3640public  class  NioFileLockerTests  {
3741
@@ -48,13 +52,18 @@ public void create() throws IOException {
4852	};
4953
5054	@ Test 
51- 	public  void  fileListedByFirstFilter () throws  IOException  {
55+ 	public  void  fileListedByFirstFilter () throws  Exception  {
5256		NioFileLocker  filter  = new  NioFileLocker ();
5357		File  testFile  = new  File (workdir , "test0" );
5458		testFile .createNewFile ();
5559		assertThat (filter .filterFiles (workdir .listFiles ()).get (0 ), is (testFile ));
5660		filter .lock (testFile );
5761		assertThat (filter .filterFiles (workdir .listFiles ()).get (0 ), is (testFile ));
62+ 		filter .unlock (testFile );
63+ 		Field  channelCache  = FileChannelCache .class .getDeclaredField ("channelCache" );
64+ 		channelCache .setAccessible (true );
65+ 		assertTrue (((Map <?, ?>) channelCache .get (null )).isEmpty ());
66+ 		assertTrue (TestUtils .getPropertyValue (filter , "lockCache" , Map .class ).isEmpty ());
5867	}
5968
6069	@ Test 
@@ -65,7 +74,8 @@ public void fileNotListedWhenLockedByOtherFilter() throws IOException {
6574		testFile .createNewFile ();
6675		assertThat (filter1 .filterFiles (workdir .listFiles ()).get (0 ), is (testFile ));
6776		filter1 .lock (testFile );
68- 		assertThat (filter2 .filterFiles (workdir .listFiles ()), is ((List <File >) new  ArrayList <File >()));
77+ 		assertThat (filter2 .filterFiles (workdir .listFiles ()), is (new  ArrayList <File >()));
78+ 		filter1 .unlock (testFile );
6979	}
7080
7181}
0 commit comments