From 3dc11b67ae37eefede1c22d41907eb52e35438b4 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Tue, 5 Feb 2013 08:56:55 +0000 Subject: [PATCH] BIS-272: Installer assumes update only if installation path folder exists and contains 'bin' and 'servers'. SVN: 28292 --- .../izpack/GlobalInstallationContext.java | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/GlobalInstallationContext.java b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/GlobalInstallationContext.java index 6241839e7f7..b98debcf604 100644 --- a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/GlobalInstallationContext.java +++ b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/GlobalInstallationContext.java @@ -79,8 +79,8 @@ public class GlobalInstallationContext { String installPath = data.getInstallPath(); installDir = new File(installPath); - isFirstTimeInstallation = (installDir.exists() == false); - isUpdateInstallation = installDir.exists(); + isUpdateInstallation = installationExists(); + isFirstTimeInstallation = isUpdateInstallation == false; String postgresBinPath = ""; if (isFirstTimeInstallation == false) @@ -99,6 +99,33 @@ public class GlobalInstallationContext } } + private static boolean installationExists() + { + if (installDir.exists() == false) + { + return false; + } + File[] files = installDir.listFiles(); + boolean binExists = false; + boolean serversExists = false; + if (files != null) + { + for (File file : files) + { + String fileName = file.getName(); + if (fileName.equals("bin")) + { + binExists = true; + } + if (fileName.equals("servers")) + { + serversExists = true; + } + } + } + return binExists && serversExists; + } + /** * Return the data directory chosen for this installation. */ -- GitLab