From e5d886e42779dab4fe200c09e0643e241f3e52b4 Mon Sep 17 00:00:00 2001 From: bow <bow@bow.web.id> Date: Thu, 25 Jun 2015 16:31:55 +0200 Subject: [PATCH] Wrap Picard dependency list fetch in Option --- .../biopet/extensions/picard/Picard.scala | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala index d4f60ee54..be22486e7 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala @@ -82,25 +82,29 @@ abstract class Picard extends BiopetJavaCommandLineFunction { object Picard extends Logging { lazy val getBiopetPicardVersion: Option[String] = { - val reader = Source.fromInputStream(getClass.getResourceAsStream("/dependency_list.txt")) - val dependencies = reader.getLines().map(_.trim.split(":")).filter(_.size == 5).map(line => Map( - "groupId" -> line(0), - "artifactId" -> line(1), - "type" -> line(2), - "version" -> line(3), - "scope" -> line(4) - )).toList - - logger.debug("dependencies: " + dependencies) - - val htsjdk = dependencies.find(dep => dep("groupId") == "samtools" && dep("artifactId") == "htsjdk").collect { - case dep => - "samtools htsjdk " + dep("version") - } + Option(getClass.getResourceAsStream("/dependency_list.txt")) match { + case Some(src) => + val dependencies = Source.fromInputStream(src) + .getLines().map(_.trim.split(":")).filter(_.size == 5).map(line => Map( + "groupId" -> line(0), + "artifactId" -> line(1), + "type" -> line(2), + "version" -> line(3), + "scope" -> line(4) + )).toList + + logger.debug("dependencies: " + dependencies) + + val htsjdk = dependencies.find(dep => dep("groupId") == "samtools" && dep("artifactId") == "htsjdk").collect { + case dep => + "samtools htsjdk " + dep("version") + } - dependencies.find(dep => dep("groupId") == "picard" && dep("artifactId") == "picard").collect { - case dep => - "Picard " + dep("version") + " using " + htsjdk.getOrElse("unknown htsjdk") + dependencies.find(dep => dep("groupId") == "picard" && dep("artifactId") == "picard").collect { + case dep => + "Picard " + dep("version") + " using " + htsjdk.getOrElse("unknown htsjdk") + } + case otherwise => None } } -- GitLab