Class Updater


  • @PublicAPI
    public class Updater
    extends Object
    Class for upgrading JChem database structure. Usage example:
     String message = "";
     ProgressWriter pw = ...;
     Updater ud = new Updater(conh);
     Updater.UpdateInfo ui = null;
     while ((ui = ud.getNextUpdateInfo()) != null) {
         if (displayMessage(ui)) {
            System.out.println("\n" + ui.processingMessage + "\n");
              if (ui.isProgressMonitoringSupported) {
                message = ud.performCurrentUpdate(pw);
            } else {
                message = ud.performCurrentUpdate();
            }
            System.out.println(message);
        } else if (ui.isOperationRequired) {
              // stopping, since further updates may depend on this one
              break;
        }
    }
     
    Since:
    JChem 3.2
    • Constructor Detail

      • Updater

        public Updater​(ConnectionHandler conh)
        Constructor.
        Parameters:
        conh - ConnectionHandler with live connection
        Since:
        JChem 3.2
      • Updater

        public Updater​(ConnectionHandler conh,
                       List<String> tablesToConsider)
        Similar to Updater(ConnectionHandler), but adds the ability for the user to specify a list of tables to which to restrict the operation of this Updater.
        Parameters:
        conh - ConnectionHandler with live connection
        tablesToConsider - include only these tables in the update.
        Since:
        JChem 3.2
    • Method Detail

      • isUpdateNeededForTable

        public boolean isUpdateNeededForTable​(String tableName)
                                       throws SQLException
        Check whether structural upgrade is necessary for a particular table.
        Parameters:
        tableName - Name of the structure table.
        Returns:
        True, if upgrade is needed.
        Throws:
        SQLException - if an error occurs
      • performCurrentUpdate

        public String performCurrentUpdate​(ProgressWriter pw)
                                    throws SQLException
        Performs the current update operation with progress monitoring where supported.
        Parameters:
        pw - the progress writer
        Returns:
        a status message
        Throws:
        SQLException - if an error occurs
        Since:
        JChem 5.1.2
        See Also:
        getNextUpdateInfo()