View Javadoc

1   /*
2    * Created on 28-Mar-2005
3    */
4   package com.webstersmalley.mediacollection.controller;
5   
6   import java.io.File;
7   import java.util.HashSet;
8   import java.util.Iterator;
9   import java.util.Set;
10  
11  import com.webstersmalley.mediacollection.model.SimpleMediaCollectionBean;
12  
13  /**
14   */
15  public class DirectoryParser
16  {
17  	private String path;
18  	private String collectionName;
19  	private String formatName;
20  	
21  	public DirectoryParser(String path, String collectionName, String formatName)
22  	{
23  		this.path = path;
24  		this.collectionName = collectionName;
25  		this.formatName = formatName;
26  	}
27  	
28  	private void parse(File folder, Set beans)
29  	{
30  		String artistName = folder.getName();
31  		if (folder.isDirectory())
32  		{
33  			File[] directories = folder.listFiles();
34  			if (directories == null)
35  			{
36  				return;
37  			}
38  			for (int i = 0; i < directories.length; i++)
39  			{
40  				if (directories[i].isDirectory())
41  				{
42  					SimpleMediaCollectionBean bean = new SimpleMediaCollectionBean();
43  					bean.setFormat(formatName);
44  					bean.setCollection(collectionName);
45  					bean.setArtist(artistName);
46  					bean.setName(directories[i].getName());
47  					beans.add(bean);
48  				}
49  			}
50  		}
51  		
52  	}
53  	
54  	public Set parse()
55  	{
56  		Set beans = new HashSet();
57  		
58  		File root = new File(path);
59  		if (root.isDirectory())
60  		{
61  			File[] directories = root.listFiles();
62  			
63  			for (int i = 0; i < directories.length; i++)
64  			{
65  				if (directories[i].isDirectory())
66  				{
67  					parse(directories[i], beans);
68  				}
69  			}
70  		}
71  		
72  		return beans;
73  	}
74  	
75  	public static void main(String[] args) 
76  	{
77  		DirectoryParser parser = new DirectoryParser("c:/to burn/MP3 - 55/From laptop", "test", "mp3");
78  		Set beans = parser.parse();
79  		Iterator it = beans.iterator();
80  		while (it.hasNext())
81  		{
82  			System.out.println(it.next());
83  
84  		}
85  	}
86  }