From b9e937d2476a86c22bf7ca838d745db93ff1b386 Mon Sep 17 00:00:00 2001
From: chebrard <chebrard@localhost>
Date: Tue, 13 Jan 2009 13:46:21 +0000
Subject: [PATCH] Fix 3711: Unable to remotely debug the server

---
 opendj-sdk/opends/src/server/org/opends/server/tools/configurator/CheckInstance.java |   44 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/configurator/CheckInstance.java b/opendj-sdk/opends/src/server/org/opends/server/tools/configurator/CheckInstance.java
similarity index 86%
rename from opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/configurator/CheckInstance.java
rename to opendj-sdk/opends/src/server/org/opends/server/tools/configurator/CheckInstance.java
index 250ccd7..e7d8640 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/configurator/CheckInstance.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/configurator/CheckInstance.java
@@ -22,12 +22,14 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Copyright 2006-2009 Sun Microsystems, Inc.
  */
-package org.opends.quicksetup.configurator;
+package org.opends.server.tools.configurator;
 
 import java.io.File;
 import java.io.IOException;
+import java.io.BufferedReader;
+import java.io.FileReader;
 import org.opends.quicksetup.ReturnCode;
 import org.opends.server.util.args.ArgumentException;
 import org.opends.server.util.args.ArgumentParser;
@@ -36,7 +38,6 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import org.opends.messages.Message;
-import org.opends.quicksetup.ApplicationException;
 import org.opends.quicksetup.Installation;
 import org.opends.server.util.args.BooleanArgument;
 import java.util.StringTokenizer;
@@ -47,6 +48,8 @@
 import static org.opends.server.tools.ToolConstants.*;
 import static org.opends.messages.QuickSetupMessages.*;
 
+import static org.opends.server.util.DynamicConstants.*;
+
 /**
  * This class is called by the configure command line to move the default
  * Directory Server instance.
@@ -217,18 +220,39 @@
 
     // Check version
     if (checkVersionArg.isPresent()) {
+        BuildInformation installBi =
+                  BuildInformation.fromBuildString(VERSION_NUMBER_STRING +
+                                                   "." + REVISION_NUMBER);
+      BuildInformation instanceBi = installBi;
+
       try {
-        BuildInformation installBi = installation.getBuildInformation();
-        BuildInformation instanceBi = installation.
-                getInstanceBuildInformation();
+        File bif = new File(installation.getConfigurationDirectory(),
+          Installation.BUILDINFO_RELATIVE_PATH);
+
+        if (bif.exists()) {
+          BufferedReader breader = new BufferedReader(new FileReader(bif));
+
+          // Read the first line and close the file.
+          String line;
+          try {
+            line = breader.readLine();
+            instanceBi = BuildInformation.fromBuildString(line);
+          } finally {
+            try {
+              breader.close();
+            } catch (Exception e) {
+            }
+          }
+        }
+      } catch (Exception e) {
+        LOG.log(Level.SEVERE, "error getting build information for " +
+                "current instance", e);
+      }
+
         if (!installBi.equals(instanceBi)) {
           System.err.println(ERR_CHECK_VERSION_NOT_MATCH.get());
           System.exit(VERSION_ERROR);
         }
-      } catch (ApplicationException ae) {
-        System.err.println(ae.getMessageObject());
-        System.exit(ReturnCode.APPLICATION_ERROR.getReturnCode());
-      }
     } else {
       LOG.log(Level.FINEST, "checkVersion not specified");
     }

--
Gitblit v1.10.0