public void obtainFileName() {
        cancelOp = false;
        
        FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel Format (CSV)", "csv");
        if(chooser == null) {
            chooser = new JFileChooser();
            chooser.setDialogTitle("Saving Database");
            chooser.setFileFilter(filter);
            chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
            chooser.setSelectedFile( new File("database.csv") );
            chooser.setAcceptAllFileFilterUsed(false);                      
        }
        
        int val = chooser.showSaveDialog((Component)null);
        
        if(val == JFileChooser.APPROVE_OPTION) {
            csvFile = chooser.getSelectedFile();
            boolean fixed = fixExtension(csvFile, "csv");
            
            if(!fixed && !cancelOp) {
                JOptionPane.showMessageDialog(null,"File Name Specified Not Supported",
                "File Name Error", JOptionPane.ERROR_MESSAGE);
                obtainFileName();
                return;
            }
            
            if(!cancelOp) {
                //storeTableAsCSV(csvFile, source);
                new ProgressDialog(source, csvFile).setVisible(true);
            }           
        }
    }