From ffc5158b4e2df43d33d1abaa009384c6d12c253f Mon Sep 17 00:00:00 2001
From: Peter van 't Hof <p.j.van_t_hof@lumc.nl>
Date: Tue, 3 Feb 2015 17:23:34 +0100
Subject: [PATCH] No null returns at files and strings

---
 .../lumc/sasc/biopet/utils/ConfigUtils.scala  | 27 ++++++++++++-------
 .../sasc/biopet/utils/ConfigUtilsTest.scala   |  8 ++++--
 2 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/utils/ConfigUtils.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/utils/ConfigUtils.scala
index 16a00b551..ce20e500a 100644
--- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/utils/ConfigUtils.scala
+++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/utils/ConfigUtils.scala
@@ -337,7 +337,8 @@ object ConfigUtils extends Logging {
      */
     implicit def configValue2file(value: ConfigValue): File = {
       //TODO: throw IllegalStateException
-      if (value != null && value.value != null && value.value != None) new File(any2string(value.value)) else null
+      if (value != null && value.value != null && value.value != None) new File(any2string(value.value))
+      else throw new IllegalStateException("Value does not exist")
     }
 
     /**
@@ -346,7 +347,8 @@ object ConfigUtils extends Logging {
      * @return
      */
     implicit def configValue2optionFile(value: ConfigValue): Option[File] = {
-      if (value != null && value.value != null && value.value != None) Some(new File(any2string(value.value))) else None
+      if (value != null && value.value != null && value.value != None) Some(new File(any2string(value.value)))
+      else None
     }
 
     /**
@@ -356,7 +358,8 @@ object ConfigUtils extends Logging {
      */
     implicit def configValue2string(value: ConfigValue): String = {
       //TODO: throw IllegalStateException
-      if (value != null && value.value != null && value.value != None) any2string(value.value) else null
+      if (value != null && value.value != null && value.value != None) any2string(value.value)
+      else throw new IllegalStateException("Value does not exist")
     }
 
     /**
@@ -365,7 +368,8 @@ object ConfigUtils extends Logging {
      * @return
      */
     implicit def configValue2optionString(value: ConfigValue): Option[String] = {
-      if (value != null && value.value != null && value.value != None) Some(any2string(value.value)) else None
+      if (value != null && value.value != null && value.value != None) Some(any2string(value.value))
+      else None
     }
 
     /**
@@ -384,7 +388,8 @@ object ConfigUtils extends Logging {
      * @return
      */
     implicit def configValue2optionLong(value: ConfigValue): Option[Long] = {
-      if (value != null && value.value != null && value.value != None) Option(any2long(value.value)) else None
+      if (value != null && value.value != null && value.value != None) Option(any2long(value.value))
+      else None
     }
 
     /**
@@ -403,7 +408,8 @@ object ConfigUtils extends Logging {
      * @return
      */
     implicit def configValue2optionInt(value: ConfigValue): Option[Int] = {
-      if (value != null && value.value != null && value.value != None) Option(any2int(value.value)) else None
+      if (value != null && value.value != null && value.value != None) Option(any2int(value.value))
+      else None
     }
 
     /**
@@ -422,7 +428,8 @@ object ConfigUtils extends Logging {
      * @return
      */
     implicit def configValue2optionDouble(value: ConfigValue): Option[Double] = {
-      if (value != null && value.value != null && value.value != None) Option(any2double(value.value)) else None
+      if (value != null && value.value != null && value.value != None) Option(any2double(value.value))
+      else None
     }
 
     /**
@@ -441,7 +448,8 @@ object ConfigUtils extends Logging {
      * @return
      */
     implicit def configValue2optionFloat(value: ConfigValue): Option[Float] = {
-      if (value != null && value.value != null && value.value != None) Option(any2float(value.value)) else None
+      if (value != null && value.value != null && value.value != None) Option(any2float(value.value))
+      else None
     }
 
     /**
@@ -460,7 +468,8 @@ object ConfigUtils extends Logging {
      * @return
      */
     implicit def configValue2optionBoolean(value: ConfigValue): Option[Boolean] = {
-      if (value != null && value.value != null && value.value != None) Option(any2boolean(value.value)) else None
+      if (value != null && value.value != null && value.value != None) Option(any2boolean(value.value))
+      else None
     }
 
     /**
diff --git a/public/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/utils/ConfigUtilsTest.scala b/public/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/utils/ConfigUtilsTest.scala
index 6b6f990bf..26f989c53 100644
--- a/public/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/utils/ConfigUtilsTest.scala
+++ b/public/biopet-framework/src/test/scala/nl/lumc/sasc/biopet/utils/ConfigUtilsTest.scala
@@ -235,10 +235,14 @@ class ConfigUtilsTest extends TestNGSuite with Matchers {
       }
 
       var string: String = ConfigValue(index, index, "test")
-      string = ConfigValue(index, index, null)
+      intercept[IllegalStateException] {
+        string = ConfigValue(index, index, null)
+      }
 
       var file: File = ConfigValue(index, index, "test")
-      file = ConfigValue(index, index, null)
+      intercept[IllegalStateException] {
+        file = ConfigValue(index, index, null)
+      }
     }
   }
 }
-- 
GitLab