Class Installer


  • public class Installer
    extends Object
    Really simple installer. This basically just copies stuff that has been set up in the create_installer.sh script, so chances are excellent if you need to change the installer, you should be looking there.

    This gets copied to your jar and will just copy everything in the jar to a given directory (including sub directories). So make the tree you want, jar it up with this class and run it.

    Caveat for changing this class

    This is a completely standalone class -- no dependencies but plain Old Java -- because otherwise you have to manage dependencies (might involve writing your own class loader!) for this installer program which can get very hard. The idea is that this is a lean, single class. Even inheritance doesn't work.

    Created by Jeff Gaynor
    on 3/30/20 at 7:23 AM

    • Constructor Detail

      • Installer

        public Installer()
    • Method Detail

      • trace

        protected void trace​(String message)
      • isDebugOn

        public boolean isDebugOn()
      • setDebugOn

        public void setDebugOn​(boolean debugOn)
      • main

        public static void main​(String[] args)
      • uninstallOA4MP

        protected void uninstallOA4MP​(File rootDir)
      • getUserHome

        protected File getUserHome()
      • checkUpgradeDir

        protected boolean checkUpgradeDir​(File dir)
        For upgrades. If the directory does not exist, create it. Return false if the directory does not exist.
        Parameters:
        dir -
        Returns:
      • nukeDir

        protected void nukeDir​(File dir)
        Remove the contents of the directory. At the end of this, the directory is empty. It does not delete the directory, however
        Parameters:
        dir -
      • upgradeOA4MP

        protected void upgradeOA4MP​(File rootDir)
                             throws Exception
        Overwrites (but does not delete) files and will make more complex paths. This allows for upgrading much older QDL installs that might have different or missing (e.g. vim support) directories.
        Throws:
        Exception
      • cp

        protected void cp​(String resourceName,
                          File target)
                   throws IOException
        gets the resourceName as a stream and copies it to the physical target file.
        Parameters:
        resourceName -
        target -
        Throws:
        IOException
      • doReplace

        protected String doReplace​(String currentLine)
        Does all of the template replacements in a line.
        Parameters:
        currentLine -
        Returns:
      • checkRootDir

        protected File checkRootDir​(File rootDir,
                                    boolean upgrade)
                             throws Exception
        Prompts for the right directory, if missing, and then it will check if various directories exist. If this returns false, then the install cannot proceed, because, e.g., they request an upgrade but no base install exists.
        Returns:
        Throws:
        Exception
      • say

        protected void say​(String x)
      • setupArgMap

        protected void setupArgMap​(String[] args)
      • hasPort

        protected boolean hasPort()
      • getHost

        protected String getHost()
      • getPort

        protected int getPort()
      • is

        public Boolean is​(String key)
        Checks that the key is a boolean
        Parameters:
        key -
        Returns:
      • getRootDir

        public File getRootDir()
      • isInstall

        public boolean isInstall()
      • isRemove

        public boolean isRemove()
      • isUpgrade

        public boolean isUpgrade()
      • isShowHelp

        public boolean isShowHelp()
      • isList

        public boolean isList()
      • hasRootDir

        public boolean hasRootDir()
      • getOperation

        public String getOperation()
      • isAll

        public boolean isAll()
      • isOA4MP

        public boolean isOA4MP()