Skip to content

Commit

Permalink
[#675] JavaTime dialects: Fix native types for Kotlin and Python
Browse files Browse the repository at this point in the history
  • Loading branch information
opatrascoiu committed Jun 20, 2024
1 parent a13a700 commit 49837bd
Show file tree
Hide file tree
Showing 118 changed files with 540 additions and 540 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class AffordabilityCalculation : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}
}

fun apply(monthlyIncome: java.math.BigDecimal?, monthlyRepayments: java.math.BigDecimal?, monthlyExpenses: java.math.BigDecimal?, riskCategory: String?, requiredMonthlyInstallment: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): Boolean? {
fun apply(monthlyIncome: java.lang.Number?, monthlyRepayments: java.lang.Number?, monthlyExpenses: java.lang.Number?, riskCategory: String?, requiredMonthlyInstallment: java.lang.Number?, context_: com.gs.dmn.runtime.ExecutionContext): Boolean? {
try {
// Start BKM 'AffordabilityCalculation'
var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations()
Expand Down Expand Up @@ -53,13 +53,13 @@ class AffordabilityCalculation : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}
}

private inline fun evaluate(monthlyIncome: java.math.BigDecimal?, monthlyRepayments: java.math.BigDecimal?, monthlyExpenses: java.math.BigDecimal?, riskCategory: String?, requiredMonthlyInstallment: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): Boolean? {
private inline fun evaluate(monthlyIncome: java.lang.Number?, monthlyRepayments: java.lang.Number?, monthlyExpenses: java.lang.Number?, riskCategory: String?, requiredMonthlyInstallment: java.lang.Number?, context_: com.gs.dmn.runtime.ExecutionContext): Boolean? {
var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations()
var eventListener_: com.gs.dmn.runtime.listener.EventListener = context_.getEventListener()
var externalExecutor_: com.gs.dmn.runtime.external.ExternalFunctionExecutor = context_.getExternalFunctionExecutor()
var cache_: com.gs.dmn.runtime.cache.Cache = context_.getCache()
val disposableIncome: java.math.BigDecimal? = numericSubtract(monthlyIncome, numericAdd(monthlyExpenses, monthlyRepayments)) as java.math.BigDecimal?
val creditContingencyFactor: java.math.BigDecimal? = CreditContingencyFactorTable.instance().apply(riskCategory, context_) as java.math.BigDecimal?
val disposableIncome: java.lang.Number? = numericSubtract(monthlyIncome, numericAdd(monthlyExpenses, monthlyRepayments)) as java.lang.Number?
val creditContingencyFactor: java.lang.Number? = CreditContingencyFactorTable.instance().apply(riskCategory, context_) as java.lang.Number?
val affordability: Boolean? = (if (booleanEqual(numericGreaterThan(numericMultiply(disposableIncome, creditContingencyFactor), requiredMonthlyInstallment), true)) true else false) as Boolean?
return affordability
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import java.util.stream.Collectors
rulesCount = -1
)
class ApplicationRiskScore() : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() {
override fun applyMap(input_: MutableMap<String, String>, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? {
override fun applyMap(input_: MutableMap<String, String>, context_: com.gs.dmn.runtime.ExecutionContext): java.lang.Number? {
try {
return apply(input_.get("ApplicantData")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference<type.TApplicantDataImpl>() {}) }), context_)
} catch (e: Exception) {
Expand All @@ -22,7 +22,7 @@ class ApplicationRiskScore() : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() {
}
}

fun apply(applicantData: type.TApplicantData?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? {
fun apply(applicantData: type.TApplicantData?, context_: com.gs.dmn.runtime.ExecutionContext): java.lang.Number? {
try {
// Start decision 'ApplicationRiskScore'
var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations()
Expand All @@ -36,15 +36,15 @@ class ApplicationRiskScore() : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() {

if (cache_.contains("ApplicationRiskScore")) {
// Retrieve value from cache
var output_:java.math.BigDecimal? = cache_.lookup("ApplicationRiskScore") as java.math.BigDecimal?
var output_:java.lang.Number? = cache_.lookup("ApplicationRiskScore") as java.lang.Number?

// End decision 'ApplicationRiskScore'
eventListener_.endDRGElement(DRG_ELEMENT_METADATA, applicationRiskScoreArguments_, output_, (System.currentTimeMillis() - applicationRiskScoreStartTime_))

return output_
} else {
// Evaluate decision 'ApplicationRiskScore'
val output_: java.math.BigDecimal? = evaluate(applicantData, context_)
val output_: java.lang.Number? = evaluate(applicantData, context_)
cache_.bind("ApplicationRiskScore", output_)

// End decision 'ApplicationRiskScore'
Expand All @@ -63,7 +63,7 @@ class ApplicationRiskScore() : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() {
val applicantData: type.TApplicantData? = type.TApplicantData.toTApplicantData(applicationRiskScoreRequest_.getApplicantData())

// Invoke apply method
val output_: java.math.BigDecimal? = apply(applicantData, context_)
val output_: java.lang.Number? = apply(applicantData, context_)

// Convert output to Response Message
val builder_: proto.ApplicationRiskScoreResponse.Builder = proto.ApplicationRiskScoreResponse.newBuilder()
Expand All @@ -72,12 +72,12 @@ class ApplicationRiskScore() : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() {
return builder_.build()
}

private inline fun evaluate(applicantData: type.TApplicantData?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? {
private inline fun evaluate(applicantData: type.TApplicantData?, context_: com.gs.dmn.runtime.ExecutionContext): java.lang.Number? {
var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations()
var eventListener_: com.gs.dmn.runtime.listener.EventListener = context_.getEventListener()
var externalExecutor_: com.gs.dmn.runtime.external.ExternalFunctionExecutor = context_.getExternalFunctionExecutor()
var cache_: com.gs.dmn.runtime.cache.Cache = context_.getCache()
return ApplicationRiskScoreModel.instance().apply(applicantData?.let({ it.age as java.math.BigDecimal? }), applicantData?.let({ it.maritalStatus as String? }), applicantData?.let({ it.employmentStatus as String? }), context_) as java.math.BigDecimal?
return ApplicationRiskScoreModel.instance().apply(applicantData?.let({ it.age as java.lang.Number? }), applicantData?.let({ it.maritalStatus as String? }), applicantData?.let({ it.employmentStatus as String? }), context_) as java.lang.Number?
}

companion object {
Expand All @@ -103,7 +103,7 @@ class ApplicationRiskScore() : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() {
}

@JvmStatic
fun responseToOutput(applicationRiskScoreResponse_: proto.ApplicationRiskScoreResponse): java.math.BigDecimal? {
fun responseToOutput(applicationRiskScoreResponse_: proto.ApplicationRiskScoreResponse): java.lang.Number? {
// Extract and convert output
return java.math.BigDecimal.valueOf(applicationRiskScoreResponse_.getApplicationRiskScore())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import java.util.stream.Collectors
class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
private constructor() {}

override fun applyMap(input_: MutableMap<String, String>, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? {
override fun applyMap(input_: MutableMap<String, String>, context_: com.gs.dmn.runtime.ExecutionContext): java.lang.Number? {
try {
return apply(input_.get("Age")?.let({ number(it) }), input_.get("MaritalStatus"), input_.get("EmploymentStatus"), context_)
} catch (e: Exception) {
Expand All @@ -24,7 +24,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}
}

fun apply(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? {
fun apply(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): java.lang.Number? {
try {
// Start BKM 'ApplicationRiskScoreModel'
var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations()
Expand All @@ -39,7 +39,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
eventListener_.startDRGElement(DRG_ELEMENT_METADATA, applicationRiskScoreModelArguments_)

// Evaluate BKM 'ApplicationRiskScoreModel'
val output_: java.math.BigDecimal? = evaluate(age, maritalStatus, employmentStatus, context_)
val output_: java.lang.Number? = evaluate(age, maritalStatus, employmentStatus, context_)

// End BKM 'ApplicationRiskScoreModel'
eventListener_.endDRGElement(DRG_ELEMENT_METADATA, applicationRiskScoreModelArguments_, output_, (System.currentTimeMillis() - applicationRiskScoreModelStartTime_))
Expand All @@ -51,7 +51,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}
}

private inline fun evaluate(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? {
private inline fun evaluate(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): java.lang.Number? {
var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations()
var eventListener_: com.gs.dmn.runtime.listener.EventListener = context_.getEventListener()
var externalExecutor_: com.gs.dmn.runtime.external.ExternalFunctionExecutor = context_.getExternalFunctionExecutor()
Expand All @@ -71,7 +71,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
ruleOutputList_.add(rule10(age, maritalStatus, employmentStatus, context_))

// Return results based on hit policy
var output_: java.math.BigDecimal?
var output_: java.lang.Number?
if (ruleOutputList_.noMatchedRules()) {
// Default value
output_ = null
Expand All @@ -84,7 +84,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 0, annotation = "")
private fun rule0(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule0(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(0, "")

Expand Down Expand Up @@ -117,7 +117,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 1, annotation = "")
private fun rule1(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule1(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(1, "")

Expand Down Expand Up @@ -150,7 +150,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 2, annotation = "")
private fun rule2(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule2(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(2, "")

Expand Down Expand Up @@ -183,7 +183,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 3, annotation = "")
private fun rule3(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule3(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(3, "")

Expand Down Expand Up @@ -216,7 +216,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 4, annotation = "")
private fun rule4(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule4(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(4, "")

Expand Down Expand Up @@ -249,7 +249,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 5, annotation = "")
private fun rule5(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule5(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(5, "")

Expand Down Expand Up @@ -282,7 +282,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 6, annotation = "")
private fun rule6(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule6(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(6, "")

Expand Down Expand Up @@ -315,7 +315,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 7, annotation = "")
private fun rule7(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule7(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(7, "")

Expand Down Expand Up @@ -348,7 +348,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 8, annotation = "")
private fun rule8(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule8(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(8, "")

Expand Down Expand Up @@ -381,7 +381,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 9, annotation = "")
private fun rule9(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule9(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(9, "")

Expand Down Expand Up @@ -414,7 +414,7 @@ class ApplicationRiskScoreModel : com.gs.dmn.runtime.JavaTimeDMNBaseDecision {
}

@com.gs.dmn.runtime.annotation.Rule(index = 10, annotation = "")
private fun rule10(age: java.math.BigDecimal?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
private fun rule10(age: java.lang.Number?, maritalStatus: String?, employmentStatus: String?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput {
// Rule metadata
val drgRuleMetadata: com.gs.dmn.runtime.listener.Rule = com.gs.dmn.runtime.listener.Rule(10, "")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
@javax.annotation.Generated(value = ["decisionTableRuleOutput.ftl", "ApplicationRiskScoreModel"])
class ApplicationRiskScoreModelRuleOutput(matched: Boolean) : com.gs.dmn.runtime.RuleOutput(matched) {
@com.fasterxml.jackson.annotation.JsonProperty("ApplicationRiskScoreModel")
var applicationRiskScoreModel: java.math.BigDecimal? = null
var applicationRiskScoreModel: java.lang.Number? = null

override fun equals(o: Any?): Boolean {
if (this === o) return true
Expand Down
Loading

0 comments on commit 49837bd

Please sign in to comment.