#55 Auto downloading JDBC driver

snapshot
pending
Rob Manning
app (3)
5
2012-04-20
2011-08-31
Anonymous
No

This patch adds ability to auto download JDBC driver.
Available drivers are stored in xml file - available_drivers_list.xml. It should be in the HOME/.squirrel-sql folder.
Icon should be put into sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/resources/images folder.

Discussion

  • Rob Manning
    Rob Manning
    2011-09-02

    Initial comments :

    1. The available_drivers_list.xml file should be downloaded from a URL and not shipped with SQuirreL - this would allow us to make updates to the driver locations without forcing users to upgrade.

    2. e.printStackTrace() in the catch block is unacceptable in production (non-test code). You should declare or use an existing logger to log and error that includes a reasonable message and the original exception.

    3. We have a threadpool that is available from Application.getThreadPool() - use that instead of newing up your own thread such as the following code that you added:

    new Thread(runnable).start();

    4. For internationalizing SQuirreL, it is important to use the StringManager and I18NStrings.properties instead of hard-coding English strings that the user will see like the following line from your code:

    new JLabel("JDBC driver files", SwingConstants.RIGHT)

    5. Add a copyright notice to the top of every file you contribute that licenses it under an open source license (best to use LGPL to be consistent with the current licensing of SQuirreL)

    6. Do not "squelch" exceptions (meaning, catch but ignore) as the following code does for the ArrayIndexOutOfBoundsException :

    + } catch (FileNotFoundException e) {
    + e.printStackTrace();
    + } catch (ArrayIndexOutOfBoundsException e){
    + } finally {
    + decoder.close();
    + }

    I may have more comments, but that is enough for tonight :)

    Rob

     
  • Rob Manning
    Rob Manning
    2011-09-02

    • assigned_to: nobody --> manningr
    • milestone: --> snapshot
     
  • I'd really like to see this feature in the app. It'll make the instal process not only easier but also faster. Carry on please, please, please, ... :)

     
  • Gerd Wagner
    Gerd Wagner
    2012-04-20

    • status: open --> pending
     
  • Gerd Wagner
    Gerd Wagner
    2012-04-20

    Besides Robs points I think that downloads should be accessible in a similar way as driver web pages are.

    Nonetheless the patch contains basic functions that can be used to implement the feature.

    But since we won't integrate it as it is and right away I set in to pending.