Skip to content

Commit

Permalink
finos#1296 move util.schema.typeConversion folder to util.types
Browse files Browse the repository at this point in the history
  • Loading branch information
junaidzm13 committed Apr 30, 2024
1 parent e218b5b commit eac070e
Show file tree
Hide file tree
Showing 14 changed files with 26 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import org.finos.vuu.core.filter.FilterSpecParser
import org.finos.vuu.core.table.{Column, SimpleColumn}
import org.finos.vuu.feature.ignite.TestInput._
import org.finos.vuu.feature.ignite.{IgniteTestsBase, TestOrderEntity}
import org.finos.vuu.util.schema.typeConversion.{TypeConverter, TypeConverterContainer, TypeConverterContainerBuilder}
import org.finos.vuu.util.schema.{ExternalEntitySchema, SchemaField, SchemaMapperBuilder}
import org.finos.vuu.util.types.{TypeConverter, TypeConverterContainer, TypeConverterContainerBuilder}

import java.sql.Date
import java.math.BigDecimal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class buildQueryEntityTest extends AnyFeatureSpec with Matchers {

Feature("buildQueryEntity") {
val testSchema = ExternalEntitySchemaBuilder()
.withCaseClass[TestDto]
.withEntity(classOf[TestDto])
.withIndex("TEST_INDEX", List("name"))
.build()

Expand Down
11 changes: 6 additions & 5 deletions vuu/src/main/scala/org/finos/vuu/core/table/Column.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ package org.finos.vuu.core.table

import org.finos.vuu.api.TableDef
import org.finos.vuu.core.table.column.CalculatedColumnClause
import org.finos.vuu.util.schema.typeConversion.{DefaultTypeConverters, TypeConverterContainerBuilder}
import org.finos.vuu.util.types.{DefaultTypeConverters, TypeConverterContainerBuilder}

import scala.util.{Failure, Success, Try}

object DataType {

Expand Down Expand Up @@ -37,9 +39,9 @@ object DataType {

private type ErrorMessage = String
def parseToDataType[T](value: String, t: Class[T]): Either[ErrorMessage, T] = {
typeConverterContainer.convert[String, T](value, classOf[String], t) match {
case Some(parsedValue) => Right(parsedValue)
case None => Left(s"Failed to parse String $value to data type $t")
Try(typeConverterContainer.convert[String, T](value, classOf[String], t).get) match {
case Success(parsedValue) => Right(parsedValue)
case Failure(ex) => Left(s"Failed to parse String $value to data type $t: ${ex.getMessage}")
}
}

Expand All @@ -51,7 +53,6 @@ object DataType {
.withConverter(DefaultTypeConverters.stringToLongConverter)
.withConverter(DefaultTypeConverters.stringToDoubleConverter)
.build()

}

object Columns {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package org.finos.vuu.util.schema

import org.finos.vuu.core.table.Column
import org.finos.vuu.util.schema.SchemaMapper.InvalidSchemaMapException
import org.finos.vuu.util.schema.typeConversion.{TypeConverter, TypeConverterContainer, TypeConverterContainerBuilder, TypeUtils}
import org.finos.vuu.util.types.{TypeConverter, TypeConverterContainer, TypeConverterContainerBuilder, TypeUtils}

import scala.util.Try

Expand Down Expand Up @@ -120,7 +120,7 @@ case class SchemaMapperBuilder private (private val externalSchema: ExternalEnti

/**
* This method replaces the default `TypeConverterContainer` with the user defined container. For the list of
* default type converters used @see [[org.finos.vuu.util.schema.typeConversion.DefaultTypeConverters]].
* default type converters used @see [[DefaultTypeConverters]].
*
* Replace only if you have a type mapping not supported by the default converters.
* */
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.finos.vuu.util.schema.typeConversion
package org.finos.vuu.util.types

import java.lang._

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.finos.vuu.util.schema.typeConversion
package org.finos.vuu.util.types

import org.finos.vuu.util.schema.typeConversion.TypeConverter.buildConverterName
import org.finos.vuu.util.schema.typeConversion.TypeUtils.toWrapperType
import TypeConverter.buildConverterName
import TypeUtils.toWrapperType

trait TypeConverter[From, To] {
val fromClass: Class[From]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.finos.vuu.util.schema.typeConversion
package org.finos.vuu.util.types

trait TypeConverterContainer {
def convert[From, To](value: From, fromClass: Class[From], toClass: Class[To]): Option[To]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.finos.vuu.util.schema.typeConversion
package org.finos.vuu.util.types

object TypeUtils {
def toWrapperType(t: Class[_]): Class[_] = if (t.isPrimitive) primitiveToWrapperType(t) else t
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.finos.vuu.util.schema;

import org.finos.vuu.util.schema.typeConversion.TypeConverter;
import org.finos.vuu.util.types.TypeConverter;
import org.junit.Test;

import static org.junit.Assert.assertEquals;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.finos.vuu.core.table

import org.finos.vuu.util.schema.typeConversion.TypeUtils
import org.finos.vuu.util.types.TypeUtils
import org.scalatest.featurespec.AnyFeatureSpec
import org.scalatest.matchers.should.Matchers
import org.scalatest.prop.TableDrivenPropertyChecks._
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import org.finos.vuu.core.module.vui.VuiStateModule.stringToFieldDef
import org.finos.vuu.core.table.{Column, Columns, SimpleColumn}
import org.finos.vuu.util.schema.SchemaMapper.InvalidSchemaMapException
import org.finos.vuu.util.schema.SchemaMapperTest.{externalFields, externalSchema, fieldsMap, fieldsMapWithoutAssetClass, internalColumns}
import org.finos.vuu.util.schema.typeConversion.{TypeConverter, TypeConverterContainerBuilder}
import org.finos.vuu.util.types.{TypeConverter, TypeConverterContainerBuilder}
import org.scalatest.featurespec.AnyFeatureSpec
import org.scalatest.matchers.should.Matchers

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.finos.vuu.util.schema.typeConversion
package org.finos.vuu.util.types

import org.finos.vuu.util.schema.typeConversion.DefaultTypeConverters._
import org.finos.vuu.util.types.DefaultTypeConverters._
import org.finos.vuu.util.types.TypeConverter
import org.scalatest.prop.TableDrivenPropertyChecks._
import org.scalatest.featurespec.AnyFeatureSpec
import org.scalatest.matchers.should.Matchers
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.finos.vuu.util.schema.typeConversion
package org.finos.vuu.util.types

import org.finos.vuu.util.types.{DefaultTypeConverters, TypeConverter, TypeConverterContainerBuilder}
import org.scalatest.featurespec.AnyFeatureSpec
import org.scalatest.matchers.should.Matchers

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.finos.vuu.util.schema.typeConversion
package org.finos.vuu.util.types

import org.finos.vuu.util.types.TypeConverter
import org.scalatest.featurespec.AnyFeatureSpec
import org.scalatest.matchers.should.Matchers

Expand Down

0 comments on commit eac070e

Please sign in to comment.