Coverage Report - wjhk.jupload2.JUploadDaemon
 
Classes in this File Line Coverage Branch Coverage Complexity
JUploadDaemon
31 %
5/16
0 %
0/2
1,25
JUploadDaemon$1
0 %
0/3
N/A
1,25
 
 1  
 package wjhk.jupload2;
 2  
 
 3  
 import javax.swing.JFrame;
 4  
 
 5  
 import wjhk.jupload2.context.JUploadContext;
 6  
 import wjhk.jupload2.context.JUploadContextExecutable;
 7  
 import wjhk.jupload2.policies.UploadPolicy;
 8  
 
 9  
 /**
 10  
  * 
 11  
  * This class allows to use JUpload as a stand alone application. It can then be
 12  
  * used to manage upload, as do the applet. Or it can be used as a daemon. In
 13  
  * this case the applet 'paste' files to the daemon, and the daemon is
 14  
  * responsible for the upload. This is a good point when uploading big files:
 15  
  * the user can go on browsing, or close his/her browser. The daemon will keep
 16  
  * on uploading the file(s). <BR>
 17  
  * The configuration can be stored in the jar file, or in a property file
 18  
  * available on the net, through a URL. See the {link {@link #main(String[])}
 19  
  * method for details.<BR>
 20  
  * The daemon parameters are the same for the applet and the daemon. They are
 21  
  * described on the {@link UploadPolicy} page.
 22  
  * 
 23  
  * @author etienne_sf
 24  
  * 
 25  
  */
 26  0
 public class JUploadDaemon extends JFrame {
 27  
 
 28  
     /** A generated serialVersionUID */
 29  
     private static final long serialVersionUID = 1L;
 30  
 
 31  
     /**
 32  
      * The URL, that 'perhaps' was given to the main method. Used only to
 33  
      * transfer the value between the invokeLater and the actual execution of
 34  
      * this method. It's not very clean, but I guess there will never be two
 35  
      * execution of the daemon that will start in the same quarter of second
 36  
      * with a different URL.
 37  
      */
 38  1
     private static String propertiesURL = null;
 39  
 
 40  
     /**
 41  
      * The current execution context.
 42  
      */
 43  254
     transient JUploadContext juploadContext = null;
 44  
 
 45  
     /**
 46  
      * Default constructor.
 47  
      */
 48  
     public JUploadDaemon() {
 49  
         // TODO add a way to personalize the window title.
 50  254
         super("JUpload daemon");
 51  
 
 52  254
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 53  254
     }
 54  
 
 55  
     /**
 56  
      * Create the GUI and show it. For thread safety, this method should be
 57  
      * invoked from the event-dispatching thread.
 58  
      */
 59  
     private static void createAndShowGUI() {
 60  0
         JUploadDaemon juploadDaemon = new JUploadDaemon();
 61  0
         juploadDaemon.juploadContext = new JUploadContextExecutable(
 62  
                 juploadDaemon, propertiesURL);
 63  
 
 64  
         // Display the window.
 65  0
         juploadDaemon.pack();
 66  0
         juploadDaemon.setVisible(true);
 67  0
     }
 68  
 
 69  
     /**
 70  
      * The start of the application, when launched as a Stand Alone one. If an
 71  
      * argument is given, it must be a valid URL to the JUpload configuration
 72  
      * file. The daemon will load it as a property file. The allowed parameters
 73  
      * and values are the same as the applet parameters. These are indicated in
 74  
      * the {@link wjhk.jupload2.policies.UploadPolicy} page.<BR>
 75  
      * If this URL is not given, the /conf folder in the jar file must contain
 76  
      * the daemon property file.
 77  
      * 
 78  
      * @param args args[1] is optional, and may contain the URL pointing to the
 79  
      *            configuration page.
 80  
      */
 81  
     public static void main(String[] args) {
 82  0
         propertiesURL = null;
 83  0
         if (args.length > 0) {
 84  0
             propertiesURL = args[0];
 85  
         }
 86  0
         javax.swing.SwingUtilities.invokeLater(new Runnable() {
 87  
             public void run() {
 88  0
                 createAndShowGUI();
 89  0
             }
 90  
         });
 91  0
     }
 92  
 }