From 2e08d2c0e9bede644be993ddaa28157c9f156c10 Mon Sep 17 00:00:00 2001
From: Violette Roche-Montane <violette.roche-montane@forgerock.com>
Date: Tue, 07 May 2013 13:50:59 +0000
Subject: [PATCH] svn merge https://svn.forgerock.org/opendj/trunk/opends@8851 https://svn.forgerock.org/opendj/branches/native-packaging@8851 .

---
 opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelLauncher.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelLauncher.java b/opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelLauncher.java
index 198e714..a3f1be8 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelLauncher.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelLauncher.java
@@ -30,6 +30,8 @@
 
 import static org.opends.messages.AdminToolMessages.*;
 import static org.opends.messages.ToolMessages.*;
+import static org.opends.server.util.ServerConstants.MAX_LINE_WIDTH;
+import static org.opends.server.util.StaticUtils.wrapText;
 
 import java.io.File;
 import java.io.PrintStream;
@@ -43,6 +45,8 @@
 import org.opends.messages.Message;
 import org.opends.quicksetup.ui.UIFactory;
 import org.opends.quicksetup.util.Utils;
+import org.opends.server.types.InitializationException;
+import org.opends.server.util.BuildVersion;
 import org.opends.server.util.DynamicConstants;
 import org.opends.server.util.StaticUtils;
 import org.opends.server.util.args.ArgumentException;
@@ -98,6 +102,24 @@
 
       System.exit(ErrorReturnCode.ERROR_PARSING_ARGS.getReturnCode());
     }
+
+    //  If we should just display usage or version information,
+    // then print it and exit.
+    if (argParser.usageOrVersionDisplayed()) {
+      System.exit(ErrorReturnCode.SUCCESSFUL_NOP.getReturnCode());
+    }
+
+    // Checks the version - if upgrade required, the tool is unusable
+    try
+    {
+      BuildVersion.checkVersionMismatch();
+    }
+    catch (InitializationException e)
+    {
+      System.err.println(wrapText(e.getMessage(), MAX_LINE_WIDTH));
+      System.exit(ErrorReturnCode.ERROR_UNEXPECTED.getReturnCode());
+    }
+
     if (!argParser.usageOrVersionDisplayed())
     {
       int exitCode = launchControlPanel(args);

--
Gitblit v1.10.0