View Javadoc

1   package org.musicontroller.gui.importer;
2   
3   import java.io.InputStream;
4   
5   import org.apache.log4j.Logger;
6   import org.apache.tapestry.IRequestCycle;
7   import org.apache.tapestry.html.BasePage;
8   import org.apache.tapestry.request.IUploadFile;
9   import org.musicontroller.core.jobs.ImportJob;
10  import org.musicontroller.importer.Importer;
11  
12  /**
13   * The Import page enables the user to upload music files or music archives (zip-format). 
14   * @author Varienaja
15   * @version $Id: Import.java,v 1.1 2010/03/16 18:55:43 varienaja Exp $
16   */
17  public abstract class Import extends BasePage {
18  	public static final Logger log = Logger.getLogger(Import.class);
19  
20  	public abstract Importer getImporter();
21  	public abstract void setFeedback(String msg);
22  	public abstract IUploadFile getUploadFile();
23  
24  	/**
25  	 * Called when a user uploads a file. The file is handed over
26  	 * to the Importer, which will take care for further processing
27  	 * @param cycle The RequestCycle
28  	 */
29  	public void formSubmit(IRequestCycle cycle) {
30  		if (getUploadFile() != null) {
31  		    InputStream fis = getUploadFile().getStream();
32  		    String fileName = getUploadFile().getFileName();
33  		    
34  		    ImportJob.addData(fis,fileName);
35  		    /* TODO The inputstream is handed over to the ImportJob (UnpackJob better name?)
36  		     * It seems to work, although Tomcat does not throw away the uploaded file
37  		     * in it's tmp-directory anymore. (Do this manually?)
38  		     * IUploadFile.getFilePath() ?
39  		     */
40  		    setFeedback("File "+fileName+" uploaded succesfully.");
41  		}
42  	}	
43  	
44  }