diff options
Diffstat (limited to 'sql/core/src/main/scala/org/apache/spark/sql/internal/RuntimeConfigImpl.scala')
-rw-r--r-- | sql/core/src/main/scala/org/apache/spark/sql/internal/RuntimeConfigImpl.scala | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/sql/core/src/main/scala/org/apache/spark/sql/internal/RuntimeConfigImpl.scala b/sql/core/src/main/scala/org/apache/spark/sql/internal/RuntimeConfigImpl.scala index 058df1e3c1..137323583b 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/internal/RuntimeConfigImpl.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/internal/RuntimeConfigImpl.scala @@ -17,20 +17,21 @@ package org.apache.spark.sql.internal +import org.apache.hadoop.conf.Configuration + import org.apache.spark.sql.RuntimeConfig + /** * Implementation for [[RuntimeConfig]]. */ -class RuntimeConfigImpl extends RuntimeConfig { - - private val conf = new SQLConf - - private val hadoopConf = java.util.Collections.synchronizedMap( - new java.util.HashMap[String, String]()) +class RuntimeConfigImpl( + sqlConf: SQLConf = new SQLConf, + hadoopConf: Configuration = new Configuration) + extends RuntimeConfig { override def set(key: String, value: String): RuntimeConfig = { - conf.setConfString(key, value) + sqlConf.setConfString(key, value) this } @@ -39,7 +40,7 @@ class RuntimeConfigImpl extends RuntimeConfig { override def set(key: String, value: Long): RuntimeConfig = set(key, value.toString) @throws[NoSuchElementException]("if the key is not set") - override def get(key: String): String = conf.getConfString(key) + override def get(key: String): String = sqlConf.getConfString(key) override def getOption(key: String): Option[String] = { try Option(get(key)) catch { @@ -47,27 +48,26 @@ class RuntimeConfigImpl extends RuntimeConfig { } } - override def unset(key: String): Unit = conf.unsetConf(key) + override def unset(key: String): Unit = sqlConf.unsetConf(key) - override def setHadoop(key: String, value: String): RuntimeConfig = { - hadoopConf.put(key, value) + override def setHadoop(key: String, value: String): RuntimeConfig = hadoopConf.synchronized { + hadoopConf.set(key, value) this } @throws[NoSuchElementException]("if the key is not set") override def getHadoop(key: String): String = hadoopConf.synchronized { - if (hadoopConf.containsKey(key)) { - hadoopConf.get(key) - } else { + Option(hadoopConf.get(key)).getOrElse { throw new NoSuchElementException(key) } } - override def getHadoopOption(key: String): Option[String] = { - try Option(getHadoop(key)) catch { - case _: NoSuchElementException => None - } + override def getHadoopOption(key: String): Option[String] = hadoopConf.synchronized { + Option(hadoopConf.get(key)) + } + + override def unsetHadoop(key: String): Unit = hadoopConf.synchronized { + hadoopConf.unset(key) } - override def unsetHadoop(key: String): Unit = hadoopConf.remove(key) } |