From c89f3bf8b7afbdc7cd45a1c8dc6c1d132931dacd 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.

---
 opends/src/server/org/opends/server/util/args/ArgumentParser.java |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/opends/src/server/org/opends/server/util/args/ArgumentParser.java b/opends/src/server/org/opends/server/util/args/ArgumentParser.java
index e39709a..90654ca 100644
--- a/opends/src/server/org/opends/server/util/args/ArgumentParser.java
+++ b/opends/src/server/org/opends/server/util/args/ArgumentParser.java
@@ -93,6 +93,9 @@
   // Indicates whether the usage or version information has been displayed.
   private boolean usageOrVersionDisplayed;
 
+  // Indicates whether the version argument was provided.
+  private boolean versionPresent;
+
   // The set of arguments defined for this parser, referenced by short ID.
   private HashMap<Character,Argument> shortIDMap;
 
@@ -198,6 +201,7 @@
     longIDMap               = new HashMap<String,Argument>();
     allowsTrailingArguments = false;
     usageOrVersionDisplayed = false;
+    versionPresent         = false;
     trailingArgsDisplayName = null;
     maxTrailingArguments    = 0;
     minTrailingArguments    = 0;
@@ -265,6 +269,7 @@
     longIDMap         = new HashMap<String,Argument>();
     trailingArguments = new ArrayList<String>();
     usageOrVersionDisplayed = false;
+    versionPresent   = false;
     rawArguments      = null;
     usageArgument     = null;
     usageOutputStream = System.out;
@@ -881,6 +886,7 @@
             // "--version" will always be interpreted as requesting version
             // information.
             usageOrVersionDisplayed = true;
+            versionPresent = true;
             try
             {
               DirectoryServer.printVersion(usageOutputStream);
@@ -1007,6 +1013,7 @@
             // version information except if it's already defined (e.g in
             // ldap tools).
             usageOrVersionDisplayed = true ;
+            versionPresent = true;
             try
             {
               DirectoryServer.printVersion(usageOutputStream);
@@ -1763,5 +1770,31 @@
     return general;
   }
 
+  /**
+   * 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()
+  {
+    return versionPresent;
+  }
 }
 

--
Gitblit v1.10.0