package tests; import java.io.File; import java.io.FileFilter; import java.util.List; import java.util.concurrent.Executor; import java.util.concurrent.Executors; import songstreams.SongStream; import library.Library; import library.Scanner; import library.SupportedFilesFilter; import library.conditions.AbstractSongCondition; import library.conditions.GenreCondition; import library.interfaces.ScanListener; public class TestScanner implements ScanListener { private boolean scanFinished; private FileFilter filter; private Library library; private File directory; public void init() { scanFinished = false; filter = new SupportedFilesFilter(); try { library = new Library(new File(System.getProperty("user.dir") + "/music")); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } directory = new File("/home/jokke/.gvfs/media auf 192.168.2.102/Music/iTunes/iTunes Media/Music"); } public void testScan() { System.out.println("Scan Results:"); Scanner scanner = new Scanner(this, directory, filter, library); Executor executor = Executors.newSingleThreadExecutor(); executor.execute(scanner); while(!scanFinished) try { Thread.sleep(5000); //testQuery(); //testDatabase(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(); } public void testQuery() { try { List<SongStream> songs = library.getSongsByCondition(new GenreCondition("Drum", AbstractSongCondition.SUBSTRING_MATCH_MODE)); for(SongStream song : songs) System.err.println(song.toString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void testDatabase() { try { List<SongStream> songs = library.getAllSongs(); for(SongStream song : songs) System.err.println(song.toString()); } catch (Exception e) { e.printStackTrace(); } } @Override public void scanFinished() { scanFinished = true; } @Override public void songFound(SongStream song) { System.out.println(song.toString()); } public static void main(String[] args) { TestScanner scanner = new TestScanner(); scanner.init(); scanner.testScan(); scanner.testQuery(); } }