[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jakarta-commons-dev
Subject:    [commons-lang] branch master updated: [LANG-1508] Add org.apache.commons.lang3.SystemUtils.getUserNa
From:       ggregory () apache ! org
Date:       2019-12-31 14:07:18
Message-ID: 157780123823.27847.11958545173970901973 () gitbox ! apache ! org
[Download RAW message or body]

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git


The following commit(s) were added to refs/heads/master by this push:
     new b46d417  [LANG-1508] Add org.apache.commons.lang3.SystemUtils.getUserName().
b46d417 is described below

commit b46d417ef61b69f2e4562e596d55466907d6933d
Author: Gary Gregory <garydgregory@gmail.com>
AuthorDate: Tue Dec 31 09:07:14 2019 -0500

    [LANG-1508] Add org.apache.commons.lang3.SystemUtils.getUserName().
---
 src/changes/changes.xml                            |  1 +
 .../java/org/apache/commons/lang3/SystemUtils.java | 38 +++++++++++++++++++++-
 .../org/apache/commons/lang3/SystemUtilsTest.java  | 10 ++++++
 3 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d403fbb..d311e52 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -90,6 +90,7 @@ The <action> type attribute can be add,update,fix,remove.
     <action issue="LANG-1505" type="add" dev="ggregory" due-to="Gary Gregory">Add \
                StopWatch convenience APIs to format times and create a simple \
                instance.</action>
     <action issue="LANG-1506" type="add" dev="ggregory" due-to="Gary Gregory">Allow \
a StopWatch to carry an optional message.</action>  <action issue="LANG-1507" \
type="add" dev="ggregory" due-to="Sam Kruglov, Mark Dacek, Marc Magon, Pascal \
Schumacher, Rob Tompkins, Bruno P. Kinoshita, Amey Jadiye, Gary Gregory">Add \
ComparableUtils #398.</action> +    <action issue="LANG-1508" type="add" \
dev="ggregory" due-to="Gary Gregory">Add \
org.apache.commons.lang3.SystemUtils.getUserName().</action>  </release>
 
   <release version="3.9" date="2019-04-09" description="New features and bug fixes. \
                Requires Java 8, supports Java 9, 10, 11.">
diff --git a/src/main/java/org/apache/commons/lang3/SystemUtils.java \
b/src/main/java/org/apache/commons/lang3/SystemUtils.java index a954223..7d5c2cc \
                100644
--- a/src/main/java/org/apache/commons/lang3/SystemUtils.java
+++ b/src/main/java/org/apache/commons/lang3/SystemUtils.java
@@ -49,6 +49,11 @@ public class SystemUtils {
     private static final String USER_HOME_KEY = "user.home";
 
     /**
+     * The System property key for the user name.
+     */
+    private static final String USER_NAME_KEY = "user.name";
+
+    /**
      * The System property key for the user directory.
      */
     private static final String USER_DIR_KEY = "user.dir";
@@ -837,7 +842,7 @@ public class SystemUtils {
      *
      * @since Java 1.1
      */
-    public static final String USER_NAME = getSystemProperty("user.name");
+    public static final String USER_NAME = getSystemProperty(USER_NAME_KEY);
 
     /**
      * <p>
@@ -1688,6 +1693,37 @@ public class SystemUtils {
     }
 
     /**
+     * <p>
+     * Gets the user name.
+     * </p>
+     *
+     * @return a name
+     * @throws SecurityException if a security manager exists and its {@code \
checkPropertyAccess} method doesn't allow +     * access to the specified system \
property. +     * @see System#getProperty(String)
+     * @since 3.10
+     */
+    public static String getUserName() {
+        return System.getProperty(USER_NAME_KEY);
+    }
+
+    /**
+     * <p>
+     * Gets the user name.
+     * </p>
+     * 
+     * @param defaultValue A default value.
+     * @return a name
+     * @throws SecurityException if a security manager exists and its {@code \
checkPropertyAccess} method doesn't allow +     * access to the specified system \
property. +     * @see System#getProperty(String)
+     * @since 3.10
+     */
+    public static String getUserName(final String defaultValue) {
+        return System.getProperty(USER_NAME_KEY, defaultValue);
+    }
+
+    /**
      * Returns whether the {@link #JAVA_AWT_HEADLESS} value is {@code true}.
      *
      * @return {@code true} if {@code JAVA_AWT_HEADLESS} is {@code "true"}, {@code \
                false} otherwise.
diff --git a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java \
b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java index d050532..c39ebd6 \
                100644
--- a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java
@@ -126,6 +126,16 @@ public class SystemUtilsTest {
         assertTrue(dir.exists());
     }
 
+    /**
+     * Assumes no security manager exists.
+     */
+    @Test
+    public void testGetUserName() {
+        assertEquals(System.getProperty("user.name"), SystemUtils.getUserName());
+        // Don't overwrite the system property in this test in case something goes \
awfully wrong. +        assertEquals(System.getProperty("user.name", "foo"), \
SystemUtils.getUserName("foo")); +    }
+
     @Test
     @SuppressWarnings("deprecation")
     public void testIS_JAVA() {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic