On Sun, Apr 22, 2018, 03:55 sebb <seb...@gmail.com> wrote: > On 20 April 2018 at 15:55, <ggreg...@apache.org> wrote: > > Repository: commons-lang > > Updated Branches: > > refs/heads/master 8e3ec1722 -> efba54d35 > > > > > > [LANG-1393] Add API SystemUtils.String getEnvironmentVariable(final > > String name, final String defaultValue). > > > > Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo > > Commit: > http://git-wip-us.apache.org/repos/asf/commons-lang/commit/efba54d3 > > Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/efba54d3 > > Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/efba54d3 > > > > Branch: refs/heads/master > > Commit: efba54d35fa094de5e580b200a8607bfc7bd5a7a > > Parents: 8e3ec17 > > Author: Gary Gregory <garydgreg...@gmail.com> > > Authored: Fri Apr 20 08:55:32 2018 -0600 > > Committer: Gary Gregory <garydgreg...@gmail.com> > > Committed: Fri Apr 20 08:55:32 2018 -0600 > > > > ---------------------------------------------------------------------- > > src/changes/changes.xml | 1 + > > .../org/apache/commons/lang3/SystemUtils.java | 27 > ++++++++++++++++++++ > > .../apache/commons/lang3/SystemUtilsTest.java | 18 +++++++++++++ > > 3 files changed, 46 insertions(+) > > ---------------------------------------------------------------------- > > > > > > > http://git-wip-us.apache.org/repos/asf/commons-lang/blob/efba54d3/src/changes/changes.xml > > ---------------------------------------------------------------------- > > diff --git a/src/changes/changes.xml b/src/changes/changes.xml > > index a4cbbf3..4ec1984 100644 > > --- a/src/changes/changes.xml > > +++ b/src/changes/changes.xml > > @@ -59,6 +59,7 @@ The <action> type attribute can be > add,update,fix,remove. > > <action issue="LANG-1372" type="add" dev="pschumacher" > due-to="Sérgio Ozaki">Add ToStringSummary annotation</action> > > <action issue="LANG-1356" type="add" dev="pschumacher" > due-to="Yathos UG">Add bypass option for classes to recursive and > reflective EqualsBuilder</action> > > <action issue="LANG-1391" type="add" dev="ggregory" due-to="Sauro > Matulli, Oleg Chubaryov">Improve Javadoc for > StringUtils.isAnyEmpty(null)</action> > > + <action issue="LANG-1393" type="add" dev="ggregory" due-to="Gary > Gregory">Add API SystemUtils.String getEnvironmentVariable(final String > name, final String defaultValue)</action> > > </release> > > > > <release version="3.7" date="2017-11-04" description="New features > and bug fixes. Requires Java 7, supports Java 8, 9, 10."> > > > > > http://git-wip-us.apache.org/repos/asf/commons-lang/blob/efba54d3/src/main/java/org/apache/commons/lang3/SystemUtils.java > > ---------------------------------------------------------------------- > > diff --git a/src/main/java/org/apache/commons/lang3/SystemUtils.java > b/src/main/java/org/apache/commons/lang3/SystemUtils.java > > index f91628a..2289d5d 100644 > > --- a/src/main/java/org/apache/commons/lang3/SystemUtils.java > > +++ b/src/main/java/org/apache/commons/lang3/SystemUtils.java > > @@ -1607,6 +1607,33 @@ public class SystemUtils { > > > > /** > > * <p> > > + * Gets an environment variable, defaulting to {@code defaultValue} > if the variable cannot be read. > > + * </p> > > + * <p> > > + * If a {@code SecurityException} is caught, the return value is > {@code defaultValue} and a message is written to > > + * {@code System.err}. > > + * </p> > > + * > > + * @param name > > + * the environment variable name > > + * @param defaultValue > > + * the default value > > + * @return the environment variable value or {@code defaultValue} > if a security problem occurs > > + * @since 3.7 > > + */ > > + public static String getEnvironmentVariable(final String name, > final String defaultValue) { > > + try { > > + final String value = System.getenv(name); > > + return value == null ? defaultValue : value; > > + } catch (final SecurityException ex) { > > + // we are not allowed to look at this property > > + System.err.println("Caught a SecurityException reading the > environment variable '" + name + "'."); > > -1 > > Library code should not write to stderr or stdout >
We already do, in the same class. Gary > > > + return defaultValue; > > + } > > + } > > + > > + /** > > + * <p> > > * Gets the user directory as a {@code File}. > > * </p> > > * > > > > > http://git-wip-us.apache.org/repos/asf/commons-lang/blob/efba54d3/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java > > ---------------------------------------------------------------------- > > diff --git a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java > b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java > > index 77e6078..e89e20c 100644 > > --- a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java > > +++ b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java > > @@ -40,6 +40,7 @@ import java.lang.reflect.Constructor; > > import java.lang.reflect.Modifier; > > import java.util.Locale; > > > > +import org.junit.Assert; > > import org.junit.Test; > > > > /** > > @@ -60,6 +61,23 @@ public class SystemUtilsTest { > > } > > > > @Test > > + public void testGetEnvironmentVariableAbsent() { > > + final String name = > "THIS_ENV_VAR_SHOULD_NOT_EXIST_FOR_THIS_TEST_TO_PASS"; > > + final String expected = System.getenv(name); > > + Assert.assertNull(expected); > > + final String value = SystemUtils.getEnvironmentVariable(name, > "DEFAULT"); > > + assertEquals("DEFAULT", value); > > + } > > + > > + @Test > > + public void testGetEnvironmentVariablePresent() { > > + final String name = "PATH"; > > + final String expected = System.getenv(name); > > + final String value = SystemUtils.getEnvironmentVariable(name, > null); > > + assertEquals(expected, value); > > + } > > + > > + @Test > > public void testGetHostName() { > > final String hostName = SystemUtils.getHostName(); > > final String expected = SystemUtils.IS_OS_WINDOWS ? > System.getenv("COMPUTERNAME") : System.getenv("HOSTNAME"); > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > >