Skip to content
Snippets Groups Projects
Commit 16068896 authored by Peter van 't Hof's avatar Peter van 't Hof
Browse files

Added version cache

parent 9b5aa989
Branches
Tags
No related merge requests found
...@@ -92,7 +92,7 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab ...@@ -92,7 +92,7 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab
protected def versionCommand: String = null protected def versionCommand: String = null
protected val versionRegex: Regex = null protected val versionRegex: Regex = null
protected val versionExitcode = List(0) // Can select multiple protected val versionExitcode = List(0) // Can select multiple
def getVersion: String = { private def getVersionInternal: String = {
if (versionCommand == null || versionRegex == null) return "N/A" if (versionCommand == null || versionRegex == null) return "N/A"
val stdout = new StringBuffer() val stdout = new StringBuffer()
val stderr = new StringBuffer() val stderr = new StringBuffer()
...@@ -114,6 +114,12 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab ...@@ -114,6 +114,12 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab
return "N/A" return "N/A"
} }
def getVersion: String = {
if (!BiopetCommandLineFunctionTrait.versionCache.contains(executable))
BiopetCommandLineFunctionTrait.versionCache += executable -> getVersionInternal
return BiopetCommandLineFunctionTrait.versionCache(executable)
}
def getThreads(default: Int): Int = { def getThreads(default: Int): Int = {
val maxThreads: Int = config("maxthreads", default = 8) val maxThreads: Int = config("maxthreads", default = 8)
val threads: Int = config("threads", default = default) val threads: Int = config("threads", default = default)
...@@ -128,3 +134,8 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab ...@@ -128,3 +134,8 @@ trait BiopetCommandLineFunctionTrait extends CommandLineFunction with Configurab
else return maxThreads else return maxThreads
} }
} }
object BiopetCommandLineFunctionTrait {
import scala.collection.mutable.Map
private val versionCache: Map[String, String] = Map()
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment