diff --git a/build.sbt b/build.sbt index adca0fe..afaf31b 100644 --- a/build.sbt +++ b/build.sbt @@ -3,7 +3,7 @@ ThisBuild / scalaVersion := "3.3.7" val fs2DataVersion = "1.8.1" val http4sVersion = "0.23.33" -val latisVersion = "792d62ed" +val latisVersion = "8880e46d" val latisHapiVersion = "d70da0a5" lazy val root = (project in file(".")) diff --git a/src/main/scala/latis/ops/ConvertHapiTypes.scala b/src/main/scala/latis/ops/ConvertHapiTypes.scala index e0cf68d..4c67917 100644 --- a/src/main/scala/latis/ops/ConvertHapiTypes.scala +++ b/src/main/scala/latis/ops/ConvertHapiTypes.scala @@ -27,6 +27,7 @@ class ConvertHapiTypes extends MapOperation { private def convertValue(data: Data): Data = data match { case v: ShortValue => IntValue(v.value.toInt) + case v: LongValue => IntValue(v.value.toInt) //TODO: risk of overflow case v: FloatValue => DoubleValue(v.value.toDouble) case _ => data //no-op, shouldn't get here due to catalog filter } @@ -45,6 +46,10 @@ class ConvertHapiTypes extends MapOperation { Scalar.fromMetadata( scalar.metadata + ("type" -> "int") ).fold(throw _, identity) //should not fail + case LongValueType => + Scalar.fromMetadata( + scalar.metadata + ("type" -> "int") + ).fold(throw _, identity) //should not fail case _ => scalar //no-op, shouldn't get here due to catalog filter } } diff --git a/src/main/scala/latis/service/hapi/HapiService.scala b/src/main/scala/latis/service/hapi/HapiService.scala index 8a93310..6888098 100644 --- a/src/main/scala/latis/service/hapi/HapiService.scala +++ b/src/main/scala/latis/service/hapi/HapiService.scala @@ -50,6 +50,7 @@ class HapiService(catalog: Catalog) extends ServiceInterface(catalog, OperationR case "string" => md.getProperty("size").isDefined case "double" => true case "int" => true + case "long" => true case "float" => true //may be converted to double by ConvertHapiTypes case "short" => true //may be converted to int by ConvertHapiTypes case _ => false