Class ClientUpdateUtilities

java.lang.Object
org.tentackle.update.ClientUpdateUtilities

@Service(ClientUpdateUtilities.class) public class ClientUpdateUtilities extends Object
Utility methods to implement the application update.
  • Constructor Details

    • ClientUpdateUtilities

      public ClientUpdateUtilities()
      Creates a client update utilities instance.
  • Method Details

    • getInstance

      public static ClientUpdateUtilities getInstance()
      The singleton.
      Returns:
      the singleton
    • isUpdatableJlinkDirectory

      public boolean isUpdatableJlinkDirectory(File dir)
      Checks whether given directory an updatable jlink image.
      Parameters:
      dir - the directory to check
      Returns:
      true if updatable jlink structure found
    • isUpdateableJlinkApplication

      public boolean isUpdateableJlinkApplication()
      Checks whether the application is running in an updatable jlink directory.
      Returns:
      true if current working directory contains an updatable jlink image
    • isUpdatableJPackageApplication

      public boolean isUpdatableJPackageApplication()
      Checks whether
      Returns:
      true if jlink structure and updatable
    • determineJPackageRoot

      public File determineJPackageRoot()
      Determines the jpackage's root installation directory.
      Returns:
      the installation directory, null if not a jpackage installation
    • determineInstallationType

      public InstallationType determineInstallationType()
      Determines the installation type of the running application.
      Returns:
      the installation type, null if not an updatable installation
    • getUpdateService

      public UpdateService getUpdateService(String serviceName, RMIClientSocketFactory csf)
      Gets the remote update service object.
      Parameters:
      serviceName - the service name, for ex. "rmi://localhost/Update:33002"
      csf - the optional socket factory, null if default
      Returns:
      the update service
    • getMessageDigest

      public MessageDigest getMessageDigest() throws NoSuchAlgorithmException
      Gets the message digest to create the checksum of the downloaded zip file.
      Returns:
      the message digest
      Throws:
      NoSuchAlgorithmException - if no such digest
    • downloadZip

      public File downloadZip(UpdateInfo updateInfo, File updateDir, Consumer<Double> progressConsumer)
      Downloads the zip-file.
      Parameters:
      updateInfo - the update info
      updateDir - the directory to create for the update process
      progressConsumer - the consumer receiving the progress from 0.0 to 1.0, null if none
      Returns:
      the downloaded ZIP file in the created update directory