From cac1a9c7e0106bf228e2832aae5a62d41e05bef6 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Mon, 04 Jun 2007 14:20:42 +0000
Subject: [PATCH] Fix for issue 1761.

---
 opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java b/opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java
index ea57032..a6b6264 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/installer/webstart/WebStartInstaller.java
@@ -33,6 +33,8 @@
 import java.io.PrintStream;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import org.opends.quicksetup.ApplicationException;
 import org.opends.quicksetup.ProgressStep;
@@ -77,6 +79,9 @@
   private HashMap<InstallProgressStep, String> hmSummary =
       new HashMap<InstallProgressStep, String>();
 
+  private static final Logger LOG =
+    Logger.getLogger(WebStartInstaller.class.getName());
+
   /**
    * WebStartInstaller constructor.
    */
@@ -106,25 +111,36 @@
 
       InputStream in =
           getZipInputStream(getRatio(InstallProgressStep.EXTRACTING));
-      notifyListeners(getTaskSeparator());
 
       setStatus(InstallProgressStep.EXTRACTING);
+      notifyListeners(getTaskSeparator());
+
       createParentDirectoryIfRequired();
       extractZipFiles(in, getRatio(InstallProgressStep.EXTRACTING),
           getRatio(InstallProgressStep.CONFIGURING_SERVER));
+
+      try
+      {
+        in.close();
+      }
+      catch (Throwable t)
+      {
+        LOG.log(Level.INFO, "Error closing zip input stream: "+t, t);
+      }
+      setStatus(InstallProgressStep.CONFIGURING_SERVER);
       notifyListeners(getTaskSeparator());
 
+      // Write java home before calling Installation class.  The installation
+      // class does a call to start-ds to get information about the build.
+      writeJavaHome();
       setInstallation(new Installation(getUserData().getServerLocation()));
 
       setStatus(InstallProgressStep.CONFIGURING_SERVER);
       configureServer();
-
       createData();
 
       updateADS();
 
-      writeJavaHome();
-
       if (Utils.isWindows())
       {
           notifyListeners(getTaskSeparator());
@@ -277,7 +293,6 @@
           getMsg("error-zipinputstreamnull", new String[] {zipName}), null);
     }
 
-
     notifyListeners(getFormattedDone());
     return in;
   }

--
Gitblit v1.10.0