Author: bpoussin Date: 2013-01-04 15:56:12 +0100 (Fri, 04 Jan 2013) New Revision: 2455 Url: http://nuiton.org/projects/nuiton-utils/repository/revisions/2455 Log: add new methods: - getOsName() - getOsArch() fix bad comportment in SubConfig (hasOption) Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfig.java trunk/nuiton-utils/src/test/java/org/nuiton/util/ApplicationConfigTest.java Modified: trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfig.java =================================================================== --- trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfig.java 2013-01-04 14:30:25 UTC (rev 2454) +++ trunk/nuiton-utils/src/main/java/org/nuiton/util/ApplicationConfig.java 2013-01-04 14:56:12 UTC (rev 2455) @@ -553,6 +553,28 @@ } /** + * Get os name (system property {@code os.name}). + * + * @return os name + * @since 2.7 + */ + public String getOsName() { + String result = getOption("os.name"); + return result; + } + + /** + * Get os arch (system property {@code os.arch}). + * + * @return os arch + * @since 2.7 + */ + public String getOsArch() { + String result = getOption("os.arch"); + return result; + } + + /** * Load default options of enum pass in param (enum must extend {@link OptionDef}) * * @param optionClass to load @@ -2311,7 +2333,8 @@ @Override public boolean hasOption(String key) { - return getParent().hasOption(getPrefix() + key); + boolean result = getOption(key) != null; + return result; } @Override @@ -2330,10 +2353,8 @@ */ @Override public String getOption(String key) { - String result; - if (hasOption(key)) { - result = getParent().getOption(getPrefix() + key); - } else { + String result = getParent().getOption(getPrefix() + key); + if (result == null) { result = getParent().getOption(key); } return result; Modified: trunk/nuiton-utils/src/test/java/org/nuiton/util/ApplicationConfigTest.java =================================================================== --- trunk/nuiton-utils/src/test/java/org/nuiton/util/ApplicationConfigTest.java 2013-01-04 14:30:25 UTC (rev 2454) +++ trunk/nuiton-utils/src/test/java/org/nuiton/util/ApplicationConfigTest.java 2013-01-04 14:56:12 UTC (rev 2455) @@ -53,6 +53,7 @@ import java.util.Locale; import java.util.Map; import java.util.Properties; +import org.apache.commons.lang3.StringUtils; /** @author poussin */ public class ApplicationConfigTest { @@ -666,4 +667,23 @@ Assert.assertEquals(expected, actual); } + + @Test + public void testGetOsName() throws Exception { + ApplicationConfig config = new ApplicationConfig(); + config.parse(); + String v = config.getOsName(); + Assert.assertTrue(StringUtils.isNotBlank(v)); + System.out.println("os.name: " + v); + } + + @Test + public void testGetOsArch() throws Exception { + ApplicationConfig config = new ApplicationConfig(); + config.parse(); + String v = config.getOsArch(); + Assert.assertTrue(StringUtils.isNotBlank(v)); + System.out.println("os.arch: " + v); + } + }