Can someone help me convert this piece of code from 2.12 to 2.13?
I have a piece of code which was originally suggested by Patrick Römer, which is giving me a deprecation warning when I try to convert my project to 2.13. IntelliJ suggests that import scala.collection.JavaConverters._
is deprecated.
When I look at this stackoverflow article, I get even more confused. The article in one place suggests to use JavaConverters
and in another place suggests to use JavaConversions
.
What is the correct way to convert this code to 2.13?
case class CacheByJboss() extends Cache {
type BDD_HASH = scala.collection.mutable.Map[(Int, Bdd, Bdd), BddNode]
// this code was suggested by Patrick Römer
// https://users.scala-lang.org/t/id-like-a-weak-hash-table-which-allows-gc-when-value-is-otherwise-unreferenced/4681/8?u=jimka
import org.jboss.util.collection._
import scala.collection.JavaConverters._
val hash = new WeakValueHashMap[(Int, Bdd, Bdd), BddNode].asScala
override def getBddSizeCount():(Long,Long) = {
(hash.size, numAllocations)
}
override def getOrCreate(label:Short,positive:Bdd,negative:Bdd):BddNode = {
hash.get((label, positive, negative)) match {
case Some(bdd: BddNode) => bdd
case None | Some(null) =>
val bdd = BddNode(label, positive, negative)
numAllocations = 1L + numAllocations
hash((label, positive, negative)) = bdd
bdd
}
}
}