Class InstallerSupport

java.lang.Object
net.shibboleth.idp.installer.InstallerSupport

public final class InstallerSupport
extends Object
General common names and helper functions for the Installer. This is not intended for general use.
  • Field Summary

    Fields
    Modifier and Type Field Description
    private static org.apache.tools.ant.Project ANT_PROJECT
    A psuedo ant-project as parent.
    private static org.slf4j.Logger log
    Log.
    static String PREVIOUS_VERSION_NAME
    The name of the file and the property with the previous installation value.
    static String VERSION_NAME
    The name of the file and the property with the current V4 installation value.
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    private InstallerSupport()
    Private Constructor.
  • Method Summary

    Modifier and Type Method Description
    static void copyDirIfNotPresent​(Path from, Path to)
    Populate a with all the missing files.
    static void createDirectory​(Path dir)
    Method to create a directory and log same.
    static org.apache.tools.ant.taskdefs.Jar createJarTask​(Path baseDir, Path destFile)
    Return a Jar task.
    static void deleteTree​(Path where)
    Delete the tree.
    static void deleteTree​(Path where, String excludes)
    Delete the tree.
    static org.apache.tools.ant.taskdefs.Copy getCopyTask​(Path from, Path to)
    Copy files.
    static void setGroup​(Path directory, String group, String includes)
    On Non Windows sets the files (only) group.
    static void setMode​(Path directory, String permissions, String includes)
    On Non Windows sets the file mode.
    static void setReadOnly​(Path path, boolean readOnly)
    On Windows sets the readOnly attribute on a file or recursively on a directory.
    static void setReadOnlyDir​(Path directory, boolean readOnly)
    On Windows sets the readOnly attribute recursively on a directory.
    private static void setReadOnlyFile​(Path file, boolean readOnly)
    On Windows sets the readOnly attribute on a file.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • VERSION_NAME

      public static final String VERSION_NAME
      The name of the file and the property with the current V4 installation value.
      See Also:
      Constant Field Values
    • PREVIOUS_VERSION_NAME

      public static final String PREVIOUS_VERSION_NAME
      The name of the file and the property with the previous installation value.
      See Also:
      Constant Field Values
    • ANT_PROJECT

      private static final org.apache.tools.ant.Project ANT_PROJECT
      A psuedo ant-project as parent.
    • log

      private static org.slf4j.Logger log
      Log.
  • Constructor Details

    • InstallerSupport

      private InstallerSupport()
      Private Constructor.
  • Method Details

    • createDirectory

      public static void createDirectory​(Path dir) throws org.apache.tools.ant.BuildException
      Method to create a directory and log same.
      Parameters:
      dir - what to create
      Throws:
      org.apache.tools.ant.BuildException - if badness occurs
    • getCopyTask

      public static org.apache.tools.ant.taskdefs.Copy getCopyTask​(Path from, Path to)
      Copy files. We use ant rather than Files.copy(Path, Path, java.nio.file.CopyOption...) because the latter has issues with the Windows ReadOnly Attribute, and the former is tried and tested technology.
      Parameters:
      from - where to copy from
      to - where to copy to
      Returns:
      a partially populated Copy task
    • copyDirIfNotPresent

      public static void copyDirIfNotPresent​(Path from, Path to) throws org.apache.tools.ant.BuildException
      Populate a with all the missing files.
      Parameters:
      from - where to go from
      to - where to go to
      Throws:
      org.apache.tools.ant.BuildException - if badness occurrs Based on (for instance the following ant <!-- flows: copy from dist if not already present --> <mkdir dir="${idp.target.dir}/flows" /> <copy todir="${idp.target.dir}/flows"> <fileset dir="${idp.target.dir}/dist/flows" includes="**\/*"> <present present="srconly" targetdir="${idp.target.dir}/flows" /> </fileset > </copy>
    • setReadOnlyFile

      private static void setReadOnlyFile​(Path file, boolean readOnly) throws org.apache.tools.ant.BuildException
      On Windows sets the readOnly attribute on a file.
      Parameters:
      file - where
      readOnly - what to set it as
      Throws:
      org.apache.tools.ant.BuildException - if badness occurs
    • setReadOnlyDir

      public static void setReadOnlyDir​(Path directory, boolean readOnly) throws org.apache.tools.ant.BuildException
      On Windows sets the readOnly attribute recursively on a directory.
      Parameters:
      directory - where
      readOnly - what to set it as
      Throws:
      org.apache.tools.ant.BuildException - if badness occurs
    • setReadOnly

      public static void setReadOnly​(Path path, boolean readOnly) throws org.apache.tools.ant.BuildException
      On Windows sets the readOnly attribute on a file or recursively on a directory.
      Parameters:
      path - where
      readOnly - what to set it as
      Throws:
      org.apache.tools.ant.BuildException - if badness occurs
    • setMode

      public static void setMode​(Path directory, String permissions, String includes) throws org.apache.tools.ant.BuildException
      On Non Windows sets the file mode.
      Parameters:
      directory - where
      permissions - what to set
      includes - what to include
      Throws:
      org.apache.tools.ant.BuildException - if badness occurs
    • setGroup

      public static void setGroup​(Path directory, String group, String includes) throws org.apache.tools.ant.BuildException
      On Non Windows sets the files (only) group.
      Parameters:
      directory - where
      group - what to set
      includes - what to include
      Throws:
      org.apache.tools.ant.BuildException - if badness occurs
    • deleteTree

      public static void deleteTree​(Path where) throws org.apache.tools.ant.BuildException
      Delete the tree.
      Parameters:
      where - where
      Throws:
      org.apache.tools.ant.BuildException - if badness occurs
    • deleteTree

      public static void deleteTree​(Path where, String excludes) throws org.apache.tools.ant.BuildException
      Delete the tree.
      Parameters:
      where - where
      excludes - wildcards to exclude
      Throws:
      org.apache.tools.ant.BuildException - if badness occurs
    • createJarTask

      public static org.apache.tools.ant.taskdefs.Jar createJarTask​(Path baseDir, Path destFile)
      Return a Jar task.
      Parameters:
      baseDir - where from
      destFile - where to
      Returns:
      the jar task