You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hama.apache.org by ed...@apache.org on 2015/04/21 09:04:48 UTC
svn commit: r1675048 -
/hama/trunk/core/src/main/java/org/apache/hama/HamaConfiguration.java
Author: edwardyoon
Date: Tue Apr 21 07:04:48 2015
New Revision: 1675048
URL: http://svn.apache.org/r1675048
Log:
HAMA-952: Configuration overrides HamaConfiguration settings
Modified:
hama/trunk/core/src/main/java/org/apache/hama/HamaConfiguration.java
Modified: hama/trunk/core/src/main/java/org/apache/hama/HamaConfiguration.java
URL: http://svn.apache.org/viewvc/hama/trunk/core/src/main/java/org/apache/hama/HamaConfiguration.java?rev=1675048&r1=1675047&r2=1675048&view=diff
==============================================================================
--- hama/trunk/core/src/main/java/org/apache/hama/HamaConfiguration.java (original)
+++ hama/trunk/core/src/main/java/org/apache/hama/HamaConfiguration.java Tue Apr 21 07:04:48 2015
@@ -31,7 +31,7 @@ public class HamaConfiguration extends C
/** constructor */
public HamaConfiguration() {
super();
- addHamaResources();
+ addHamaResources(this);
}
public HamaConfiguration(Path confFile) {
@@ -52,10 +52,44 @@ public class HamaConfiguration extends C
}
/**
+ * @return a Configuration with Hama resources
+ */
+ public static Configuration create() {
+ Configuration conf = new Configuration();
+ return addHamaResources(conf);
+ }
+
+ /**
+ * @param that Configuration to clone.
+ * @return a Configuration created with the hama-*.xml files plus the given
+ * configuration.
+ */
+ public static Configuration create(final Configuration that) {
+ Configuration conf = create();
+ merge(conf, that);
+ return conf;
+ }
+
+ /**
+ * Merge two configurations.
+ *
+ * @param destConf the configuration that will be overwritten with items from
+ * the srcConf
+ * @param srcConf the source configuration
+ **/
+ public static void merge(Configuration destConf, Configuration srcConf) {
+ for (Entry<String, String> e : srcConf) {
+ destConf.set(e.getKey(), e.getValue());
+ }
+ }
+
+ /**
* Adds Hama configuration files to a Configuration
*/
- private static void addHamaResources() {
- Configuration.addDefaultResource("hama-default.xml");
- Configuration.addDefaultResource("hama-site.xml");
+ private static Configuration addHamaResources(Configuration conf) {
+ conf.addResource("hama-default.xml");
+ conf.addResource("hama-site.xml");
+ return conf;
+
}
}