From cb3a76a157589591106fdc50895a1d987ca25483 Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Mon, 23 Apr 2007 22:07:50 +0000
Subject: [PATCH] enough code to get the upgrader to perform a successful upgrade in graphical UI mode on a sunny day

---
 opends/src/quicksetup/org/opends/quicksetup/upgrader/RemoteBuildManager.java |   39 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/opends/src/quicksetup/org/opends/quicksetup/upgrader/RemoteBuildManager.java b/opends/src/quicksetup/org/opends/quicksetup/upgrader/RemoteBuildManager.java
index ca6ea19..15ea7ae 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/upgrader/RemoteBuildManager.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/upgrader/RemoteBuildManager.java
@@ -28,6 +28,8 @@
 package org.opends.quicksetup.upgrader;
 
 import org.opends.quicksetup.Application;
+import org.opends.quicksetup.util.Utils;
+import org.opends.server.util.DynamicConstants;
 
 import javax.swing.*;
 import java.net.URL;
@@ -123,9 +125,29 @@
     while (m.find()) {
       buildIds.add(dailyBuildsPage.substring(m.start(), m.end()));
     }
-    for (String buildId : buildIds) {
-      buildList.add(new Build(url, buildId));
-    }
+
+//    for (String buildId : buildIds) {
+//      // TODO:  this needs to be changed
+//      URL buildUrl =
+//              new URL(url, "daily-builds/" +
+//                      buildId +
+//                      "/OpenDS/build/package/OpenDS-0.1.zip");
+//      buildList.add(new Build(url, buildId));
+//    }
+
+    // This is encoded in build.xml.  We might need a more dynamic
+    // way of getting this information.
+    StringBuilder latestContextSb = new StringBuilder()
+            .append("daily-builds/latest/OpenDS/build/package/OpenDS-")
+            .append(DynamicConstants.MAJOR_VERSION)
+            .append(".")
+            .append(DynamicConstants.MINOR_VERSION)
+            .append(DynamicConstants.VERSION_QUALIFIER)
+            .append(".zip");
+    Build latest = new Build(new URL(url, latestContextSb.toString()),
+                            "Latest");
+    buildList.add(latest);
+    Collections.sort(buildList);
     return buildList;
   }
 
@@ -188,6 +210,17 @@
     }
     InputStream is = null;
     FileOutputStream fos = null;
+
+    // If the destination already exists blow it away, then
+    // create the new file.
+    if (destination.exists()) {
+      if (!destination.delete()) {
+        throw new IOException("Could not overwrite existing file " +
+                Utils.getPath(destination));
+      }
+    }
+    Utils.createFile(destination);
+
     try {
       is = conn.getInputStream();
       fos = new FileOutputStream(destination);

--
Gitblit v1.10.0