From ceb501a059a03f767f850c93922be21fcf4088d6 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 13 Nov 2007 17:06:35 +0000
Subject: [PATCH] Fix for issue 2582.

---
 opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java b/opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
index b28c9bc..706896f 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/util/args/SubCommandArgumentParser.java
@@ -118,6 +118,9 @@
   // The subcommand requested by the user as part of the command-line arguments.
   private SubCommand subCommand;
 
+  //Indicates whether the version argument was provided.
+  private boolean versionPresent;
+
   private final static String INDENT = "    ";
   private final static int MAX_LENGTH = SetupUtils.isWindows() ? 79 : 80;
 
@@ -810,6 +813,7 @@
               // information.
               try
               {
+                versionPresent = true;
                 DirectoryServer.printVersion(usageOutputStream);
                 usageOrVersionDisplayed = true ;
               } catch (Exception e) {}
@@ -847,6 +851,7 @@
                 // information.
                 try
                 {
+                  versionPresent = true;
                   DirectoryServer.printVersion(usageOutputStream);
                   usageOrVersionDisplayed = true ;
                 } catch (Exception e) {}
@@ -990,6 +995,7 @@
               if (dashVAccepted)
               {
                 usageOrVersionDisplayed = true;
+                versionPresent = true;
                 try
                 {
                   DirectoryServer.printVersion(usageOutputStream);
@@ -1057,6 +1063,7 @@
                 if (dashVAccepted)
                 {
                   usageOrVersionDisplayed = true;
+                  versionPresent = true;
                   try
                   {
                     DirectoryServer.printVersion(usageOutputStream);
@@ -1947,5 +1954,41 @@
       }
     }
   }
+
+  /**
+   * Returns whether the usage argument was provided or not.  This method
+   * should be called after a call to parseArguments.
+   * @return <CODE>true</CODE> if the usage argument was provided and
+   * <CODE>false</CODE> otherwise.
+   */
+  public boolean isUsageArgumentPresent()
+  {
+    boolean isUsageArgumentPresent = false;
+    if (usageArgument != null)
+    {
+      isUsageArgumentPresent = usageArgument.isPresent();
+    }
+    return isUsageArgumentPresent;
+  }
+
+  /**
+   * Returns whether the version argument was provided or not.  This method
+   * should be called after a call to parseArguments.
+   * @return <CODE>true</CODE> if the version argument was provided and
+   * <CODE>false</CODE> otherwise.
+   */
+  public boolean isVersionArgumentPresent()
+  {
+    boolean isPresent;
+    if (!super.isVersionArgumentPresent())
+    {
+      isPresent = versionPresent;
+    }
+    else
+    {
+      isPresent = true;
+    }
+    return isPresent;
+  }
 }
 

--
Gitblit v1.10.0