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 je...@apache.org on 2013/08/21 00:07:14 UTC
svn commit: r1515987 - in
/hadoop/common/branches/branch-2.1.0-beta/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: jeagles
Date: Tue Aug 20 22:07:14 2013
New Revision: 1515987
URL: http://svn.apache.org/r1515987
Log:
HADOOP-9686. Easy access to final parameters in Configuration (Jason Lowe via jeagles)
Modified:
hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/CHANGES.txt
hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
Modified: hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1515987&r1=1515986&r2=1515987&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/CHANGES.txt Tue Aug 20 22:07:14 2013
@@ -1676,6 +1676,9 @@ Release 0.23.9 - UNRELEASED
IMPROVEMENTS
+ HADOOP-9686. Easy access to final parameters in Configuration (Jason Lowe
+ via jeagles)
+
OPTIMIZATIONS
BUG FIXES
Modified: hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java?rev=1515987&r1=1515986&r2=1515987&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java (original)
+++ hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/conf/Configuration.java Tue Aug 20 22:07:14 2013
@@ -1903,6 +1903,15 @@ public class Configuration implements It
}
}
+ /**
+ * Get the set of parameters marked final.
+ *
+ * @return final parameter set.
+ */
+ public Set<String> getFinalParameters() {
+ return new HashSet<String>(finalParameters);
+ }
+
protected synchronized Properties getProps() {
if (properties == null) {
properties = new Properties();
Modified: hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java?rev=1515987&r1=1515986&r2=1515987&view=diff
==============================================================================
--- hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java (original)
+++ hadoop/common/branches/branch-2.1.0-beta/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/conf/TestConfiguration.java Tue Aug 20 22:07:14 2013
@@ -1136,7 +1136,23 @@ public class TestConfiguration extends T
Class<?> clazz = config.getClassByNameOrNull("java.lang.Object");
assertNotNull(clazz);
}
-
+
+ public void testGetFinalParameters() throws Exception {
+ out=new BufferedWriter(new FileWriter(CONFIG));
+ startConfig();
+ declareProperty("my.var", "x", "x", true);
+ endConfig();
+ Path fileResource = new Path(CONFIG);
+ Configuration conf = new Configuration();
+ Set<String> finalParameters = conf.getFinalParameters();
+ assertFalse("my.var already exists", finalParameters.contains("my.var"));
+ conf.addResource(fileResource);
+ assertEquals("my.var is undefined", "x", conf.get("my.var"));
+ assertFalse("finalparams not copied", finalParameters.contains("my.var"));
+ finalParameters = conf.getFinalParameters();
+ assertTrue("my.var is not final", finalParameters.contains("my.var"));
+ }
+
public static void main(String[] argv) throws Exception {
junit.textui.TestRunner.main(new String[]{
TestConfiguration.class.getName()