@@ -28,16 +28,24 @@ object CollectionStatus {
2828 map.getOrElse(" ns" , " -" ).toString,
2929 map.getOrElse(" type" , " Standard" ).toString,
3030 map.getOrElse(" scaleFactor" , 0 ).asInstanceOf [Int ],
31- map.getOrElse( " size" , 0 ). asInstanceOf [ Int ] ,
32- map.getOrElse( " count" , 0 ). asInstanceOf [ Int ] ,
33- map.getOrElse( " storageSize" , 0 ). asInstanceOf [ Int ] ,
34- map.getOrElse( " avgObjSize" , 0 ). asInstanceOf [ Int ] ,
35- map.getOrElse( " nindexes" , 0 ). asInstanceOf [ Int ] ,
31+ intValue(map, " size" ) ,
32+ intValue(map, " count" ) ,
33+ intValue(map, " storageSize" ) ,
34+ intValue(map, " avgObjSize" ) ,
35+ intValue(map, " nindexes" ) ,
3636 map.getOrElse(" indexSizes" , Map ()).asInstanceOf [Map [String , Int ]],
37- map.getOrElse( " totalIndexSize" , 0 ). asInstanceOf [ Int ] ,
38- map.getOrElse( " ok" , 0 ). asInstanceOf [ Double ].toInt ,
37+ intValue(map, " totalIndexSize" ) ,
38+ intValue(map, " ok" ) ,
3939 new Date (),
4040 map
4141 )
4242 }
43+
44+ def intValue (map : Map [String , Any ], key : String ): Int =
45+ map.getOrElse(key, 0 ) match {
46+ case i : Int => i
47+ case l : Long => l.intValue()
48+ case d : Double => d.intValue()
49+ case _ => 0
50+ }
4351}
0 commit comments