diff --git a/api/src/main/scala/ai/chronon/api/planner/LocalRunner.scala b/api/src/main/scala/ai/chronon/api/planner/LocalRunner.scala index 04b646bcbb..1a24acf3a8 100644 --- a/api/src/main/scala/ai/chronon/api/planner/LocalRunner.scala +++ b/api/src/main/scala/ai/chronon/api/planner/LocalRunner.scala @@ -22,19 +22,9 @@ object LocalRunner { Constants.foldersToIgnore.exists(file.getPath.split("/").contains(_)) } - private def tryParsingConf[T <: TBase[_, _]: Manifest: ClassTag](file: String): Option[T] = - try { - val res = Some(ThriftJsonCodec.fromJsonFile[T](file, check = true)) - res - } catch { - case ex: Exception => - throw new RuntimeException(s"Failed to parse file: $file", ex) - } - def parseConfs[T <: TBase[_, _]: Manifest: ClassTag](confSubfolder: String): Seq[T] = listFiles(confSubfolder) .filterNot(isIgnorableFile) - .flatMap(tryParsingConf[T]) - .toSeq + .map(ThriftJsonCodec.fromJsonFile(_, check = true)) /** To run: * bazel build //api:planner_deploy.jar diff --git a/api/src/main/scala/ai/chronon/api/planner/TableDependencies.scala b/api/src/main/scala/ai/chronon/api/planner/TableDependencies.scala index d4d2362252..42ff35fe6c 100644 --- a/api/src/main/scala/ai/chronon/api/planner/TableDependencies.scala +++ b/api/src/main/scala/ai/chronon/api/planner/TableDependencies.scala @@ -1,21 +1,20 @@ package ai.chronon.api.planner import ai.chronon.api +import ai.chronon.api.{Accuracy, BootstrapPart, DataModel, TableDependency, TableInfo, Window} import ai.chronon.api.Extensions._ -import ai.chronon.api.ScalaJavaConversions.IteratorOps -import ai.chronon.api.{Accuracy, DataModel, PartitionSpec, TableDependency, TableInfo, Window} +import ai.chronon.api.ScalaJavaConversions.{IterableOps, IteratorOps} + import scala.collection.JavaConverters._ -import ai.chronon.api.ScalaJavaConversions.IterableOps -import ai.chronon.api.BootstrapPart object TableDependencies { - def fromStagingQuery(stagingQuery: api.StagingQuery)(implicit spec: PartitionSpec): Seq[TableDependency] = { + def fromStagingQuery(stagingQuery: api.StagingQuery): Seq[TableDependency] = { Option(stagingQuery.tableDependencies) .map(_.asScala.toSeq) .getOrElse(Seq.empty) } - def fromJoin(join: api.Join)(implicit spec: PartitionSpec): Seq[TableDependency] = { + def fromJoin(join: api.Join): Seq[TableDependency] = { val joinParts = Option(join.joinParts).map(_.iterator().toScala.toArray).getOrElse(Array.empty) val joinPartDeps = joinParts.flatMap((jp) => fromGroupBy(jp.groupBy)) val leftDep = fromSource(join.left)