You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ha...@apache.org on 2012/05/25 08:06:01 UTC
svn commit: r1342501 - in
/hadoop/common/trunk/hadoop-common-project/hadoop-common: CHANGES.txt
src/main/java/org/apache/hadoop/conf/Configuration.java
src/test/java/org/apache/hadoop/conf/TestConfiguration.java
Author: harsh
Date: Fri May 25 06:06:01 2012
New Revision: 1342501
URL: http://svn.apache.org/viewvc?rev=1342501&view=rev
Log:
HADOOP-8415. Add getDouble() and setDouble() in org.apache.hadoop.conf.Configuration. Contributed by Jan van der Lugt. (harsh)
Modified:
hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1342501&r1=1342500&r2=1342501&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt Fri May 25 06:06:01 2012
@@ -73,6 +73,9 @@ Trunk (unreleased changes)
HADOOP-8367 Improve documentation of declaringClassProtocolName in rpc headers
(Sanjay Radia)
+ HADOOP-8415. Add getDouble() and setDouble() in
+ org.apache.hadoop.conf.Configuration (Jan van der Lugt via harsh)
+
BUG FIXES
HADOOP-8177. MBeans shouldn't try to register when it fails to create MBeanName.
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java?rev=1342501&r1=1342500&r2=1342501&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java Fri May 25 06:06:01 2012
@@ -917,6 +917,7 @@ public class Configuration implements It
return defaultValue;
return Float.parseFloat(valueString);
}
+
/**
* Set the value of the <code>name</code> property to a <code>float</code>.
*
@@ -926,6 +927,35 @@ public class Configuration implements It
public void setFloat(String name, float value) {
set(name,Float.toString(value));
}
+
+ /**
+ * Get the value of the <code>name</code> property as a <code>double</code>.
+ * If no such property exists, the provided default value is returned,
+ * or if the specified value is not a valid <code>double</code>,
+ * then an error is thrown.
+ *
+ * @param name property name.
+ * @param defaultValue default value.
+ * @throws NumberFormatException when the value is invalid
+ * @return property value as a <code>double</code>,
+ * or <code>defaultValue</code>.
+ */
+ public double getDouble(String name, double defaultValue) {
+ String valueString = getTrimmed(name);
+ if (valueString == null)
+ return defaultValue;
+ return Double.parseDouble(valueString);
+ }
+
+ /**
+ * Set the value of the <code>name</code> property to a <code>double</code>.
+ *
+ * @param name property name.
+ * @param value property value.
+ */
+ public void setDouble(String name, double value) {
+ set(name,Double.toString(value));
+ }
/**
* Get the value of the <code>name</code> property as a <code>boolean</code>.
Modified: hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java?rev=1342501&r1=1342500&r2=1342501&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java (original)
+++ hadoop/common/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java Fri May 25 06:06:01 2012
@@ -526,6 +526,29 @@ public class TestConfiguration extends T
}
}
+ public void testDoubleValues() throws IOException {
+ out=new BufferedWriter(new FileWriter(CONFIG));
+ startConfig();
+ appendProperty("test.double1", "3.1415");
+ appendProperty("test.double2", "003.1415");
+ appendProperty("test.double3", "-3.1415");
+ appendProperty("test.double4", " -3.1415 ");
+ appendProperty("test.double5", "xyz-3.1415xyz");
+ endConfig();
+ Path fileResource = new Path(CONFIG);
+ conf.addResource(fileResource);
+ assertEquals(3.1415, conf.getDouble("test.double1", 0.0));
+ assertEquals(3.1415, conf.getDouble("test.double2", 0.0));
+ assertEquals(-3.1415, conf.getDouble("test.double3", 0.0));
+ assertEquals(-3.1415, conf.getDouble("test.double4", 0.0));
+ try {
+ conf.getDouble("test.double5", 0.0);
+ fail("Property had invalid double value, but was read successfully.");
+ } catch (NumberFormatException e) {
+ // pass
+ }
+ }
+
public void testGetClass() throws IOException {
out=new BufferedWriter(new FileWriter(CONFIG));
startConfig();