mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

kenneth_suter
22.17.2007 cb215ff0726e5324de67226a04cde047bc6c2f06
Fixes problem with Windows uninstaller in which an attempt is made to delete JAR files for which it does not have permission.
2 files modified
40 ■■■■■ changed files
opends/src/quicksetup/org/opends/quicksetup/uninstaller/Uninstaller.java 6 ●●●● patch | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/util/Utils.java 34 ●●●●● patch | view | raw | blame | history
opends/src/quicksetup/org/opends/quicksetup/uninstaller/Uninstaller.java
@@ -868,8 +868,7 @@
  }
  private boolean equalsOrDescendant(File file, File directory) {
    return file.equals(directory) ||
            Utils.isDescendant(file.toString(), directory.toString());
    return file.equals(directory) || Utils.isDescendant(file, directory);
  }
  /**
@@ -882,7 +881,8 @@
    File quicksetupFile = installation.getQuicksetupJarFile();
    File openDSFile = installation.getOpenDSJarFile();
    File librariesFile = installation.getLibrariesDirectory();
    File activationFile = new File(librariesFile, "activation.jar");
    File aspectRuntimeFile = new File(librariesFile, "aspectjrt.jar");
    File uninstallBatFile = installation.getUninstallBatFile();
    File installationPath = installation.getRootDirectory();
opends/src/quicksetup/org/opends/quicksetup/util/Utils.java
@@ -205,40 +205,6 @@
   * @param descendant the descendant candidate path.
   * @param path the path.
   * @return <CODE>true</CODE> if the first provided path is under the second
   * path in the file system.
   */
  public static boolean isDescendant(String descendant, String path)
  {
    File f1;
    File f2;
    try
    {
      f1 = (new File(path)).getCanonicalFile();
    }
    catch (IOException ioe)
    {
      f1 = new File(path);
    }
    try
    {
      f2 = (new File(descendant)).getCanonicalFile();
    }
    catch (IOException ioe)
    {
      f2 = new File(descendant);
    }
    return isDescendant(f1, f2);
  }
  /**
   * Returns <CODE>true</CODE> if the first provided path is under the second
   * path in the file system.
   * @param descendant the descendant candidate path.
   * @param path the path.
   * @return <CODE>true</CODE> if the first provided path is under the second
   * path in the file system; <code>false</code> otherwise or if
   * either of the files are null
   */