From ee1dcb04e8800d5000f83fa19906adf50824af65 Mon Sep 17 00:00:00 2001 From: Octavian Patrascoiu Date: Mon, 16 Sep 2024 14:50:15 +0100 Subject: [PATCH] [#662] XML dialects: Use the Kotlin dialect based on java.time API. --- .../KotlinStandardDMNDialectDefinition.java | 75 ------------------ ...imeKotlinStandardDMNDialectDefinition.java | 77 ------------------- .../MixedJavaTimeKotlinNativeTypeFactory.java | 70 ----------------- .../StandardNativeTypeToKotlinFactory.java | 70 ----------------- .../transformation/native_/JavaFactory.java | 11 ++- ...otlinStandardDMNDialectDefinitionTest.java | 62 --------------- ...otlinStandardDMNDialectDefinitionTest.java | 64 --------------- ...TestCasesToKotlinJUnitTransformerTest.java | 14 ++-- .../dmn/signavio/feel/lib/SignavioUtil.java | 8 +- .../dmn-signavio-it-kotlin-translator/pom.xml | 52 ++++++------- .../AbstractHandwrittenDecisionTest.java | 7 ++ .../HandwrittenGenerateOutputDataTest.java | 19 +++-- .../PostorderTraceListenerTest.java | 11 ++- .../TreeTraceListenerTest.java | 15 ++-- .../HandwrittenGenerateOutputDataTest.java | 19 +++-- .../HandwrittenGenerateOutputDataTest.java | 19 +++-- .../npe_validation_2/HandwrittenZipTest.java | 45 ++++++----- .../HandwrittenMonthlyTest.java | 8 +- .../HandwrittenDecisionTest.java | 7 +- .../HandwrittenDecisionTest.java | 3 +- .../HandwrittenDecisionTest.java | 3 +- .../HandwrittenDecisionTest.java | 3 +- .../HandwrittenDecisionTest.java | 3 +- .../dmn-signavio-it-translator/pom.xml | 52 ++++++------- .../AbstractHandwrittenDecisionTest.java | 7 ++ .../HandwrittenGenerateOutputDataTest.java | 19 +++-- .../PostorderTraceListenerTest.java | 11 ++- .../TreeTraceListenerTest.java | 15 ++-- .../HandwrittenGenerateOutputDataTest.java | 19 +++-- .../HandwrittenGenerateOutputDataTest.java | 19 +++-- .../npe_validation_2/HandwrittenZipTest.java | 45 ++++++----- .../HandwrittenMonthlyTest.java | 8 +- .../HandwrittenDecisionTest.java | 7 +- .../HandwrittenDecisionTest.java | 3 +- .../HandwrittenDecisionTest.java | 3 +- .../HandwrittenDecisionTest.java | 3 +- .../HandwrittenDecisionTest.java | 3 +- ...meKotlinSignavioDMNDialectDefinition.java} | 22 +++--- .../KotlinSignavioDMNDialectDefinition.java | 75 ------------------ ...tlinSignavioDMNDialectDefinitionTest.java} | 24 +++--- ...otlinSignavioDMNDialectDefinitionTest.java | 63 --------------- ...ctTestLabToKotlinJUnitTransformerTest.java | 14 ++-- .../AbstractSignavioDMNToKotlinTest.java | 14 ++-- .../AssessApplicantAge.java | 2 +- .../example-credit-decision/AssessIssue.java | 10 +-- .../AssessIssueRisk.java | 6 +- .../CompareAgainstLendingThreshold.java | 10 +-- .../GenerateOutputData.java | 8 +- .../MakeCreditDecision.java | 8 +- .../ProcessPriorIssues.java | 2 +- .../type/Applicant.java | 4 +- .../type/GenerateOutputData.java | 4 +- .../dmn/date-time-proto/CompositeDateTime.kt | 18 ++--- .../dmn/date-time-proto/DMNMetadata.json | 36 ++++----- .../proto3/kotlin/dmn/date-time-proto/Date.kt | 30 ++++---- .../kotlin/dmn/date-time-proto/DateTime.kt | 30 ++++---- .../proto3/kotlin/dmn/date-time-proto/Time.kt | 30 ++++---- .../type/TCompositeDateTime.kt | 24 +++--- .../type/TCompositeDateTimeImpl.kt | 8 +- .../AssessApplicantAge.kt | 24 +++--- .../AssessApplicantAgeRuleOutput.kt | 2 +- .../example-credit-decision/AssessIssue.kt | 26 +++---- .../AssessIssueRisk.kt | 22 +++--- .../CompareAgainstLendingThreshold.kt | 34 ++++---- ...ompareAgainstLendingThresholdRuleOutput.kt | 2 +- .../example-credit-decision/DMNMetadata.json | 34 ++++---- .../GenerateOutputData.kt | 18 ++--- .../MakeCreditDecision.kt | 22 +++--- .../ProcessPriorIssues.kt | 18 ++--- .../ProcessPriorIssuesRuleOutput.kt | 2 +- .../example-credit-decision/type/Applicant.kt | 12 +-- .../type/ApplicantImpl.kt | 6 +- .../type/GenerateOutputData.kt | 12 +-- .../type/GenerateOutputDataImpl.kt | 6 +- .../test-lab/date-time-proto/DateTest.kt | 10 +-- .../GenerateOutputDataTest.kt | 14 ++-- .../proto3/java/dmn/ApplicationRiskScore.java | 2 +- .../java/dmn/RequiredMonthlyInstallment.java | 2 +- .../proto3/java/dmn/type/Monthly.java | 6 +- .../proto3/java/dmn/type/TApplicantData.java | 2 +- .../proto3/java/dmn/type/TBureauData.java | 2 +- .../java/dmn/type/TRequestedProduct.java | 6 +- .../proto3/kotlin/dmn/ApplicationRiskScore.kt | 2 +- .../kotlin/dmn/RequiredMonthlyInstallment.kt | 2 +- .../proto3/kotlin/dmn/type/Monthly.kt | 6 +- .../proto3/kotlin/dmn/type/TApplicantData.kt | 2 +- .../proto3/kotlin/dmn/type/TBureauData.kt | 2 +- .../kotlin/dmn/type/TRequestedProduct.kt | 6 +- .../proto3/kotlin/test/_0004LendingTest.kt | 2 +- .../proto3/kotlin/test/DateTimeProtoTest.kt | 8 +- .../kotlin/test/_0004SimpletableUTest.kt | 8 +- .../kotlin/test/_0005SimpletableATest.kt | 8 +- .../kotlin/test/_0006SimpletableP1Test.kt | 8 +- .../kotlin/test/_0007SimpletableP2Test.kt | 8 +- .../kotlin/test/_0008LXArithmeticTest.kt | 2 +- .../test/_0009InvocationArithmeticTest.kt | 8 +- .../kotlin/test/_0010MultiOutputUTest.kt | 8 +- 97 files changed, 563 insertions(+), 1122 deletions(-) delete mode 100644 dmn-core/src/main/java/com/gs/dmn/dialect/KotlinStandardDMNDialectDefinition.java delete mode 100644 dmn-core/src/main/java/com/gs/dmn/dialect/MixedJavaTimeKotlinStandardDMNDialectDefinition.java delete mode 100644 dmn-core/src/main/java/com/gs/dmn/feel/synthesis/type/MixedJavaTimeKotlinNativeTypeFactory.java delete mode 100644 dmn-core/src/main/java/com/gs/dmn/feel/synthesis/type/StandardNativeTypeToKotlinFactory.java delete mode 100644 dmn-core/src/test/java/com/gs/dmn/dialect/KotlinStandardDMNDialectDefinitionTest.java delete mode 100644 dmn-core/src/test/java/com/gs/dmn/dialect/MixedJavaTimeKotlinStandardDMNDialectDefinitionTest.java rename dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/{MixedJavaTimeKotlinSignavioDMNDialectDefinition.java => JavaTimeKotlinSignavioDMNDialectDefinition.java} (78%) delete mode 100644 dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/KotlinSignavioDMNDialectDefinition.java rename dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/{MixedJavaTimeKotlinSignavioDMNDialectDefinitionTest.java => JavaTimeKotlinSignavioDMNDialectDefinitionTest.java} (64%) delete mode 100644 dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/KotlinSignavioDMNDialectDefinitionTest.java diff --git a/dmn-core/src/main/java/com/gs/dmn/dialect/KotlinStandardDMNDialectDefinition.java b/dmn-core/src/main/java/com/gs/dmn/dialect/KotlinStandardDMNDialectDefinition.java deleted file mode 100644 index 9d0f54f63..000000000 --- a/dmn-core/src/main/java/com/gs/dmn/dialect/KotlinStandardDMNDialectDefinition.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2016 Goldman Sachs. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package com.gs.dmn.dialect; - -import com.gs.dmn.DMNModelRepository; -import com.gs.dmn.context.environment.EnvironmentFactory; -import com.gs.dmn.feel.lib.DefaultFEELLib; -import com.gs.dmn.feel.lib.FEELLib; -import com.gs.dmn.feel.synthesis.type.NativeTypeFactory; -import com.gs.dmn.feel.synthesis.type.StandardNativeTypeToKotlinFactory; -import com.gs.dmn.log.BuildLogger; -import com.gs.dmn.runtime.DefaultDMNBaseDecision; -import com.gs.dmn.serialization.TypeDeserializationConfigurer; -import com.gs.dmn.tck.ast.TestCases; -import com.gs.dmn.transformation.DMNToKotlinTransformer; -import com.gs.dmn.transformation.DMNToNativeTransformer; -import com.gs.dmn.transformation.DMNTransformer; -import com.gs.dmn.transformation.InputParameters; -import com.gs.dmn.transformation.basic.BasicDMNToJavaTransformer; -import com.gs.dmn.transformation.basic.BasicDMNToKotlinTransformer; -import com.gs.dmn.transformation.lazy.LazyEvaluationDetector; -import com.gs.dmn.transformation.template.TemplateProvider; -import com.gs.dmn.validation.DMNValidator; - -import javax.xml.datatype.Duration; -import javax.xml.datatype.XMLGregorianCalendar; -import java.math.BigDecimal; - -/** - * @deprecated As of release 8.3.0, replaced by {@link JavaTimeKotlinStandardDMNDialectDefinition} - */ -@Deprecated -public class KotlinStandardDMNDialectDefinition extends AbstractStandardDMNDialectDefinition { - // - // DMN Processors - // - @Override - public DMNToNativeTransformer createDMNToNativeTransformer(DMNValidator dmnValidator, DMNTransformer dmnTransformer, TemplateProvider templateProvider, LazyEvaluationDetector lazyEvaluationDetector, TypeDeserializationConfigurer typeDeserializationConfigurer, InputParameters inputParameters, BuildLogger logger) { - return new DMNToKotlinTransformer<>(this, dmnValidator, dmnTransformer, templateProvider, lazyEvaluationDetector, typeDeserializationConfigurer, inputParameters, logger); - } - - @Override - public BasicDMNToJavaTransformer createBasicTransformer(DMNModelRepository repository, LazyEvaluationDetector lazyEvaluationDetector, InputParameters inputParameters) { - EnvironmentFactory environmentFactory = createEnvironmentFactory(); - return new BasicDMNToKotlinTransformer(this, repository, environmentFactory, createNativeTypeFactory(), lazyEvaluationDetector, inputParameters); - } - - // - // DMN execution - // - @Override - public NativeTypeFactory createNativeTypeFactory() { - return new StandardNativeTypeToKotlinFactory(); - } - - @Override - public FEELLib createFEELLib() { - return new DefaultFEELLib(); - } - - @Override - public String getDecisionBaseClass() { - return DefaultDMNBaseDecision.class.getName(); - } -} diff --git a/dmn-core/src/main/java/com/gs/dmn/dialect/MixedJavaTimeKotlinStandardDMNDialectDefinition.java b/dmn-core/src/main/java/com/gs/dmn/dialect/MixedJavaTimeKotlinStandardDMNDialectDefinition.java deleted file mode 100644 index 471977290..000000000 --- a/dmn-core/src/main/java/com/gs/dmn/dialect/MixedJavaTimeKotlinStandardDMNDialectDefinition.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2016 Goldman Sachs. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package com.gs.dmn.dialect; - -import com.gs.dmn.DMNModelRepository; -import com.gs.dmn.context.environment.EnvironmentFactory; -import com.gs.dmn.feel.lib.FEELLib; -import com.gs.dmn.feel.lib.MixedJavaTimeFEELLib; -import com.gs.dmn.feel.synthesis.type.MixedJavaTimeKotlinNativeTypeFactory; -import com.gs.dmn.feel.synthesis.type.NativeTypeFactory; -import com.gs.dmn.log.BuildLogger; -import com.gs.dmn.runtime.MixedJavaTimeDMNBaseDecision; -import com.gs.dmn.serialization.TypeDeserializationConfigurer; -import com.gs.dmn.tck.ast.TestCases; -import com.gs.dmn.transformation.DMNToKotlinTransformer; -import com.gs.dmn.transformation.DMNToNativeTransformer; -import com.gs.dmn.transformation.DMNTransformer; -import com.gs.dmn.transformation.InputParameters; -import com.gs.dmn.transformation.basic.BasicDMNToJavaTransformer; -import com.gs.dmn.transformation.basic.BasicDMNToKotlinTransformer; -import com.gs.dmn.transformation.lazy.LazyEvaluationDetector; -import com.gs.dmn.transformation.template.TemplateProvider; -import com.gs.dmn.validation.DMNValidator; - -import javax.xml.datatype.Duration; -import java.math.BigDecimal; -import java.time.LocalDate; -import java.time.OffsetTime; -import java.time.ZonedDateTime; - -/** - * @deprecated As of release 8.3.0, replaced by {@link JavaTimeKotlinStandardDMNDialectDefinition} - */ -@Deprecated -public class MixedJavaTimeKotlinStandardDMNDialectDefinition extends AbstractStandardDMNDialectDefinition { - // - // DMN Processors - // - @Override - public DMNToNativeTransformer createDMNToNativeTransformer(DMNValidator dmnValidator, DMNTransformer dmnTransformer, TemplateProvider templateProvider, LazyEvaluationDetector lazyEvaluationDetector, TypeDeserializationConfigurer typeDeserializationConfigurer, InputParameters inputParameters, BuildLogger logger) { - return new DMNToKotlinTransformer<>(this, dmnValidator, dmnTransformer, templateProvider, lazyEvaluationDetector, typeDeserializationConfigurer, inputParameters, logger); - } - - @Override - public BasicDMNToJavaTransformer createBasicTransformer(DMNModelRepository repository, LazyEvaluationDetector lazyEvaluationDetector, InputParameters inputParameters) { - EnvironmentFactory environmentFactory = createEnvironmentFactory(); - return new BasicDMNToKotlinTransformer(this, repository, environmentFactory, createNativeTypeFactory(), lazyEvaluationDetector, inputParameters); - } - - // - // DMN execution - // - @Override - public NativeTypeFactory createNativeTypeFactory() { - return new MixedJavaTimeKotlinNativeTypeFactory(); - } - - @Override - public FEELLib createFEELLib() { - return new MixedJavaTimeFEELLib(); - } - - @Override - public String getDecisionBaseClass() { - return MixedJavaTimeDMNBaseDecision.class.getName(); - } -} diff --git a/dmn-core/src/main/java/com/gs/dmn/feel/synthesis/type/MixedJavaTimeKotlinNativeTypeFactory.java b/dmn-core/src/main/java/com/gs/dmn/feel/synthesis/type/MixedJavaTimeKotlinNativeTypeFactory.java deleted file mode 100644 index 17bc25036..000000000 --- a/dmn-core/src/main/java/com/gs/dmn/feel/synthesis/type/MixedJavaTimeKotlinNativeTypeFactory.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2016 Goldman Sachs. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package com.gs.dmn.feel.synthesis.type; - -import java.util.LinkedHashMap; -import java.util.Map; - -import static com.gs.dmn.el.analysis.semantics.type.AnyType.ANY; -import static com.gs.dmn.el.analysis.semantics.type.NullType.NULL; -import static com.gs.dmn.feel.analysis.semantics.type.BooleanType.BOOLEAN; -import static com.gs.dmn.feel.analysis.semantics.type.DateTimeType.DATE_AND_TIME; -import static com.gs.dmn.feel.analysis.semantics.type.DateType.DATE; -import static com.gs.dmn.feel.analysis.semantics.type.DaysAndTimeDurationType.DAYS_AND_TIME_DURATION; -import static com.gs.dmn.feel.analysis.semantics.type.YearsAndMonthsDurationType.YEARS_AND_MONTHS_DURATION; -import static com.gs.dmn.feel.analysis.semantics.type.EnumerationType.ENUMERATION; -import static com.gs.dmn.feel.analysis.semantics.type.NumberType.NUMBER; -import static com.gs.dmn.feel.analysis.semantics.type.StringType.STRING; -import static com.gs.dmn.feel.analysis.semantics.type.TimeType.TIME; - -public class MixedJavaTimeKotlinNativeTypeFactory extends KotlinTypeFactory { - private static final Map FEEL_TYPE_TO_JAVA_TYPE = new LinkedHashMap<>(); - static { - FEEL_TYPE_TO_JAVA_TYPE.put(ENUMERATION.getName(), String.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(YEARS_AND_MONTHS_DURATION.getName(), javax.xml.datatype.Duration.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(DAYS_AND_TIME_DURATION.getName(), javax.xml.datatype.Duration.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(DATE_AND_TIME.getName(), java.time.ZonedDateTime.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(TIME.getName(), java.time.OffsetTime.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(DATE.getName(), java.time.LocalDate.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(STRING.getName(), String.class.getSimpleName()); - FEEL_TYPE_TO_JAVA_TYPE.put(BOOLEAN.getName(), Boolean.class.getSimpleName()); - FEEL_TYPE_TO_JAVA_TYPE.put(NUMBER.getName(), java.math.BigDecimal.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(ANY.getName(), "kotlin.Any"); - FEEL_TYPE_TO_JAVA_TYPE.put(NULL.getName(), "kotlin.Any"); - } - - private static final Map FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE = new LinkedHashMap<>(); - static { - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(ENUMERATION.getName(), "kotlin.String"); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(YEARS_AND_MONTHS_DURATION.getName(), javax.xml.datatype.Duration.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(DAYS_AND_TIME_DURATION.getName(), javax.xml.datatype.Duration.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(DATE_AND_TIME.getName(), java.time.ZonedDateTime.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(TIME.getName(), java.time.OffsetTime.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(DATE.getName(), java.time.LocalDate.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(STRING.getName(), String.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(BOOLEAN.getName(), Boolean.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(NUMBER.getName(), java.math.BigDecimal.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(ANY.getName(), "kotlin.Any"); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(NULL.getName(), "kotlin.Any"); - } - - @Override - public String toNativeType(String feelType) { - return FEEL_TYPE_TO_JAVA_TYPE.get(feelType); - } - - @Override - public String toQualifiedNativeType(String feelType) { - return FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.get(feelType); - } -} diff --git a/dmn-core/src/main/java/com/gs/dmn/feel/synthesis/type/StandardNativeTypeToKotlinFactory.java b/dmn-core/src/main/java/com/gs/dmn/feel/synthesis/type/StandardNativeTypeToKotlinFactory.java deleted file mode 100644 index 6a9fed96d..000000000 --- a/dmn-core/src/main/java/com/gs/dmn/feel/synthesis/type/StandardNativeTypeToKotlinFactory.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2016 Goldman Sachs. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package com.gs.dmn.feel.synthesis.type; - -import java.util.LinkedHashMap; -import java.util.Map; - -import static com.gs.dmn.el.analysis.semantics.type.AnyType.ANY; -import static com.gs.dmn.el.analysis.semantics.type.NullType.NULL; -import static com.gs.dmn.feel.analysis.semantics.type.BooleanType.BOOLEAN; -import static com.gs.dmn.feel.analysis.semantics.type.DateTimeType.DATE_AND_TIME; -import static com.gs.dmn.feel.analysis.semantics.type.DateType.DATE; -import static com.gs.dmn.feel.analysis.semantics.type.DaysAndTimeDurationType.DAYS_AND_TIME_DURATION; -import static com.gs.dmn.feel.analysis.semantics.type.YearsAndMonthsDurationType.YEARS_AND_MONTHS_DURATION; -import static com.gs.dmn.feel.analysis.semantics.type.EnumerationType.ENUMERATION; -import static com.gs.dmn.feel.analysis.semantics.type.NumberType.NUMBER; -import static com.gs.dmn.feel.analysis.semantics.type.StringType.STRING; -import static com.gs.dmn.feel.analysis.semantics.type.TimeType.TIME; - -public class StandardNativeTypeToKotlinFactory extends KotlinTypeFactory { - private static final Map FEEL_TYPE_TO_JAVA_TYPE = new LinkedHashMap<>(); - static { - FEEL_TYPE_TO_JAVA_TYPE.put(ENUMERATION.getName(), String.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(YEARS_AND_MONTHS_DURATION.getName(), javax.xml.datatype.Duration.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(DAYS_AND_TIME_DURATION.getName(), javax.xml.datatype.Duration.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(DATE_AND_TIME.getName(), javax.xml.datatype.XMLGregorianCalendar.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(TIME.getName(), javax.xml.datatype.XMLGregorianCalendar.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(DATE.getName(), javax.xml.datatype.XMLGregorianCalendar.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(STRING.getName(), String.class.getSimpleName()); - FEEL_TYPE_TO_JAVA_TYPE.put(BOOLEAN.getName(), Boolean.class.getSimpleName()); - FEEL_TYPE_TO_JAVA_TYPE.put(NUMBER.getName(), java.math.BigDecimal.class.getName()); - FEEL_TYPE_TO_JAVA_TYPE.put(ANY.getName(), "kotlin.Any"); - FEEL_TYPE_TO_JAVA_TYPE.put(NULL.getName(), "kotlin.Any"); - } - - private static final Map FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE = new LinkedHashMap<>(); - static { - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(ENUMERATION.getName(), "kotlin.String"); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(YEARS_AND_MONTHS_DURATION.getName(), javax.xml.datatype.Duration.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(DAYS_AND_TIME_DURATION.getName(), javax.xml.datatype.Duration.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(DATE_AND_TIME.getName(), javax.xml.datatype.XMLGregorianCalendar.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(TIME.getName(), javax.xml.datatype.XMLGregorianCalendar.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(DATE.getName(), javax.xml.datatype.XMLGregorianCalendar.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(STRING.getName(), "kotlin.String"); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(BOOLEAN.getName(), Boolean.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(NUMBER.getName(), java.math.BigDecimal.class.getName()); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(ANY.getName(), "kotlin.Any"); - FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.put(NULL.getName(), "kotlin.Any"); - } - - @Override - public String toNativeType(String feelType) { - return FEEL_TYPE_TO_JAVA_TYPE.get(feelType); - } - - @Override - public String toQualifiedNativeType(String feelType) { - return FEEL_TYPE_TO_QUALIFIED_JAVA_TYPE.get(feelType); - } -} diff --git a/dmn-core/src/main/java/com/gs/dmn/transformation/native_/JavaFactory.java b/dmn-core/src/main/java/com/gs/dmn/transformation/native_/JavaFactory.java index 2a737853c..0c607aa2d 100644 --- a/dmn-core/src/main/java/com/gs/dmn/transformation/native_/JavaFactory.java +++ b/dmn-core/src/main/java/com/gs/dmn/transformation/native_/JavaFactory.java @@ -550,8 +550,9 @@ public String extractMemberFromProtoValue(String protoValue, Type type, boolean type = Type.extractTypeFromConstraint(type); if (FEELTypes.FEEL_PRIMITIVE_TYPES.contains(type)) { if (type == NumberType.NUMBER) { - String qNativeType = this.transformer.getNativeTypeFactory().getNativeNumberConcreteType(); - return String.format("%s.valueOf(%s)", qNativeType, protoValue); + String qNativeConcreteType = this.transformer.getNativeTypeFactory().getNativeNumberConcreteType(); + String value = String.format("%s.valueOf(%s)", qNativeConcreteType, protoValue); + return cast(this.transformer.getNativeTypeFactory().getNativeNumberType(), value); } else if (type == BooleanType.BOOLEAN) { return protoValue; } else if (type == StringType.STRING) { @@ -571,8 +572,10 @@ public String extractMemberFromProtoValue(String protoValue, Type type, boolean String mapFunction; if (FEELTypes.FEEL_PRIMITIVE_TYPES.contains(elementType)) { if (elementType == NumberType.NUMBER) { - String qNativeType = this.transformer.getNativeTypeFactory().getNativeNumberConcreteType(); - mapFunction = String.format("e -> %s.valueOf(e)", qNativeType); + String qNativeType = this.transformer.getNativeTypeFactory().getNativeNumberType(); + String qNativeConcreteType = this.transformer.getNativeTypeFactory().getNativeNumberConcreteType(); + String value = String.format("%s.valueOf(e)", qNativeConcreteType); + mapFunction = String.format("e -> %s", cast(qNativeType, value)); } else if (elementType == BooleanType.BOOLEAN) { mapFunction = "e -> e"; } else if (elementType == StringType.STRING) { diff --git a/dmn-core/src/test/java/com/gs/dmn/dialect/KotlinStandardDMNDialectDefinitionTest.java b/dmn-core/src/test/java/com/gs/dmn/dialect/KotlinStandardDMNDialectDefinitionTest.java deleted file mode 100644 index 421bcae11..000000000 --- a/dmn-core/src/test/java/com/gs/dmn/dialect/KotlinStandardDMNDialectDefinitionTest.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2016 Goldman Sachs. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package com.gs.dmn.dialect; - -import com.gs.dmn.feel.lib.DefaultFEELLib; -import com.gs.dmn.feel.synthesis.type.StandardNativeTypeToKotlinFactory; -import com.gs.dmn.runtime.DefaultDMNBaseDecision; -import com.gs.dmn.runtime.interpreter.StandardDMNInterpreter; -import com.gs.dmn.tck.ast.TestCases; -import com.gs.dmn.transformation.DMNToKotlinTransformer; -import com.gs.dmn.transformation.basic.BasicDMNToKotlinTransformer; - -import javax.xml.datatype.Duration; -import javax.xml.datatype.XMLGregorianCalendar; -import java.math.BigDecimal; - -public class KotlinStandardDMNDialectDefinitionTest extends AbstractStandardDMNDialectDefinitionTest { - @Override - protected DMNDialectDefinition makeDialect() { - return new KotlinStandardDMNDialectDefinition(); - } - - @Override - protected String getExpectedDMNInterpreterClass() { - return StandardDMNInterpreter.class.getName(); - } - - @Override - protected String getExpectedDMNToNativeTransformerClass() { - return DMNToKotlinTransformer.class.getName(); - } - - @Override - protected String getBasicTransformerClass() { - return BasicDMNToKotlinTransformer.class.getName(); - } - - @Override - protected String getExpectedNativeTypeFactoryClass() { - return StandardNativeTypeToKotlinFactory.class.getName(); - } - - @Override - protected String getExpectedFEELLibClass() { - return DefaultFEELLib.class.getName(); - } - - @Override - protected String getExpectedDecisionBaseClass() { - return DefaultDMNBaseDecision.class.getName(); - } -} \ No newline at end of file diff --git a/dmn-core/src/test/java/com/gs/dmn/dialect/MixedJavaTimeKotlinStandardDMNDialectDefinitionTest.java b/dmn-core/src/test/java/com/gs/dmn/dialect/MixedJavaTimeKotlinStandardDMNDialectDefinitionTest.java deleted file mode 100644 index 8efd914ef..000000000 --- a/dmn-core/src/test/java/com/gs/dmn/dialect/MixedJavaTimeKotlinStandardDMNDialectDefinitionTest.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2016 Goldman Sachs. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package com.gs.dmn.dialect; - -import com.gs.dmn.feel.lib.MixedJavaTimeFEELLib; -import com.gs.dmn.feel.synthesis.type.MixedJavaTimeKotlinNativeTypeFactory; -import com.gs.dmn.runtime.MixedJavaTimeDMNBaseDecision; -import com.gs.dmn.runtime.interpreter.StandardDMNInterpreter; -import com.gs.dmn.tck.ast.TestCases; -import com.gs.dmn.transformation.DMNToKotlinTransformer; -import com.gs.dmn.transformation.basic.BasicDMNToKotlinTransformer; - -import javax.xml.datatype.Duration; -import java.math.BigDecimal; -import java.time.LocalDate; -import java.time.OffsetTime; -import java.time.ZonedDateTime; - -public class MixedJavaTimeKotlinStandardDMNDialectDefinitionTest extends AbstractStandardDMNDialectDefinitionTest { - @Override - protected DMNDialectDefinition makeDialect() { - return new MixedJavaTimeKotlinStandardDMNDialectDefinition(); - } - - @Override - protected String getExpectedDMNInterpreterClass() { - return StandardDMNInterpreter.class.getName(); - } - - @Override - protected String getExpectedDMNToNativeTransformerClass() { - return DMNToKotlinTransformer.class.getName(); - } - - @Override - protected String getBasicTransformerClass() { - return BasicDMNToKotlinTransformer.class.getName(); - } - - @Override - protected String getExpectedNativeTypeFactoryClass() { - return MixedJavaTimeKotlinNativeTypeFactory.class.getName(); - } - - @Override - protected String getExpectedFEELLibClass() { - return MixedJavaTimeFEELLib.class.getName(); - } - - @Override - protected String getExpectedDecisionBaseClass() { - return MixedJavaTimeDMNBaseDecision.class.getName(); - } -} \ No newline at end of file diff --git a/dmn-core/src/test/java/com/gs/dmn/tck/AbstractTestCasesToKotlinJUnitTransformerTest.java b/dmn-core/src/test/java/com/gs/dmn/tck/AbstractTestCasesToKotlinJUnitTransformerTest.java index 1a0425d66..76aafb7cf 100644 --- a/dmn-core/src/test/java/com/gs/dmn/tck/AbstractTestCasesToKotlinJUnitTransformerTest.java +++ b/dmn-core/src/test/java/com/gs/dmn/tck/AbstractTestCasesToKotlinJUnitTransformerTest.java @@ -13,7 +13,7 @@ package com.gs.dmn.tck; import com.gs.dmn.dialect.DMNDialectDefinition; -import com.gs.dmn.dialect.KotlinStandardDMNDialectDefinition; +import com.gs.dmn.dialect.JavaTimeKotlinStandardDMNDialectDefinition; import com.gs.dmn.log.BuildLogger; import com.gs.dmn.tck.ast.TestCases; import com.gs.dmn.transformation.FileTransformer; @@ -21,20 +21,20 @@ import com.gs.dmn.transformation.template.KotlinTreeTemplateProvider; import com.gs.dmn.transformation.template.TemplateProvider; -import javax.xml.datatype.Duration; -import javax.xml.datatype.XMLGregorianCalendar; -import java.math.BigDecimal; import java.nio.file.Path; +import java.time.LocalDate; +import java.time.temporal.TemporalAccessor; +import java.time.temporal.TemporalAmount; -public abstract class AbstractTestCasesToKotlinJUnitTransformerTest extends AbstractTCKTestCasesToJUnitTransformerTest { +public abstract class AbstractTestCasesToKotlinJUnitTransformerTest extends AbstractTCKTestCasesToJUnitTransformerTest { @Override protected FileTransformer makeTransformer(Path inputModelPath, InputParameters inputParameters, BuildLogger logger) { return new TCKTestCasesToKotlinJUnitTransformer<>(makeDialectDefinition(), makeDMNValidator(logger), makeDMNTransformer(logger), makeTemplateProvider(), makeLazyEvaluationDetector(inputParameters, LOGGER), makeTypeDeserializationConfigurer(logger), inputModelPath, inputParameters, logger); } @Override - protected DMNDialectDefinition makeDialectDefinition() { - return new KotlinStandardDMNDialectDefinition(); + protected DMNDialectDefinition makeDialectDefinition() { + return new JavaTimeKotlinStandardDMNDialectDefinition(); } @Override diff --git a/dmn-runtime/src/main/java/com/gs/dmn/signavio/feel/lib/SignavioUtil.java b/dmn-runtime/src/main/java/com/gs/dmn/signavio/feel/lib/SignavioUtil.java index 2a6d690aa..23416b6af 100644 --- a/dmn-runtime/src/main/java/com/gs/dmn/signavio/feel/lib/SignavioUtil.java +++ b/dmn-runtime/src/main/java/com/gs/dmn/signavio/feel/lib/SignavioUtil.java @@ -73,7 +73,9 @@ public static Boolean equals(Object o1, Object o2) { } private static Boolean equalNumbers(Object o1, Object o2) { - return ((BigDecimal) o1).compareTo((BigDecimal) o2) == 0; + BigDecimal b1 = asBigDecimal(o1); + BigDecimal b2 = asBigDecimal(o2); + return b1.compareTo(b2) == 0; } private static Boolean equalLists(Object o1, Object o2) { @@ -118,6 +120,10 @@ public static List asBigDecimals(List objects) { public static BigDecimal asBigDecimal(Object e) { if (e instanceof BigDecimal) { return (BigDecimal) e; + } else if (e instanceof Integer) { + return BigDecimal.valueOf(((Integer) e).longValue()); + } else if (e instanceof Double) { + return BigDecimal.valueOf(((Double) e).doubleValue()); } else { throw new DMNRuntimeException(String.format("Expected number found '%s'", e)); } diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/pom.xml b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/pom.xml index 833f01696..42ba0172f 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/pom.xml +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/pom.xml @@ -66,7 +66,7 @@ jdmn-maven-plugin ${project.parent.version} - com.gs.dmn.signavio.dialect.KotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.RuleDescriptionTransformer @@ -529,7 +529,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/Example credit decision.dmn ${generated.source.code.folder} @@ -544,7 +544,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/Example credit decision.json ${dmn.diagram.folder}/complex/Example credit decision.dmn ${generated.test.code.folder} @@ -561,7 +561,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.KotlinSignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/Example credit decision.dmn ${generated.source.code.folder} @@ -578,7 +578,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.KotlinSignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/Example credit decision.json ${dmn.diagram.folder}/complex/Example credit decision.dmn @@ -1308,7 +1308,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/TestDecision.dmn ${generated.source.code.folder} @@ -1323,7 +1323,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/TestDecision.json ${dmn.diagram.folder}/complex/TestDecision.dmn ${generated.test.code.folder} @@ -1340,7 +1340,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/dmn-link-issue-1.dmn ${generated.source.code.folder} @@ -1355,7 +1355,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/dmn-link-issue-1.json ${dmn.diagram.folder}/complex/dmn-link-issue-1.dmn ${generated.test.code.folder} @@ -1372,7 +1372,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/NullComplexTypeAccess.dmn ${generated.source.code.folder} @@ -1387,7 +1387,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/NullComplexTypeAccess.json ${dmn.diagram.folder}/complex/NullComplexTypeAccess.dmn ${generated.test.code.folder} @@ -1404,7 +1404,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/StringLength.dmn ${generated.source.code.folder} @@ -1419,7 +1419,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/StringLength.json ${dmn.diagram.folder}/complex/StringLength.dmn ${generated.test.code.folder} @@ -1436,7 +1436,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/large-test-set.dmn ${generated.source.code.folder} @@ -1451,7 +1451,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/large-test-set.json ${dmn.diagram.folder}/complex/large-test-set.dmn ${generated.test.code.folder} @@ -1468,7 +1468,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/IteratorExampleReturningMultiple.dmn ${generated.source.code.folder} @@ -1487,7 +1487,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/IteratorExampleReturningMultiple.json ${dmn.diagram.folder}/complex/IteratorExampleReturningMultiple.dmn ${generated.test.code.folder} @@ -1508,7 +1508,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/TypeInterfaceDeserialization.dmn ${generated.source.code.folder} @@ -1523,7 +1523,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/TypeInterfaceDeserialization.json ${dmn.diagram.folder}/complex/TypeInterfaceDeserialization.dmn ${generated.test.code.folder} @@ -1540,7 +1540,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/credit-decision-missing-definitions.dmn ${generated.source.code.folder} @@ -1585,7 +1585,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/credit-decision-missing-definitions.json ${dmn.diagram.folder}/complex/credit-decision-missing-definitions.dmn ${generated.test.code.folder} @@ -1631,7 +1631,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/decision-with-annotations.dmn ${generated.source.code.folder} @@ -1687,7 +1687,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/Example credit decision.dmn ${generated.source.code.folder} @@ -1705,7 +1705,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/Example credit decision.json ${dmn.diagram.folder}/complex/Example credit decision.dmn ${generated.test.code.folder} @@ -1725,7 +1725,7 @@ dmn-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.KotlinSignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/date-time-proto.dmn ${generated.source.code.folder} @@ -1745,7 +1745,7 @@ testlab-to-kotlin - com.gs.dmn.signavio.dialect.MixedJavaTimeKotlinSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.KotlinSignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/date-time-proto.json/ ${dmn.diagram.folder}/complex/date-time-proto.dmn diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/AbstractHandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/AbstractHandwrittenDecisionTest.java index 833e0c72c..076b1769e 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/AbstractHandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/AbstractHandwrittenDecisionTest.java @@ -19,6 +19,9 @@ import com.gs.dmn.serialization.JsonSerializer; import org.junit.jupiter.api.BeforeEach; +import java.math.BigDecimal; +import java.math.RoundingMode; + public abstract class AbstractHandwrittenDecisionTest { protected AnnotationSet annotationSet; protected ExecutionContext context; @@ -38,4 +41,8 @@ public void setUp() { this.context = ExecutionContextBuilder.executionContext().build(); this.annotationSet = context.getAnnotations(); } + + protected String round(Number number, int scale) { + return new BigDecimal(number.toString()).setScale(scale, RoundingMode.FLOOR).toPlainString(); + } } diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/HandwrittenGenerateOutputDataTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/HandwrittenGenerateOutputDataTest.java index 5d4a73f66..5060b0173 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/HandwrittenGenerateOutputDataTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/HandwrittenGenerateOutputDataTest.java @@ -20,7 +20,6 @@ import com.gs.dmn.runtime.annotation.AnnotationSet; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -30,8 +29,8 @@ public class HandwrittenGenerateOutputDataTest extends AbstractHandwrittenDecisi @Test public void testCase1() { - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List generateOutputDataOutput = applyDecision(applicant, currentRiskAppetite, lendingThreshold); @@ -48,8 +47,8 @@ public void testCase1() { @Test public void testCase2() { - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("18"), decision.number("65"), "Bill", decision.asList("Card rejection", "Default on obligations")); List output = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -59,8 +58,8 @@ public void testCase2() { @Test public void testCase3() { - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("65"), decision.number("80"), "Charlie", decision.asList("Late payment", "Default on obligations", "Bankruptcy")); List generateOutputDataOutput = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -80,13 +79,13 @@ protected void applyDecision() { applicant.setCreditScore(decision.number("80")); applicant.setPriorIssues(decision.asList("Late payment", "Default on obligations", "Bankruptcy")); - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); applyDecision(applicant, currentRiskAppetite, lendingThreshold); } - private List applyDecision(Applicant applicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold) { + private List applyDecision(Applicant applicant, Number currentRiskAppetite, Number lendingThreshold) { return decision.apply(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, context); } } \ No newline at end of file diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/PostorderTraceListenerTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/PostorderTraceListenerTest.java index 9b9da2339..dcf0d7674 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/PostorderTraceListenerTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/PostorderTraceListenerTest.java @@ -22,7 +22,6 @@ import org.junit.jupiter.api.Test; import java.io.File; -import java.math.BigDecimal; import java.util.Collections; import java.util.List; @@ -34,8 +33,8 @@ public void testListener() throws Exception { PostorderTraceEventListener listener = new PostorderTraceEventListener(); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(applicant, currentRiskAppetite, lendingThreshold, listener); @@ -52,8 +51,8 @@ public void testListenerWithFilter() throws Exception { PostorderTraceEventListener listener = new PostorderTraceEventListener(Collections.singletonList("Make credit decision")); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, listener); @@ -65,7 +64,7 @@ public void testListenerWithFilter() throws Exception { checkTrace(expectedOutputFile, actualOutputFile); } - private List applyDecision(Applicant toApplicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold, PostorderTraceEventListener listener) { + private List applyDecision(Applicant toApplicant, Number currentRiskAppetite, Number lendingThreshold, PostorderTraceEventListener listener) { ExecutionContext context = ExecutionContextBuilder.executionContext().withEventListener(listener).build(); return decision.apply(toApplicant, currentRiskAppetite, lendingThreshold, context); diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/TreeTraceListenerTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/TreeTraceListenerTest.java index b36c2f045..fa283f751 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/TreeTraceListenerTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/TreeTraceListenerTest.java @@ -21,7 +21,6 @@ import org.junit.jupiter.api.Test; import java.io.File; -import java.math.BigDecimal; import java.util.List; public class TreeTraceListenerTest extends AbstractTraceListenerTest { @@ -32,8 +31,8 @@ public void testTree() throws Exception { TreeTraceEventListener listener = new TreeTraceEventListener(); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, listener); @@ -50,8 +49,8 @@ public void testPreorder() throws Exception { TreeTraceEventListener listener = new TreeTraceEventListener(); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, listener); @@ -68,8 +67,8 @@ public void testPostorder() throws Exception { TreeTraceEventListener listener = new TreeTraceEventListener(); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, listener); @@ -81,7 +80,7 @@ public void testPostorder() throws Exception { checkTrace(expectedOutputFile, actualOutputFile); } - private List applyDecision(Applicant applicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold, TreeTraceEventListener listener) { + private List applyDecision(Applicant applicant, Number currentRiskAppetite, Number lendingThreshold, TreeTraceEventListener listener) { return decision.apply(applicant, currentRiskAppetite, lendingThreshold, ExecutionContextBuilder.executionContext().withEventListener(listener).build()); } diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed/HandwrittenGenerateOutputDataTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed/HandwrittenGenerateOutputDataTest.java index 6b129bd8e..8d8ca8263 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed/HandwrittenGenerateOutputDataTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed/HandwrittenGenerateOutputDataTest.java @@ -18,7 +18,6 @@ import com.gs.dmn.runtime.Assert; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.List; public class HandwrittenGenerateOutputDataTest extends AbstractHandwrittenDecisionTest { @@ -26,8 +25,8 @@ public class HandwrittenGenerateOutputDataTest extends AbstractHandwrittenDecisi @Test public void testCase1() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List generateOutputDataOutput = applyDecision(applicant, currentRiskAppetite, lendingThreshold); @@ -37,8 +36,8 @@ public void testCase1() { @Test public void testCase2() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("18"), decision.number("65"), "Bill", decision.asList("Card rejection", "Default on obligations")); List output = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -48,8 +47,8 @@ public void testCase2() { @Test public void testCase3() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("65"), decision.number("80"), "Charlie", decision.asList("Late payment", "Default on obligations", "Bankruptcy")); List generateOutputDataOutput = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -69,13 +68,13 @@ protected void applyDecision() { applicant.setCreditScore(decision.number("80")); applicant.setPriorIssues(decision.asList("Late payment", "Default on obligations", "Bankruptcy")); - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); applyDecision(applicant, currentRiskAppetite, lendingThreshold); } - private List applyDecision(Applicant applicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold) { + private List applyDecision(Applicant applicant, Number currentRiskAppetite, Number lendingThreshold) { return decision.apply(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, context); } } \ No newline at end of file diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed_tree/HandwrittenGenerateOutputDataTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed_tree/HandwrittenGenerateOutputDataTest.java index c6708ccf6..6bac0eed1 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed_tree/HandwrittenGenerateOutputDataTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed_tree/HandwrittenGenerateOutputDataTest.java @@ -19,7 +19,6 @@ import com.gs.dmn.runtime.annotation.Annotation; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -29,8 +28,8 @@ public class HandwrittenGenerateOutputDataTest extends AbstractHandwrittenDecisi @Test public void testCase1() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List generateOutputDataOutput = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -46,8 +45,8 @@ public void testCase1() { @Test public void testCase2() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("18"), decision.number("65"), "Bill", decision.asList("Card rejection", "Default on obligations")); List output = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -57,8 +56,8 @@ public void testCase2() { @Test public void testCase3() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("65"), decision.number("80"), "Charlie", decision.asList("Late payment", "Default on obligations", "Bankruptcy")); List generateOutputDataOutput = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -78,13 +77,13 @@ protected void applyDecision() { applicant.setCreditScore(decision.number("80")); applicant.setPriorIssues(decision.asList("Late payment", "Default on obligations", "Bankruptcy")); - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); applyDecision(applicant, currentRiskAppetite, lendingThreshold); } - private List applyDecision(Applicant applicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold) { + private List applyDecision(Applicant applicant, Number currentRiskAppetite, Number lendingThreshold) { return decision.apply(applicant, currentRiskAppetite, lendingThreshold, context); } } \ No newline at end of file diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/npe_validation_2/HandwrittenZipTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/npe_validation_2/HandwrittenZipTest.java index 379f45b05..3b9605e59 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/npe_validation_2/HandwrittenZipTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/npe_validation_2/HandwrittenZipTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -27,16 +26,16 @@ public class HandwrittenZipTest extends AbstractHandwrittenDecisionTest { @Test public void testCase1() { - java.math.BigDecimal month = decision.number("12"); - java.math.BigDecimal day = decision.number("25"); + Number month = decision.number("12"); + Number day = decision.number("25"); List names = decision.asList("Fred", "Jim", "Tom", "Sarah", "Kate"); - java.math.BigDecimal hour = decision.number("8"); - java.math.BigDecimal year = decision.number("2016"); - java.math.BigDecimal second = decision.number("10"); - List ages = decision.asList( + Number hour = decision.number("8"); + Number year = decision.number("2016"); + Number second = decision.number("10"); + List ages = decision.asList( decision.number("25"), decision.number("40"), decision.number("65"), decision.number("80"), decision.number("105") ); - java.math.BigDecimal minute = decision.number("5"); + Number minute = decision.number("5"); List zipOutput = applyDecision(ages, day, hour, minute, month, names, second, year); List expectedOutput = decision.asList(new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("25"), "not exactly 1 to 5", decision.number("0"), decision.number("0"), "Fred", decision.number("12")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("40"), "non of the numbers 1 to 5", decision.number("0"), decision.number("0"), "Jim", decision.number("2016")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("65"), null, decision.number("0"), decision.number("0"), "Tom", decision.number("7")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("80"), null, decision.numericUnaryMinus(decision.number("359")), decision.numericUnaryMinus(decision.number("8612")), "Sarah", decision.number("25")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("105"), null, null, null, "Kate", decision.number("5"))); @@ -45,16 +44,16 @@ public void testCase1() { @Test public void testCase2() { - java.math.BigDecimal month = decision.number("2"); - java.math.BigDecimal day = decision.number("1"); + Number month = decision.number("2"); + Number day = decision.number("1"); List names = decision.asList("John", "Amy", "Tim", "James", "Ewa"); - java.math.BigDecimal hour = decision.number("1"); - java.math.BigDecimal year = decision.number("3"); - java.math.BigDecimal second = decision.number("3"); - List ages = decision.asList( + Number hour = decision.number("1"); + Number year = decision.number("3"); + Number second = decision.number("3"); + List ages = decision.asList( decision.number("3"), decision.number("4"), decision.number("5"), decision.number("2"), decision.number("1") ); - java.math.BigDecimal minute = decision.number("2"); + Number minute = decision.number("2"); List zipOutput = applyDecision(ages, day, hour, minute, month, names, second, year); List expectedOutput = decision.asList(new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("3"), "not exactly 1 to 5", decision.number("0"), decision.number("0"), "John", decision.number("2")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("4"), "only numbers between 1 and 5", decision.number("0"), decision.number("0"), "Amy", decision.number("3")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("5"), "at least one number betwen 1 and 5", decision.number("0"), decision.number("0"), "Tim", decision.number("6")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("2"), "only numbers between 1 and 5", decision.number("735202"), decision.number("17644858"), "James", decision.number("1")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("1"), null, null, null, "Ewa", decision.number("2"))); @@ -67,24 +66,24 @@ private void checkValues(Object expected, Object actual) { @Override protected void applyDecision() { - List ages = decision.asList( + List ages = decision.asList( decision.number("3"), decision.number("4"), decision.number("5"), decision.number("2"), decision.number("1") ); - BigDecimal day = decision.number("1"); - BigDecimal hour = decision.number("1"); - BigDecimal minute = decision.number("2"); - BigDecimal month = decision.number("2"); + Number day = decision.number("1"); + Number hour = decision.number("1"); + Number minute = decision.number("2"); + Number month = decision.number("2"); List names = decision.asList("John", "Amy", "Tim", "James", "Eva"); - BigDecimal second = decision.number("3"); - BigDecimal year = decision.number("3"); + Number second = decision.number("3"); + Number year = decision.number("3"); applyDecision(ages, day, hour, minute, month, names, second, year); } - private List applyDecision(List ages, BigDecimal day, BigDecimal hour, BigDecimal minute, BigDecimal month, List names, BigDecimal second, BigDecimal year) { + private List applyDecision(List ages, Number day, Number hour, Number minute, Number month, List names, Number second, Number year) { return zip.apply(ages, day, hour, minute, month, names, second, year, context); } } \ No newline at end of file diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_feel_complex_literal_expression/HandwrittenMonthlyTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_feel_complex_literal_expression/HandwrittenMonthlyTest.java index efb6477bd..a45e8bf7e 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_feel_complex_literal_expression/HandwrittenMonthlyTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_feel_complex_literal_expression/HandwrittenMonthlyTest.java @@ -34,14 +34,14 @@ public void testApply() { loan.setRate(new BigDecimal("5", MathContext.DECIMAL128)); loan.setTerm(new BigDecimal("10", MathContext.DECIMAL128)); - BigDecimal output = applyDecision(toJson(loan)); + Number output = applyDecision(toJson(loan)); - assertEquals("100.00", output.toString()); + assertEquals("100.00", round(output, 2)); } @Test public void testApplyWhenNull() { - BigDecimal output = applyDecision(null); + Number output = applyDecision(null); assertNull(output); } @@ -55,7 +55,7 @@ protected void applyDecision() { applyDecision(toJson(loan)); } - private BigDecimal applyDecision(String loan) { + private Number applyDecision(String loan) { Map input = new LinkedHashMap<>(); input.put("Loan", loan); return decision.applyMap(input, context); diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_feel_date_literal_expression/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_feel_date_literal_expression/HandwrittenDecisionTest.java index 201105b2f..1f800cdcc 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_feel_date_literal_expression/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_feel_date_literal_expression/HandwrittenDecisionTest.java @@ -16,7 +16,6 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -27,14 +26,14 @@ public class HandwrittenDecisionTest extends AbstractHandwrittenDecisionTest { @Test public void testApply() throws Exception { - BigDecimal output = applyDecision(null, "1965-03-29", null, null, null); + Number output = applyDecision(null, "1965-03-29", null, null, null); assertEquals("29", output.toString()); } @Test public void testApplyWhenNull() { Assertions.assertThrows(NullPointerException.class, () -> { - BigDecimal output = applyDecision(null, null, null, null, null); + Number output = applyDecision(null, null, null, null, null); assertEquals(29, output.intValue()); }); } @@ -44,7 +43,7 @@ protected void applyDecision() { applyDecision(null, "1965-03-29", null, null, null); } - private BigDecimal applyDecision(String booleanInput, String dateInput, String enumerationInput, String numberInput, String stringInput) { + private Number applyDecision(String booleanInput, String dateInput, String enumerationInput, String numberInput, String stringInput) { Map input = new LinkedHashMap<>(); input.put("BooleanInput", booleanInput); input.put("DateInput", dateInput); diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_count_hit_policy/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_count_hit_policy/HandwrittenDecisionTest.java index 55af77dde..f863ae8f2 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_count_hit_policy/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_count_hit_policy/HandwrittenDecisionTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -37,7 +36,7 @@ protected void applyDecision() { applyDecision(null, null); } - private BigDecimal applyDecision(String numberInput, String textInput) { + private Number applyDecision(String numberInput, String textInput) { Map input = new LinkedHashMap<>(); input.put("NumberInput", numberInput); input.put("TextInput", textInput); diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_min_hit_policy/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_min_hit_policy/HandwrittenDecisionTest.java index 23dbd59e5..b2cd6233d 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_min_hit_policy/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_min_hit_policy/HandwrittenDecisionTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -37,7 +36,7 @@ protected void applyDecision() { applyDecision(null, null); } - private BigDecimal applyDecision(String numberInput, String textInput) { + private Number applyDecision(String numberInput, String textInput) { Map input = new LinkedHashMap<>(); input.put("NumberInput", numberInput); input.put("TextInput", textInput); diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_sum_hit_policy/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_sum_hit_policy/HandwrittenDecisionTest.java index 2042521b5..00bbac5b7 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_sum_hit_policy/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_sum_hit_policy/HandwrittenDecisionTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -37,7 +36,7 @@ protected void applyDecision() { applyDecision(null, null); } - private BigDecimal applyDecision(String numberInput, String textInput) { + private Number applyDecision(String numberInput, String textInput) { Map input = new LinkedHashMap<>(); input.put("NumberInput", numberInput); input.put("TextInput", textInput); diff --git a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_with_external_function/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_with_external_function/HandwrittenDecisionTest.java index 105900a9e..a938ad433 100644 --- a/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_with_external_function/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-kotlin-translator/src/test/java/com/gs/dmn/generated/sd_with_external_function/HandwrittenDecisionTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -36,7 +35,7 @@ protected void applyDecision() { applyDecision(null, null); } - private BigDecimal applyDecision(String a, String b) { + private Number applyDecision(String a, String b) { Map input = new LinkedHashMap<>(); input.put("A", a); input.put("B", b); diff --git a/dmn-signavio-it/dmn-signavio-it-translator/pom.xml b/dmn-signavio-it/dmn-signavio-it-translator/pom.xml index 1210ce827..60d4b6755 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/pom.xml +++ b/dmn-signavio-it/dmn-signavio-it-translator/pom.xml @@ -46,7 +46,7 @@ jdmn-maven-plugin ${project.parent.version} - com.gs.dmn.signavio.dialect.SignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.RuleDescriptionTransformer @@ -541,7 +541,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/Example credit decision.dmn ${generated.source.code.folder} @@ -556,7 +556,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/Example credit decision.json ${dmn.diagram.folder}/complex/Example credit decision.dmn ${generated.test.code.folder} @@ -573,7 +573,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.SignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/Example credit decision.dmn ${generated.source.code.folder} @@ -590,7 +590,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.SignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/Example credit decision.json ${dmn.diagram.folder}/complex/Example credit decision.dmn @@ -1320,7 +1320,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/TestDecision.dmn ${generated.source.code.folder} @@ -1335,7 +1335,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/TestDecision.json ${dmn.diagram.folder}/complex/TestDecision.dmn ${generated.test.code.folder} @@ -1352,7 +1352,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/dmn-link-issue-1.dmn ${generated.source.code.folder} @@ -1367,7 +1367,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/dmn-link-issue-1.json ${dmn.diagram.folder}/complex/dmn-link-issue-1.dmn ${generated.test.code.folder} @@ -1384,7 +1384,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/NullComplexTypeAccess.dmn ${generated.source.code.folder} @@ -1399,7 +1399,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/NullComplexTypeAccess.json ${dmn.diagram.folder}/complex/NullComplexTypeAccess.dmn ${generated.test.code.folder} @@ -1416,7 +1416,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/StringLength.dmn ${generated.source.code.folder} @@ -1431,7 +1431,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/StringLength.json ${dmn.diagram.folder}/complex/StringLength.dmn ${generated.test.code.folder} @@ -1448,7 +1448,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/large-test-set.dmn ${generated.source.code.folder} @@ -1463,7 +1463,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/large-test-set.json ${dmn.diagram.folder}/complex/large-test-set.dmn ${generated.test.code.folder} @@ -1480,7 +1480,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/IteratorExampleReturningMultiple.dmn ${generated.source.code.folder} @@ -1499,7 +1499,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/IteratorExampleReturningMultiple.json ${dmn.diagram.folder}/complex/IteratorExampleReturningMultiple.dmn ${generated.test.code.folder} @@ -1520,7 +1520,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/TypeInterfaceDeserialization.dmn ${generated.source.code.folder} @@ -1535,7 +1535,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/TypeInterfaceDeserialization.json ${dmn.diagram.folder}/complex/TypeInterfaceDeserialization.dmn ${generated.test.code.folder} @@ -1552,7 +1552,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/credit-decision-missing-definitions.dmn ${generated.source.code.folder} @@ -1597,7 +1597,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/credit-decision-missing-definitions.json ${dmn.diagram.folder}/complex/credit-decision-missing-definitions.dmn ${generated.test.code.folder} @@ -1643,7 +1643,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition ${dmn.diagram.folder}/complex/decision-with-annotations.dmn ${generated.source.code.folder} @@ -1699,7 +1699,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.SignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/Example credit decision.dmn ${generated.source.code.folder} @@ -1718,7 +1718,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.SignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/Example credit decision.json ${dmn.diagram.folder}/complex/Example credit decision.dmn @@ -1739,7 +1739,7 @@ dmn-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.SignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/date-time-proto.dmn ${generated.source.code.folder} @@ -1759,7 +1759,7 @@ testlab-to-java - com.gs.dmn.signavio.dialect.MixedJavaTimeSignavioDMNDialectDefinition + com.gs.dmn.signavio.dialect.JavaTimeSignavioDMNDialectDefinition com.gs.dmn.signavio.transformation.template.SignavioTreeTemplateProvider ${dmn.diagram.folder}/complex/date-time-proto.json/ ${dmn.diagram.folder}/complex/date-time-proto.dmn diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/AbstractHandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/AbstractHandwrittenDecisionTest.java index 833e0c72c..076b1769e 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/AbstractHandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/AbstractHandwrittenDecisionTest.java @@ -19,6 +19,9 @@ import com.gs.dmn.serialization.JsonSerializer; import org.junit.jupiter.api.BeforeEach; +import java.math.BigDecimal; +import java.math.RoundingMode; + public abstract class AbstractHandwrittenDecisionTest { protected AnnotationSet annotationSet; protected ExecutionContext context; @@ -38,4 +41,8 @@ public void setUp() { this.context = ExecutionContextBuilder.executionContext().build(); this.annotationSet = context.getAnnotations(); } + + protected String round(Number number, int scale) { + return new BigDecimal(number.toString()).setScale(scale, RoundingMode.FLOOR).toPlainString(); + } } diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/HandwrittenGenerateOutputDataTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/HandwrittenGenerateOutputDataTest.java index 5d4a73f66..5060b0173 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/HandwrittenGenerateOutputDataTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/HandwrittenGenerateOutputDataTest.java @@ -20,7 +20,6 @@ import com.gs.dmn.runtime.annotation.AnnotationSet; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -30,8 +29,8 @@ public class HandwrittenGenerateOutputDataTest extends AbstractHandwrittenDecisi @Test public void testCase1() { - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List generateOutputDataOutput = applyDecision(applicant, currentRiskAppetite, lendingThreshold); @@ -48,8 +47,8 @@ public void testCase1() { @Test public void testCase2() { - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("18"), decision.number("65"), "Bill", decision.asList("Card rejection", "Default on obligations")); List output = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -59,8 +58,8 @@ public void testCase2() { @Test public void testCase3() { - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("65"), decision.number("80"), "Charlie", decision.asList("Late payment", "Default on obligations", "Bankruptcy")); List generateOutputDataOutput = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -80,13 +79,13 @@ protected void applyDecision() { applicant.setCreditScore(decision.number("80")); applicant.setPriorIssues(decision.asList("Late payment", "Default on obligations", "Bankruptcy")); - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); applyDecision(applicant, currentRiskAppetite, lendingThreshold); } - private List applyDecision(Applicant applicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold) { + private List applyDecision(Applicant applicant, Number currentRiskAppetite, Number lendingThreshold) { return decision.apply(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, context); } } \ No newline at end of file diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/PostorderTraceListenerTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/PostorderTraceListenerTest.java index 9b9da2339..dcf0d7674 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/PostorderTraceListenerTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/PostorderTraceListenerTest.java @@ -22,7 +22,6 @@ import org.junit.jupiter.api.Test; import java.io.File; -import java.math.BigDecimal; import java.util.Collections; import java.util.List; @@ -34,8 +33,8 @@ public void testListener() throws Exception { PostorderTraceEventListener listener = new PostorderTraceEventListener(); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(applicant, currentRiskAppetite, lendingThreshold, listener); @@ -52,8 +51,8 @@ public void testListenerWithFilter() throws Exception { PostorderTraceEventListener listener = new PostorderTraceEventListener(Collections.singletonList("Make credit decision")); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, listener); @@ -65,7 +64,7 @@ public void testListenerWithFilter() throws Exception { checkTrace(expectedOutputFile, actualOutputFile); } - private List applyDecision(Applicant toApplicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold, PostorderTraceEventListener listener) { + private List applyDecision(Applicant toApplicant, Number currentRiskAppetite, Number lendingThreshold, PostorderTraceEventListener listener) { ExecutionContext context = ExecutionContextBuilder.executionContext().withEventListener(listener).build(); return decision.apply(toApplicant, currentRiskAppetite, lendingThreshold, context); diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/TreeTraceListenerTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/TreeTraceListenerTest.java index b36c2f045..fa283f751 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/TreeTraceListenerTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision/TreeTraceListenerTest.java @@ -21,7 +21,6 @@ import org.junit.jupiter.api.Test; import java.io.File; -import java.math.BigDecimal; import java.util.List; public class TreeTraceListenerTest extends AbstractTraceListenerTest { @@ -32,8 +31,8 @@ public void testTree() throws Exception { TreeTraceEventListener listener = new TreeTraceEventListener(); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, listener); @@ -50,8 +49,8 @@ public void testPreorder() throws Exception { TreeTraceEventListener listener = new TreeTraceEventListener(); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, listener); @@ -68,8 +67,8 @@ public void testPostorder() throws Exception { TreeTraceEventListener listener = new TreeTraceEventListener(); List expectedResult = decision.asList(new com.gs.dmn.generated.example_credit_decision.type.GenerateOutputDataImpl(decision.number("27.5"), "Accept", decision.numericUnaryMinus(decision.number("7.5")))); - java.math.BigDecimal currentRiskAppetite = decision.number("50"); - java.math.BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List actualResult = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, listener); @@ -81,7 +80,7 @@ public void testPostorder() throws Exception { checkTrace(expectedOutputFile, actualOutputFile); } - private List applyDecision(Applicant applicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold, TreeTraceEventListener listener) { + private List applyDecision(Applicant applicant, Number currentRiskAppetite, Number lendingThreshold, TreeTraceEventListener listener) { return decision.apply(applicant, currentRiskAppetite, lendingThreshold, ExecutionContextBuilder.executionContext().withEventListener(listener).build()); } diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed/HandwrittenGenerateOutputDataTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed/HandwrittenGenerateOutputDataTest.java index 6b129bd8e..8d8ca8263 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed/HandwrittenGenerateOutputDataTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed/HandwrittenGenerateOutputDataTest.java @@ -18,7 +18,6 @@ import com.gs.dmn.runtime.Assert; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.List; public class HandwrittenGenerateOutputDataTest extends AbstractHandwrittenDecisionTest { @@ -26,8 +25,8 @@ public class HandwrittenGenerateOutputDataTest extends AbstractHandwrittenDecisi @Test public void testCase1() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List generateOutputDataOutput = applyDecision(applicant, currentRiskAppetite, lendingThreshold); @@ -37,8 +36,8 @@ public void testCase1() { @Test public void testCase2() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("18"), decision.number("65"), "Bill", decision.asList("Card rejection", "Default on obligations")); List output = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -48,8 +47,8 @@ public void testCase2() { @Test public void testCase3() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("65"), decision.number("80"), "Charlie", decision.asList("Late payment", "Default on obligations", "Bankruptcy")); List generateOutputDataOutput = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -69,13 +68,13 @@ protected void applyDecision() { applicant.setCreditScore(decision.number("80")); applicant.setPriorIssues(decision.asList("Late payment", "Default on obligations", "Bankruptcy")); - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); applyDecision(applicant, currentRiskAppetite, lendingThreshold); } - private List applyDecision(Applicant applicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold) { + private List applyDecision(Applicant applicant, Number currentRiskAppetite, Number lendingThreshold) { return decision.apply(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold, context); } } \ No newline at end of file diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed_tree/HandwrittenGenerateOutputDataTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed_tree/HandwrittenGenerateOutputDataTest.java index 4d7d40185..e01e7ad8e 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed_tree/HandwrittenGenerateOutputDataTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/example_credit_decision_mixed_tree/HandwrittenGenerateOutputDataTest.java @@ -19,7 +19,6 @@ import com.gs.dmn.runtime.annotation.Annotation; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -29,8 +28,8 @@ public class HandwrittenGenerateOutputDataTest extends AbstractHandwrittenDecisi @Test public void testCase1() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("38"), decision.number("100"), "Amy", decision.asList("Late payment")); List generateOutputDataOutput = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -48,8 +47,8 @@ public void testCase1() { @Test public void testCase2() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("18"), decision.number("65"), "Bill", decision.asList("Card rejection", "Default on obligations")); List output = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -59,8 +58,8 @@ public void testCase2() { @Test public void testCase3() { - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); Applicant applicant = new ApplicantImpl(decision.number("65"), decision.number("80"), "Charlie", decision.asList("Late payment", "Default on obligations", "Bankruptcy")); List generateOutputDataOutput = applyDecision(Applicant.toApplicant(applicant), currentRiskAppetite, lendingThreshold); @@ -80,13 +79,13 @@ protected void applyDecision() { applicant.setCreditScore(decision.number("80")); applicant.setPriorIssues(decision.asList("Late payment", "Default on obligations", "Bankruptcy")); - BigDecimal currentRiskAppetite = decision.number("50"); - BigDecimal lendingThreshold = decision.number("25"); + Number currentRiskAppetite = decision.number("50"); + Number lendingThreshold = decision.number("25"); applyDecision(applicant, currentRiskAppetite, lendingThreshold); } - private List applyDecision(Applicant applicant, BigDecimal currentRiskAppetite, BigDecimal lendingThreshold) { + private List applyDecision(Applicant applicant, Number currentRiskAppetite, Number lendingThreshold) { return decision.apply(applicant, currentRiskAppetite, lendingThreshold, context); } } \ No newline at end of file diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/npe_validation_2/HandwrittenZipTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/npe_validation_2/HandwrittenZipTest.java index 379f45b05..3b9605e59 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/npe_validation_2/HandwrittenZipTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/npe_validation_2/HandwrittenZipTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -27,16 +26,16 @@ public class HandwrittenZipTest extends AbstractHandwrittenDecisionTest { @Test public void testCase1() { - java.math.BigDecimal month = decision.number("12"); - java.math.BigDecimal day = decision.number("25"); + Number month = decision.number("12"); + Number day = decision.number("25"); List names = decision.asList("Fred", "Jim", "Tom", "Sarah", "Kate"); - java.math.BigDecimal hour = decision.number("8"); - java.math.BigDecimal year = decision.number("2016"); - java.math.BigDecimal second = decision.number("10"); - List ages = decision.asList( + Number hour = decision.number("8"); + Number year = decision.number("2016"); + Number second = decision.number("10"); + List ages = decision.asList( decision.number("25"), decision.number("40"), decision.number("65"), decision.number("80"), decision.number("105") ); - java.math.BigDecimal minute = decision.number("5"); + Number minute = decision.number("5"); List zipOutput = applyDecision(ages, day, hour, minute, month, names, second, year); List expectedOutput = decision.asList(new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("25"), "not exactly 1 to 5", decision.number("0"), decision.number("0"), "Fred", decision.number("12")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("40"), "non of the numbers 1 to 5", decision.number("0"), decision.number("0"), "Jim", decision.number("2016")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("65"), null, decision.number("0"), decision.number("0"), "Tom", decision.number("7")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("80"), null, decision.numericUnaryMinus(decision.number("359")), decision.numericUnaryMinus(decision.number("8612")), "Sarah", decision.number("25")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("105"), null, null, null, "Kate", decision.number("5"))); @@ -45,16 +44,16 @@ public void testCase1() { @Test public void testCase2() { - java.math.BigDecimal month = decision.number("2"); - java.math.BigDecimal day = decision.number("1"); + Number month = decision.number("2"); + Number day = decision.number("1"); List names = decision.asList("John", "Amy", "Tim", "James", "Ewa"); - java.math.BigDecimal hour = decision.number("1"); - java.math.BigDecimal year = decision.number("3"); - java.math.BigDecimal second = decision.number("3"); - List ages = decision.asList( + Number hour = decision.number("1"); + Number year = decision.number("3"); + Number second = decision.number("3"); + List ages = decision.asList( decision.number("3"), decision.number("4"), decision.number("5"), decision.number("2"), decision.number("1") ); - java.math.BigDecimal minute = decision.number("2"); + Number minute = decision.number("2"); List zipOutput = applyDecision(ages, day, hour, minute, month, names, second, year); List expectedOutput = decision.asList(new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("3"), "not exactly 1 to 5", decision.number("0"), decision.number("0"), "John", decision.number("2")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("4"), "only numbers between 1 and 5", decision.number("0"), decision.number("0"), "Amy", decision.number("3")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("5"), "at least one number betwen 1 and 5", decision.number("0"), decision.number("0"), "Tim", decision.number("6")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("2"), "only numbers between 1 and 5", decision.number("735202"), decision.number("17644858"), "James", decision.number("1")), new com.gs.dmn.generated.npe_validation_2.type.ZipImpl(decision.number("1"), null, null, null, "Ewa", decision.number("2"))); @@ -67,24 +66,24 @@ private void checkValues(Object expected, Object actual) { @Override protected void applyDecision() { - List ages = decision.asList( + List ages = decision.asList( decision.number("3"), decision.number("4"), decision.number("5"), decision.number("2"), decision.number("1") ); - BigDecimal day = decision.number("1"); - BigDecimal hour = decision.number("1"); - BigDecimal minute = decision.number("2"); - BigDecimal month = decision.number("2"); + Number day = decision.number("1"); + Number hour = decision.number("1"); + Number minute = decision.number("2"); + Number month = decision.number("2"); List names = decision.asList("John", "Amy", "Tim", "James", "Eva"); - BigDecimal second = decision.number("3"); - BigDecimal year = decision.number("3"); + Number second = decision.number("3"); + Number year = decision.number("3"); applyDecision(ages, day, hour, minute, month, names, second, year); } - private List applyDecision(List ages, BigDecimal day, BigDecimal hour, BigDecimal minute, BigDecimal month, List names, BigDecimal second, BigDecimal year) { + private List applyDecision(List ages, Number day, Number hour, Number minute, Number month, List names, Number second, Number year) { return zip.apply(ages, day, hour, minute, month, names, second, year, context); } } \ No newline at end of file diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_feel_complex_literal_expression/HandwrittenMonthlyTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_feel_complex_literal_expression/HandwrittenMonthlyTest.java index efb6477bd..a45e8bf7e 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_feel_complex_literal_expression/HandwrittenMonthlyTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_feel_complex_literal_expression/HandwrittenMonthlyTest.java @@ -34,14 +34,14 @@ public void testApply() { loan.setRate(new BigDecimal("5", MathContext.DECIMAL128)); loan.setTerm(new BigDecimal("10", MathContext.DECIMAL128)); - BigDecimal output = applyDecision(toJson(loan)); + Number output = applyDecision(toJson(loan)); - assertEquals("100.00", output.toString()); + assertEquals("100.00", round(output, 2)); } @Test public void testApplyWhenNull() { - BigDecimal output = applyDecision(null); + Number output = applyDecision(null); assertNull(output); } @@ -55,7 +55,7 @@ protected void applyDecision() { applyDecision(toJson(loan)); } - private BigDecimal applyDecision(String loan) { + private Number applyDecision(String loan) { Map input = new LinkedHashMap<>(); input.put("Loan", loan); return decision.applyMap(input, context); diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_feel_date_literal_expression/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_feel_date_literal_expression/HandwrittenDecisionTest.java index 201105b2f..1f800cdcc 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_feel_date_literal_expression/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_feel_date_literal_expression/HandwrittenDecisionTest.java @@ -16,7 +16,6 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -27,14 +26,14 @@ public class HandwrittenDecisionTest extends AbstractHandwrittenDecisionTest { @Test public void testApply() throws Exception { - BigDecimal output = applyDecision(null, "1965-03-29", null, null, null); + Number output = applyDecision(null, "1965-03-29", null, null, null); assertEquals("29", output.toString()); } @Test public void testApplyWhenNull() { Assertions.assertThrows(NullPointerException.class, () -> { - BigDecimal output = applyDecision(null, null, null, null, null); + Number output = applyDecision(null, null, null, null, null); assertEquals(29, output.intValue()); }); } @@ -44,7 +43,7 @@ protected void applyDecision() { applyDecision(null, "1965-03-29", null, null, null); } - private BigDecimal applyDecision(String booleanInput, String dateInput, String enumerationInput, String numberInput, String stringInput) { + private Number applyDecision(String booleanInput, String dateInput, String enumerationInput, String numberInput, String stringInput) { Map input = new LinkedHashMap<>(); input.put("BooleanInput", booleanInput); input.put("DateInput", dateInput); diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_count_hit_policy/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_count_hit_policy/HandwrittenDecisionTest.java index 55af77dde..f863ae8f2 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_count_hit_policy/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_count_hit_policy/HandwrittenDecisionTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -37,7 +36,7 @@ protected void applyDecision() { applyDecision(null, null); } - private BigDecimal applyDecision(String numberInput, String textInput) { + private Number applyDecision(String numberInput, String textInput) { Map input = new LinkedHashMap<>(); input.put("NumberInput", numberInput); input.put("TextInput", textInput); diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_min_hit_policy/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_min_hit_policy/HandwrittenDecisionTest.java index 23dbd59e5..b2cd6233d 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_min_hit_policy/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_min_hit_policy/HandwrittenDecisionTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -37,7 +36,7 @@ protected void applyDecision() { applyDecision(null, null); } - private BigDecimal applyDecision(String numberInput, String textInput) { + private Number applyDecision(String numberInput, String textInput) { Map input = new LinkedHashMap<>(); input.put("NumberInput", numberInput); input.put("TextInput", textInput); diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_sum_hit_policy/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_sum_hit_policy/HandwrittenDecisionTest.java index 2042521b5..00bbac5b7 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_sum_hit_policy/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_primitive_type_inputs_single_output_collect_sum_hit_policy/HandwrittenDecisionTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -37,7 +36,7 @@ protected void applyDecision() { applyDecision(null, null); } - private BigDecimal applyDecision(String numberInput, String textInput) { + private Number applyDecision(String numberInput, String textInput) { Map input = new LinkedHashMap<>(); input.put("NumberInput", numberInput); input.put("TextInput", textInput); diff --git a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_with_external_function/HandwrittenDecisionTest.java b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_with_external_function/HandwrittenDecisionTest.java index 105900a9e..a938ad433 100644 --- a/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_with_external_function/HandwrittenDecisionTest.java +++ b/dmn-signavio-it/dmn-signavio-it-translator/src/test/java/com/gs/dmn/generated/sd_with_external_function/HandwrittenDecisionTest.java @@ -15,7 +15,6 @@ import com.gs.dmn.generated.AbstractHandwrittenDecisionTest; import org.junit.jupiter.api.Test; -import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.Map; @@ -36,7 +35,7 @@ protected void applyDecision() { applyDecision(null, null); } - private BigDecimal applyDecision(String a, String b) { + private Number applyDecision(String a, String b) { Map input = new LinkedHashMap<>(); input.put("A", a); input.put("B", b); diff --git a/dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/MixedJavaTimeKotlinSignavioDMNDialectDefinition.java b/dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/JavaTimeKotlinSignavioDMNDialectDefinition.java similarity index 78% rename from dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/MixedJavaTimeKotlinSignavioDMNDialectDefinition.java rename to dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/JavaTimeKotlinSignavioDMNDialectDefinition.java index 99ef2d506..1e4f3ecee 100644 --- a/dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/MixedJavaTimeKotlinSignavioDMNDialectDefinition.java +++ b/dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/JavaTimeKotlinSignavioDMNDialectDefinition.java @@ -15,12 +15,12 @@ import com.gs.dmn.DMNModelRepository; import com.gs.dmn.context.environment.EnvironmentFactory; import com.gs.dmn.feel.lib.FEELLib; -import com.gs.dmn.feel.synthesis.type.MixedJavaTimeKotlinNativeTypeFactory; +import com.gs.dmn.feel.synthesis.type.JavaTimeKotlinNativeTypeFactory; import com.gs.dmn.feel.synthesis.type.NativeTypeFactory; import com.gs.dmn.log.BuildLogger; import com.gs.dmn.serialization.TypeDeserializationConfigurer; -import com.gs.dmn.signavio.feel.lib.MixedJavaTimeSignavioLib; -import com.gs.dmn.signavio.runtime.MixedJavaTimeSignavioBaseDecision; +import com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib; +import com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision; import com.gs.dmn.signavio.testlab.TestLab; import com.gs.dmn.signavio.transformation.SignavioDMNToKotlinTransformer; import com.gs.dmn.signavio.transformation.basic.BasicSignavioDMNToKotlinTransformer; @@ -32,13 +32,11 @@ import com.gs.dmn.transformation.template.TemplateProvider; import com.gs.dmn.validation.DMNValidator; -import javax.xml.datatype.Duration; -import java.math.BigDecimal; import java.time.LocalDate; -import java.time.OffsetTime; -import java.time.ZonedDateTime; +import java.time.temporal.TemporalAccessor; +import java.time.temporal.TemporalAmount; -public class MixedJavaTimeKotlinSignavioDMNDialectDefinition extends AbstractSignavioDMNDialectDefinition { +public class JavaTimeKotlinSignavioDMNDialectDefinition extends AbstractSignavioDMNDialectDefinition { // // DMN processors // @@ -58,16 +56,16 @@ public BasicDMNToJavaTransformer createBasicTransformer(DMNModelRepository repos // @Override public NativeTypeFactory createNativeTypeFactory() { - return new MixedJavaTimeKotlinNativeTypeFactory(); + return new JavaTimeKotlinNativeTypeFactory(); } @Override - public FEELLib createFEELLib() { - return new MixedJavaTimeSignavioLib(); + public FEELLib createFEELLib() { + return new JavaTimeSignavioLib(); } @Override public String getDecisionBaseClass() { - return MixedJavaTimeSignavioBaseDecision.class.getName(); + return JavaTimeSignavioBaseDecision.class.getName(); } } diff --git a/dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/KotlinSignavioDMNDialectDefinition.java b/dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/KotlinSignavioDMNDialectDefinition.java deleted file mode 100644 index 17c00835a..000000000 --- a/dmn-signavio/src/main/java/com/gs/dmn/signavio/dialect/KotlinSignavioDMNDialectDefinition.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2016 Goldman Sachs. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package com.gs.dmn.signavio.dialect; - -import com.gs.dmn.DMNModelRepository; -import com.gs.dmn.context.environment.EnvironmentFactory; -import com.gs.dmn.feel.lib.FEELLib; -import com.gs.dmn.feel.synthesis.type.NativeTypeFactory; -import com.gs.dmn.feel.synthesis.type.StandardNativeTypeToKotlinFactory; -import com.gs.dmn.log.BuildLogger; -import com.gs.dmn.serialization.TypeDeserializationConfigurer; -import com.gs.dmn.signavio.feel.lib.DefaultSignavioLib; -import com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision; -import com.gs.dmn.signavio.testlab.TestLab; -import com.gs.dmn.signavio.transformation.SignavioDMNToKotlinTransformer; -import com.gs.dmn.signavio.transformation.basic.BasicSignavioDMNToKotlinTransformer; -import com.gs.dmn.transformation.DMNToNativeTransformer; -import com.gs.dmn.transformation.DMNTransformer; -import com.gs.dmn.transformation.InputParameters; -import com.gs.dmn.transformation.basic.BasicDMNToJavaTransformer; -import com.gs.dmn.transformation.lazy.LazyEvaluationDetector; -import com.gs.dmn.transformation.template.TemplateProvider; -import com.gs.dmn.validation.DMNValidator; - -import javax.xml.datatype.Duration; -import javax.xml.datatype.XMLGregorianCalendar; -import java.math.BigDecimal; - -/** - * @deprecated As of release 8.3.0, replaced by {@link com.gs.dmn.dialect.MixedJavaTimeKotlinStandardDMNDialectDefinition} - */ -@Deprecated -public class KotlinSignavioDMNDialectDefinition extends AbstractSignavioDMNDialectDefinition { - // - // DMN processors - // - @Override - public DMNToNativeTransformer createDMNToNativeTransformer(DMNValidator dmnValidator, DMNTransformer dmnTransformer, TemplateProvider templateProvider, LazyEvaluationDetector lazyEvaluationDetector, TypeDeserializationConfigurer typeDeserializationConfigurer, InputParameters inputParameters, BuildLogger logger) { - return new SignavioDMNToKotlinTransformer<>(this, dmnValidator, dmnTransformer, templateProvider, lazyEvaluationDetector, typeDeserializationConfigurer, inputParameters, logger); - } - - @Override - public BasicDMNToJavaTransformer createBasicTransformer(DMNModelRepository repository, LazyEvaluationDetector lazyEvaluationDetector, InputParameters inputParameters) { - EnvironmentFactory environmentFactory = createEnvironmentFactory(); - return new BasicSignavioDMNToKotlinTransformer(this, repository, environmentFactory, createNativeTypeFactory(), lazyEvaluationDetector, inputParameters); - } - - // - // Execution engine - // - @Override - public NativeTypeFactory createNativeTypeFactory() { - return new StandardNativeTypeToKotlinFactory(); - } - - @Override - public FEELLib createFEELLib() { - return new DefaultSignavioLib(); - } - - @Override - public String getDecisionBaseClass() { - return DefaultSignavioBaseDecision.class.getName(); - } -} diff --git a/dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/MixedJavaTimeKotlinSignavioDMNDialectDefinitionTest.java b/dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/JavaTimeKotlinSignavioDMNDialectDefinitionTest.java similarity index 64% rename from dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/MixedJavaTimeKotlinSignavioDMNDialectDefinitionTest.java rename to dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/JavaTimeKotlinSignavioDMNDialectDefinitionTest.java index b6c4da9ba..1ee342b64 100644 --- a/dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/MixedJavaTimeKotlinSignavioDMNDialectDefinitionTest.java +++ b/dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/JavaTimeKotlinSignavioDMNDialectDefinitionTest.java @@ -13,24 +13,22 @@ package com.gs.dmn.signavio.dialect; import com.gs.dmn.dialect.DMNDialectDefinition; -import com.gs.dmn.feel.synthesis.type.MixedJavaTimeKotlinNativeTypeFactory; -import com.gs.dmn.signavio.feel.lib.MixedJavaTimeSignavioLib; -import com.gs.dmn.signavio.runtime.MixedJavaTimeSignavioBaseDecision; +import com.gs.dmn.feel.synthesis.type.JavaTimeKotlinNativeTypeFactory; +import com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib; +import com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision; import com.gs.dmn.signavio.runtime.interpreter.SignavioDMNInterpreter; import com.gs.dmn.signavio.testlab.TestLab; import com.gs.dmn.signavio.transformation.SignavioDMNToKotlinTransformer; import com.gs.dmn.signavio.transformation.basic.BasicSignavioDMNToKotlinTransformer; -import javax.xml.datatype.Duration; -import java.math.BigDecimal; import java.time.LocalDate; -import java.time.OffsetTime; -import java.time.ZonedDateTime; +import java.time.temporal.TemporalAccessor; +import java.time.temporal.TemporalAmount; -public class MixedJavaTimeKotlinSignavioDMNDialectDefinitionTest extends AbstractSignavioDMNDialectDefinitionTest { +public class JavaTimeKotlinSignavioDMNDialectDefinitionTest extends AbstractSignavioDMNDialectDefinitionTest { @Override - protected DMNDialectDefinition makeDialect() { - return new MixedJavaTimeKotlinSignavioDMNDialectDefinition(); + protected DMNDialectDefinition makeDialect() { + return new JavaTimeKotlinSignavioDMNDialectDefinition(); } @Override @@ -50,16 +48,16 @@ protected String getBasicTransformerClass() { @Override protected String getExpectedNativeTypeFactoryClass() { - return MixedJavaTimeKotlinNativeTypeFactory.class.getName(); + return JavaTimeKotlinNativeTypeFactory.class.getName(); } @Override protected String getExpectedFEELLibClass() { - return MixedJavaTimeSignavioLib.class.getName(); + return JavaTimeSignavioLib.class.getName(); } @Override protected String getExpectedDecisionBaseClass() { - return MixedJavaTimeSignavioBaseDecision.class.getName(); + return JavaTimeSignavioBaseDecision.class.getName(); } } \ No newline at end of file diff --git a/dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/KotlinSignavioDMNDialectDefinitionTest.java b/dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/KotlinSignavioDMNDialectDefinitionTest.java deleted file mode 100644 index dfc579f72..000000000 --- a/dmn-signavio/src/test/java/com/gs/dmn/signavio/dialect/KotlinSignavioDMNDialectDefinitionTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2016 Goldman Sachs. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. - * - * You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - */ -package com.gs.dmn.signavio.dialect; - -import com.gs.dmn.dialect.DMNDialectDefinition; -import com.gs.dmn.feel.synthesis.type.StandardNativeTypeToKotlinFactory; -import com.gs.dmn.signavio.feel.lib.DefaultSignavioLib; -import com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision; -import com.gs.dmn.signavio.runtime.interpreter.SignavioDMNInterpreter; -import com.gs.dmn.signavio.testlab.TestLab; -import com.gs.dmn.signavio.transformation.SignavioDMNToKotlinTransformer; -import com.gs.dmn.signavio.transformation.basic.BasicSignavioDMNToKotlinTransformer; - -import javax.xml.datatype.Duration; -import javax.xml.datatype.XMLGregorianCalendar; -import java.math.BigDecimal; - -public class KotlinSignavioDMNDialectDefinitionTest extends AbstractSignavioDMNDialectDefinitionTest { - @Override - protected DMNDialectDefinition makeDialect() { - return new KotlinSignavioDMNDialectDefinition(); - } - - @Override - protected String getExpectedDMNInterpreterClass() { - return SignavioDMNInterpreter.class.getName(); - } - - @Override - protected String getExpectedDMNToNativeTransformerClass() { - return SignavioDMNToKotlinTransformer.class.getName(); - } - - @Override - protected String getBasicTransformerClass() { - return BasicSignavioDMNToKotlinTransformer.class.getName(); - } - - @Override - protected String getExpectedNativeTypeFactoryClass() { - return StandardNativeTypeToKotlinFactory.class.getName(); - } - - @Override - protected String getExpectedFEELLibClass() { - return DefaultSignavioLib.class.getName(); - } - - @Override - protected String getExpectedDecisionBaseClass() { - return DefaultSignavioBaseDecision.class.getName(); - } -} \ No newline at end of file diff --git a/dmn-signavio/src/test/java/com/gs/dmn/signavio/testlab/AbstractTestLabToKotlinJUnitTransformerTest.java b/dmn-signavio/src/test/java/com/gs/dmn/signavio/testlab/AbstractTestLabToKotlinJUnitTransformerTest.java index 236480d90..a941ae8c1 100644 --- a/dmn-signavio/src/test/java/com/gs/dmn/signavio/testlab/AbstractTestLabToKotlinJUnitTransformerTest.java +++ b/dmn-signavio/src/test/java/com/gs/dmn/signavio/testlab/AbstractTestLabToKotlinJUnitTransformerTest.java @@ -14,21 +14,21 @@ import com.gs.dmn.dialect.DMNDialectDefinition; import com.gs.dmn.log.BuildLogger; -import com.gs.dmn.signavio.dialect.KotlinSignavioDMNDialectDefinition; +import com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition; import com.gs.dmn.signavio.transformation.template.KotlinSignavioTreeTemplateProvider; import com.gs.dmn.transformation.FileTransformer; import com.gs.dmn.transformation.InputParameters; import com.gs.dmn.transformation.template.TemplateProvider; -import javax.xml.datatype.Duration; -import javax.xml.datatype.XMLGregorianCalendar; -import java.math.BigDecimal; import java.nio.file.Path; +import java.time.LocalDate; +import java.time.temporal.TemporalAccessor; +import java.time.temporal.TemporalAmount; -public abstract class AbstractTestLabToKotlinJUnitTransformerTest extends AbstractTestLabToJUnitTransformerTest { +public abstract class AbstractTestLabToKotlinJUnitTransformerTest extends AbstractTestLabToJUnitTransformerTest { @Override - protected DMNDialectDefinition makeDialectDefinition() { - return new KotlinSignavioDMNDialectDefinition(); + protected DMNDialectDefinition makeDialectDefinition() { + return new JavaTimeKotlinSignavioDMNDialectDefinition(); } @Override diff --git a/dmn-signavio/src/test/java/com/gs/dmn/signavio/transformation/AbstractSignavioDMNToKotlinTest.java b/dmn-signavio/src/test/java/com/gs/dmn/signavio/transformation/AbstractSignavioDMNToKotlinTest.java index f6f9c9892..7337a90f7 100644 --- a/dmn-signavio/src/test/java/com/gs/dmn/signavio/transformation/AbstractSignavioDMNToKotlinTest.java +++ b/dmn-signavio/src/test/java/com/gs/dmn/signavio/transformation/AbstractSignavioDMNToKotlinTest.java @@ -13,19 +13,19 @@ package com.gs.dmn.signavio.transformation; import com.gs.dmn.dialect.DMNDialectDefinition; -import com.gs.dmn.signavio.dialect.KotlinSignavioDMNDialectDefinition; +import com.gs.dmn.signavio.dialect.JavaTimeKotlinSignavioDMNDialectDefinition; import com.gs.dmn.signavio.testlab.TestLab; import com.gs.dmn.signavio.transformation.template.KotlinSignavioTreeTemplateProvider; import com.gs.dmn.transformation.template.TemplateProvider; -import javax.xml.datatype.Duration; -import javax.xml.datatype.XMLGregorianCalendar; -import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.temporal.TemporalAccessor; +import java.time.temporal.TemporalAmount; -public abstract class AbstractSignavioDMNToKotlinTest extends AbstractSignavioDMNToNativeTest { +public abstract class AbstractSignavioDMNToKotlinTest extends AbstractSignavioDMNToNativeTest { @Override - protected DMNDialectDefinition makeDialectDefinition() { - return new KotlinSignavioDMNDialectDefinition(); + protected DMNDialectDefinition makeDialectDefinition() { + return new JavaTimeKotlinSignavioDMNDialectDefinition(); } @Override diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessApplicantAge.java b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessApplicantAge.java index 80fc9e91f..59c60c16d 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessApplicantAge.java +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessApplicantAge.java @@ -35,7 +35,7 @@ public static java.util.Map requestToMap(proto.AssessApplicantAg public static java.math.BigDecimal responseToOutput(proto.AssessApplicantAgeResponse assessApplicantAgeResponse_) { // Extract and convert output - return java.math.BigDecimal.valueOf(assessApplicantAgeResponse_.getAssessApplicantAge()); + return ((java.math.BigDecimal) java.math.BigDecimal.valueOf(assessApplicantAgeResponse_.getAssessApplicantAge())); } public AssessApplicantAge() { diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessIssue.java b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessIssue.java index e673fda50..95f453084 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessIssue.java +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessIssue.java @@ -25,8 +25,8 @@ public class AssessIssue extends com.gs.dmn.signavio.runtime.DefaultSignavioBase public static java.util.Map requestToMap(proto.AssessIssueRequest assessIssueRequest_) { // Create arguments from Request Message - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(assessIssueRequest_.getCurrentRiskAppetite()); - java.math.BigDecimal priorIssue_iterator = java.math.BigDecimal.valueOf(assessIssueRequest_.getPriorIssueIterator()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(assessIssueRequest_.getCurrentRiskAppetite())); + java.math.BigDecimal priorIssue_iterator = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(assessIssueRequest_.getPriorIssueIterator())); // Create map java.util.Map map_ = new java.util.LinkedHashMap<>(); @@ -37,7 +37,7 @@ public static java.util.Map requestToMap(proto.AssessIssueReques public static java.math.BigDecimal responseToOutput(proto.AssessIssueResponse assessIssueResponse_) { // Extract and convert output - return java.math.BigDecimal.valueOf(assessIssueResponse_.getAssessIssue()); + return ((java.math.BigDecimal) java.math.BigDecimal.valueOf(assessIssueResponse_.getAssessIssue())); } public AssessIssue() { @@ -81,8 +81,8 @@ public java.math.BigDecimal apply(java.math.BigDecimal currentRiskAppetite, java public proto.AssessIssueResponse applyProto(proto.AssessIssueRequest assessIssueRequest_, com.gs.dmn.runtime.ExecutionContext context_) { // Create arguments from Request Message - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(assessIssueRequest_.getCurrentRiskAppetite()); - java.math.BigDecimal priorIssue_iterator = java.math.BigDecimal.valueOf(assessIssueRequest_.getPriorIssueIterator()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(assessIssueRequest_.getCurrentRiskAppetite())); + java.math.BigDecimal priorIssue_iterator = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(assessIssueRequest_.getPriorIssueIterator())); // Invoke apply method java.math.BigDecimal output_ = apply(currentRiskAppetite, priorIssue_iterator, context_); diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessIssueRisk.java b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessIssueRisk.java index 72b13ca60..2ff0fbedb 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessIssueRisk.java +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/AssessIssueRisk.java @@ -26,7 +26,7 @@ public class AssessIssueRisk extends com.gs.dmn.signavio.runtime.DefaultSignavio public static java.util.Map requestToMap(proto.AssessIssueRiskRequest assessIssueRiskRequest_) { // Create arguments from Request Message type.Applicant applicant = type.Applicant.toApplicant(assessIssueRiskRequest_.getApplicant()); - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(assessIssueRiskRequest_.getCurrentRiskAppetite()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(assessIssueRiskRequest_.getCurrentRiskAppetite())); // Create map java.util.Map map_ = new java.util.LinkedHashMap<>(); @@ -37,7 +37,7 @@ public static java.util.Map requestToMap(proto.AssessIssueRiskRe public static java.math.BigDecimal responseToOutput(proto.AssessIssueRiskResponse assessIssueRiskResponse_) { // Extract and convert output - return java.math.BigDecimal.valueOf(assessIssueRiskResponse_.getAssessIssueRisk()); + return ((java.math.BigDecimal) java.math.BigDecimal.valueOf(assessIssueRiskResponse_.getAssessIssueRisk())); } private final ProcessPriorIssues processPriorIssues; @@ -89,7 +89,7 @@ public java.math.BigDecimal apply(type.Applicant applicant, java.math.BigDecimal public proto.AssessIssueRiskResponse applyProto(proto.AssessIssueRiskRequest assessIssueRiskRequest_, com.gs.dmn.runtime.ExecutionContext context_) { // Create arguments from Request Message type.Applicant applicant = type.Applicant.toApplicant(assessIssueRiskRequest_.getApplicant()); - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(assessIssueRiskRequest_.getCurrentRiskAppetite()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(assessIssueRiskRequest_.getCurrentRiskAppetite())); // Invoke apply method java.math.BigDecimal output_ = apply(applicant, currentRiskAppetite, context_); diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/CompareAgainstLendingThreshold.java b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/CompareAgainstLendingThreshold.java index 0ac53e4ba..70ce93337 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/CompareAgainstLendingThreshold.java +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/CompareAgainstLendingThreshold.java @@ -26,8 +26,8 @@ public class CompareAgainstLendingThreshold extends com.gs.dmn.signavio.runtime. public static java.util.Map requestToMap(proto.CompareAgainstLendingThresholdRequest compareAgainstLendingThresholdRequest_) { // Create arguments from Request Message type.Applicant applicant = type.Applicant.toApplicant(compareAgainstLendingThresholdRequest_.getApplicant()); - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getCurrentRiskAppetite()); - java.math.BigDecimal lendingThreshold = java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getLendingThreshold()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getCurrentRiskAppetite())); + java.math.BigDecimal lendingThreshold = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getLendingThreshold())); // Create map java.util.Map map_ = new java.util.LinkedHashMap<>(); @@ -39,7 +39,7 @@ public static java.util.Map requestToMap(proto.CompareAgainstLen public static java.math.BigDecimal responseToOutput(proto.CompareAgainstLendingThresholdResponse compareAgainstLendingThresholdResponse_) { // Extract and convert output - return java.math.BigDecimal.valueOf(compareAgainstLendingThresholdResponse_.getCompareAgainstLendingThreshold()); + return ((java.math.BigDecimal) java.math.BigDecimal.valueOf(compareAgainstLendingThresholdResponse_.getCompareAgainstLendingThreshold())); } private final AssessApplicantAge assessApplicantAge; @@ -94,8 +94,8 @@ public java.math.BigDecimal apply(type.Applicant applicant, java.math.BigDecimal public proto.CompareAgainstLendingThresholdResponse applyProto(proto.CompareAgainstLendingThresholdRequest compareAgainstLendingThresholdRequest_, com.gs.dmn.runtime.ExecutionContext context_) { // Create arguments from Request Message type.Applicant applicant = type.Applicant.toApplicant(compareAgainstLendingThresholdRequest_.getApplicant()); - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getCurrentRiskAppetite()); - java.math.BigDecimal lendingThreshold = java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getLendingThreshold()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getCurrentRiskAppetite())); + java.math.BigDecimal lendingThreshold = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getLendingThreshold())); // Invoke apply method java.math.BigDecimal output_ = apply(applicant, currentRiskAppetite, lendingThreshold, context_); diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/GenerateOutputData.java b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/GenerateOutputData.java index 3912ecfc2..5b1b5864f 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/GenerateOutputData.java +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/GenerateOutputData.java @@ -26,8 +26,8 @@ public class GenerateOutputData extends com.gs.dmn.signavio.runtime.DefaultSigna public static java.util.Map requestToMap(proto.GenerateOutputDataRequest generateOutputDataRequest_) { // Create arguments from Request Message type.Applicant applicant = type.Applicant.toApplicant(generateOutputDataRequest_.getApplicant()); - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(generateOutputDataRequest_.getCurrentRiskAppetite()); - java.math.BigDecimal lendingThreshold = java.math.BigDecimal.valueOf(generateOutputDataRequest_.getLendingThreshold()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(generateOutputDataRequest_.getCurrentRiskAppetite())); + java.math.BigDecimal lendingThreshold = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(generateOutputDataRequest_.getLendingThreshold())); // Create map java.util.Map map_ = new java.util.LinkedHashMap<>(); @@ -96,8 +96,8 @@ public List apply(type.Applicant applicant, java.math.B public proto.GenerateOutputDataResponse applyProto(proto.GenerateOutputDataRequest generateOutputDataRequest_, com.gs.dmn.runtime.ExecutionContext context_) { // Create arguments from Request Message type.Applicant applicant = type.Applicant.toApplicant(generateOutputDataRequest_.getApplicant()); - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(generateOutputDataRequest_.getCurrentRiskAppetite()); - java.math.BigDecimal lendingThreshold = java.math.BigDecimal.valueOf(generateOutputDataRequest_.getLendingThreshold()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(generateOutputDataRequest_.getCurrentRiskAppetite())); + java.math.BigDecimal lendingThreshold = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(generateOutputDataRequest_.getLendingThreshold())); // Invoke apply method List output_ = apply(applicant, currentRiskAppetite, lendingThreshold, context_); diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/MakeCreditDecision.java b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/MakeCreditDecision.java index 292cee927..c5fd477e4 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/MakeCreditDecision.java +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/MakeCreditDecision.java @@ -26,8 +26,8 @@ public class MakeCreditDecision extends com.gs.dmn.signavio.runtime.DefaultSigna public static java.util.Map requestToMap(proto.MakeCreditDecisionRequest makeCreditDecisionRequest_) { // Create arguments from Request Message type.Applicant applicant = type.Applicant.toApplicant(makeCreditDecisionRequest_.getApplicant()); - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getCurrentRiskAppetite()); - java.math.BigDecimal lendingThreshold = java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getLendingThreshold()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getCurrentRiskAppetite())); + java.math.BigDecimal lendingThreshold = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getLendingThreshold())); // Create map java.util.Map map_ = new java.util.LinkedHashMap<>(); @@ -92,8 +92,8 @@ public String apply(type.Applicant applicant, java.math.BigDecimal currentRiskAp public proto.MakeCreditDecisionResponse applyProto(proto.MakeCreditDecisionRequest makeCreditDecisionRequest_, com.gs.dmn.runtime.ExecutionContext context_) { // Create arguments from Request Message type.Applicant applicant = type.Applicant.toApplicant(makeCreditDecisionRequest_.getApplicant()); - java.math.BigDecimal currentRiskAppetite = java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getCurrentRiskAppetite()); - java.math.BigDecimal lendingThreshold = java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getLendingThreshold()); + java.math.BigDecimal currentRiskAppetite = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getCurrentRiskAppetite())); + java.math.BigDecimal lendingThreshold = ((java.math.BigDecimal) java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getLendingThreshold())); // Invoke apply method String output_ = apply(applicant, currentRiskAppetite, lendingThreshold, context_); diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/ProcessPriorIssues.java b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/ProcessPriorIssues.java index 1baa7f724..c3e095e73 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/ProcessPriorIssues.java +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/ProcessPriorIssues.java @@ -35,7 +35,7 @@ public static java.util.Map requestToMap(proto.ProcessPriorIssue public static List responseToOutput(proto.ProcessPriorIssuesResponse processPriorIssuesResponse_) { // Extract and convert output - return ((List) (processPriorIssuesResponse_.getProcessPriorIssuesList() == null ? null : processPriorIssuesResponse_.getProcessPriorIssuesList().stream().map(e -> java.math.BigDecimal.valueOf(e)).collect(java.util.stream.Collectors.toList()))); + return ((List) (processPriorIssuesResponse_.getProcessPriorIssuesList() == null ? null : processPriorIssuesResponse_.getProcessPriorIssuesList().stream().map(e -> ((java.math.BigDecimal) java.math.BigDecimal.valueOf(e))).collect(java.util.stream.Collectors.toList()))); } public ProcessPriorIssues() { diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/type/Applicant.java b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/type/Applicant.java index d09051c41..5f437b37c 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/type/Applicant.java +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/type/Applicant.java @@ -39,8 +39,8 @@ static Applicant toApplicant(Object other) { } else if (other instanceof proto.Applicant) { ApplicantImpl result_ = new ApplicantImpl(); result_.setName(((proto.Applicant) other).getName()); - result_.setAge(java.math.BigDecimal.valueOf(((proto.Applicant) other).getAge())); - result_.setCreditScore(java.math.BigDecimal.valueOf(((proto.Applicant) other).getCreditScore())); + result_.setAge(((java.math.BigDecimal) java.math.BigDecimal.valueOf(((proto.Applicant) other).getAge()))); + result_.setCreditScore(((java.math.BigDecimal) java.math.BigDecimal.valueOf(((proto.Applicant) other).getCreditScore()))); result_.setPriorIssues(((List) (((proto.Applicant) other).getPriorIssuesList() == null ? null : ((proto.Applicant) other).getPriorIssuesList().stream().map(e -> e).collect(java.util.stream.Collectors.toList())))); return result_; } else { diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/type/GenerateOutputData.java b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/type/GenerateOutputData.java index 75ef0a0b0..c7e8c12f5 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/type/GenerateOutputData.java +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/java/dmn/example-credit-decision/type/GenerateOutputData.java @@ -34,8 +34,8 @@ static GenerateOutputData toGenerateOutputData(Object other) { } else if (other instanceof proto.GenerateOutputData) { GenerateOutputDataImpl result_ = new GenerateOutputDataImpl(); result_.setDecision(((proto.GenerateOutputData) other).getDecision()); - result_.setAssessment(java.math.BigDecimal.valueOf(((proto.GenerateOutputData) other).getAssessment())); - result_.setIssue(java.math.BigDecimal.valueOf(((proto.GenerateOutputData) other).getIssue())); + result_.setAssessment(((java.math.BigDecimal) java.math.BigDecimal.valueOf(((proto.GenerateOutputData) other).getAssessment()))); + result_.setIssue(((java.math.BigDecimal) java.math.BigDecimal.valueOf(((proto.GenerateOutputData) other).getIssue()))); return result_; } else { throw new com.gs.dmn.runtime.DMNRuntimeException(String.format("Cannot convert '%s' to '%s'", other.getClass().getSimpleName(), GenerateOutputData.class.getSimpleName())); diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/CompositeDateTime.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/CompositeDateTime.kt index b4b7092c8..9609ca5da 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/CompositeDateTime.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/CompositeDateTime.kt @@ -12,7 +12,7 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.UNKNOWN, rulesCount = -1 ) -class CompositeDateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { +class CompositeDateTime() : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): type.TCompositeDateTime? { try { return apply(input_.get("CompositeInputDateTime")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), input_.get("InputDate")?.let({ date(it) }), input_.get("InputDateTime")?.let({ dateAndTime(it) }), input_.get("InputTime")?.let({ time(it) }), context_) @@ -22,7 +22,7 @@ class CompositeDateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecis } } - fun apply(compositeInputDateTime: type.TCompositeDateTime?, inputDate: javax.xml.datatype.XMLGregorianCalendar?, inputDateTime: javax.xml.datatype.XMLGregorianCalendar?, inputTime: javax.xml.datatype.XMLGregorianCalendar?, context_: com.gs.dmn.runtime.ExecutionContext): type.TCompositeDateTime? { + fun apply(compositeInputDateTime: type.TCompositeDateTime?, inputDate: java.time.LocalDate?, inputDateTime: java.time.temporal.TemporalAccessor?, inputTime: java.time.temporal.TemporalAccessor?, context_: com.gs.dmn.runtime.ExecutionContext): type.TCompositeDateTime? { try { // Start decision 'CompositeDateTime' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -53,9 +53,9 @@ class CompositeDateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecis fun applyProto(compositeDateTimeRequest_: proto.CompositeDateTimeRequest, context_: com.gs.dmn.runtime.ExecutionContext): proto.CompositeDateTimeResponse { // Create arguments from Request Message val compositeInputDateTime: type.TCompositeDateTime? = type.TCompositeDateTime.toTCompositeDateTime(compositeDateTimeRequest_.getCompositeInputDateTime()) - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = date(compositeDateTimeRequest_.getInputDate()) - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = dateAndTime(compositeDateTimeRequest_.getInputDateTime()) - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = time(compositeDateTimeRequest_.getInputTime()) + val inputDate: java.time.LocalDate? = date(compositeDateTimeRequest_.getInputDate()) + val inputDateTime: java.time.temporal.TemporalAccessor? = dateAndTime(compositeDateTimeRequest_.getInputDateTime()) + val inputTime: java.time.temporal.TemporalAccessor? = time(compositeDateTimeRequest_.getInputTime()) // Invoke apply method val output_: type.TCompositeDateTime? = apply(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) @@ -69,7 +69,7 @@ class CompositeDateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecis return builder_.build() } - private inline fun evaluate(compositeInputDateTime: type.TCompositeDateTime?, inputDate: javax.xml.datatype.XMLGregorianCalendar?, inputDateTime: javax.xml.datatype.XMLGregorianCalendar?, inputTime: javax.xml.datatype.XMLGregorianCalendar?, context_: com.gs.dmn.runtime.ExecutionContext): type.TCompositeDateTime? { + private inline fun evaluate(compositeInputDateTime: type.TCompositeDateTime?, inputDate: java.time.LocalDate?, inputDateTime: java.time.temporal.TemporalAccessor?, inputTime: java.time.temporal.TemporalAccessor?, context_: com.gs.dmn.runtime.ExecutionContext): type.TCompositeDateTime? { 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() @@ -92,9 +92,9 @@ class CompositeDateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecis fun requestToMap(compositeDateTimeRequest_: proto.CompositeDateTimeRequest): kotlin.collections.Map { // Create arguments from Request Message val compositeInputDateTime: type.TCompositeDateTime? = type.TCompositeDateTime.toTCompositeDateTime(compositeDateTimeRequest_.getCompositeInputDateTime()) - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.date(compositeDateTimeRequest_.getInputDate()) - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.dateAndTime(compositeDateTimeRequest_.getInputDateTime()) - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.time(compositeDateTimeRequest_.getInputTime()) + val inputDate: java.time.LocalDate? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.date(compositeDateTimeRequest_.getInputDate()) + val inputDateTime: java.time.temporal.TemporalAccessor? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.dateAndTime(compositeDateTimeRequest_.getInputDateTime()) + val inputTime: java.time.temporal.TemporalAccessor? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.time(compositeDateTimeRequest_.getInputTime()) // Create map val map_: kotlin.collections.MutableMap = mutableMapOf() diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/DMNMetadata.json b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/DMNMetadata.json index 8e8919f2c..a08bdef10 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/DMNMetadata.json +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/DMNMetadata.json @@ -86,7 +86,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date", "javaParameterName" : "inputDate", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.LocalDate?", "name" : "InputDate", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-56EEB8E1-BEBB-4E33-8939-E722B7F68038", @@ -99,7 +99,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date-time", "javaParameterName" : "inputDateTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputDateTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-A71A32D5-3771-47F1-95D3-56D4223FBF6D", @@ -112,7 +112,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-time", "javaParameterName" : "inputTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-6CFB0C31-B181-4606-BE51-1960E8B86487", @@ -161,7 +161,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date", "javaParameterName" : "inputDate", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.LocalDate?", "name" : "InputDate", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-56EEB8E1-BEBB-4E33-8939-E722B7F68038", @@ -174,7 +174,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date-time", "javaParameterName" : "inputDateTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputDateTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-A71A32D5-3771-47F1-95D3-56D4223FBF6D", @@ -187,7 +187,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-time", "javaParameterName" : "inputTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-6CFB0C31-B181-4606-BE51-1960E8B86487", @@ -214,7 +214,7 @@ }, { "reference" : "c-date-time" } ], - "javaOutputTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaOutputTypeName" : "java.time.LocalDate?", "javaParameterName" : "date", "javaTypeName" : "Date", "knowledgeReferences" : [ ], @@ -241,7 +241,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date", "javaParameterName" : "inputDate", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.LocalDate?", "name" : "InputDate", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-56EEB8E1-BEBB-4E33-8939-E722B7F68038", @@ -254,7 +254,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date-time", "javaParameterName" : "inputDateTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputDateTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-A71A32D5-3771-47F1-95D3-56D4223FBF6D", @@ -267,7 +267,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-time", "javaParameterName" : "inputTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-6CFB0C31-B181-4606-BE51-1960E8B86487", @@ -294,7 +294,7 @@ }, { "reference" : "c-date-time" } ], - "javaOutputTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaOutputTypeName" : "java.time.temporal.TemporalAccessor?", "javaParameterName" : "dateTime", "javaTypeName" : "DateTime", "knowledgeReferences" : [ ], @@ -321,7 +321,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date", "javaParameterName" : "inputDate", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.LocalDate?", "name" : "InputDate", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-56EEB8E1-BEBB-4E33-8939-E722B7F68038", @@ -334,7 +334,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date-time", "javaParameterName" : "inputDateTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputDateTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-A71A32D5-3771-47F1-95D3-56D4223FBF6D", @@ -347,7 +347,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-time", "javaParameterName" : "inputTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-6CFB0C31-B181-4606-BE51-1960E8B86487", @@ -374,7 +374,7 @@ }, { "reference" : "c-date-time" } ], - "javaOutputTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaOutputTypeName" : "java.time.temporal.TemporalAccessor?", "javaParameterName" : "time", "javaTypeName" : "Time", "knowledgeReferences" : [ ], @@ -401,7 +401,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date", "javaParameterName" : "inputDate", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.LocalDate?", "name" : "InputDate", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-56EEB8E1-BEBB-4E33-8939-E722B7F68038", @@ -414,7 +414,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-date-time", "javaParameterName" : "inputDateTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputDateTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-A71A32D5-3771-47F1-95D3-56D4223FBF6D", @@ -427,7 +427,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "i-time", "javaParameterName" : "inputTime", - "javaTypeName" : "javax.xml.datatype.XMLGregorianCalendar?", + "javaTypeName" : "java.time.temporal.TemporalAccessor?", "name" : "InputTime", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", "shapeId" : "sid-6CFB0C31-B181-4606-BE51-1960E8B86487", diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/Date.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/Date.kt index 29717c25e..165c3a2bf 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/Date.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/Date.kt @@ -12,8 +12,8 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.UNKNOWN, rulesCount = -1 ) -class Date() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { - override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): javax.xml.datatype.XMLGregorianCalendar? { +class Date() : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { + override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): java.time.LocalDate? { try { return apply(input_.get("CompositeInputDateTime")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), input_.get("InputDate")?.let({ date(it) }), input_.get("InputDateTime")?.let({ dateAndTime(it) }), input_.get("InputTime")?.let({ time(it) }), context_) } catch (e: Exception) { @@ -22,7 +22,7 @@ class Date() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { } } - fun apply(compositeInputDateTime: type.TCompositeDateTime?, inputDate: javax.xml.datatype.XMLGregorianCalendar?, inputDateTime: javax.xml.datatype.XMLGregorianCalendar?, inputTime: javax.xml.datatype.XMLGregorianCalendar?, context_: com.gs.dmn.runtime.ExecutionContext): javax.xml.datatype.XMLGregorianCalendar? { + fun apply(compositeInputDateTime: type.TCompositeDateTime?, inputDate: java.time.LocalDate?, inputDateTime: java.time.temporal.TemporalAccessor?, inputTime: java.time.temporal.TemporalAccessor?, context_: com.gs.dmn.runtime.ExecutionContext): java.time.LocalDate? { try { // Start decision 'Date' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -38,7 +38,7 @@ class Date() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { eventListener_.startDRGElement(DRG_ELEMENT_METADATA, dateArguments_) // Evaluate decision 'Date' - val output_: javax.xml.datatype.XMLGregorianCalendar? = evaluate(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) + val output_: java.time.LocalDate? = evaluate(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) // End decision 'Date' eventListener_.endDRGElement(DRG_ELEMENT_METADATA, dateArguments_, output_, (System.currentTimeMillis() - dateStartTime_)) @@ -53,12 +53,12 @@ class Date() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { fun applyProto(dateRequest_: proto.DateRequest, context_: com.gs.dmn.runtime.ExecutionContext): proto.DateResponse { // Create arguments from Request Message val compositeInputDateTime: type.TCompositeDateTime? = type.TCompositeDateTime.toTCompositeDateTime(dateRequest_.getCompositeInputDateTime()) - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = date(dateRequest_.getInputDate()) - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = dateAndTime(dateRequest_.getInputDateTime()) - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = time(dateRequest_.getInputTime()) + val inputDate: java.time.LocalDate? = date(dateRequest_.getInputDate()) + val inputDateTime: java.time.temporal.TemporalAccessor? = dateAndTime(dateRequest_.getInputDateTime()) + val inputTime: java.time.temporal.TemporalAccessor? = time(dateRequest_.getInputTime()) // Invoke apply method - val output_: javax.xml.datatype.XMLGregorianCalendar? = apply(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) + val output_: java.time.LocalDate? = apply(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) // Convert output to Response Message val builder_: proto.DateResponse.Builder = proto.DateResponse.newBuilder() @@ -67,12 +67,12 @@ class Date() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { return builder_.build() } - private inline fun evaluate(compositeInputDateTime: type.TCompositeDateTime?, inputDate: javax.xml.datatype.XMLGregorianCalendar?, inputDateTime: javax.xml.datatype.XMLGregorianCalendar?, inputTime: javax.xml.datatype.XMLGregorianCalendar?, context_: com.gs.dmn.runtime.ExecutionContext): javax.xml.datatype.XMLGregorianCalendar? { + private inline fun evaluate(compositeInputDateTime: type.TCompositeDateTime?, inputDate: java.time.LocalDate?, inputDateTime: java.time.temporal.TemporalAccessor?, inputTime: java.time.temporal.TemporalAccessor?, context_: com.gs.dmn.runtime.ExecutionContext): java.time.LocalDate? { 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 inputDate as javax.xml.datatype.XMLGregorianCalendar? + return inputDate as java.time.LocalDate? } companion object { @@ -90,9 +90,9 @@ class Date() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { fun requestToMap(dateRequest_: proto.DateRequest): kotlin.collections.Map { // Create arguments from Request Message val compositeInputDateTime: type.TCompositeDateTime? = type.TCompositeDateTime.toTCompositeDateTime(dateRequest_.getCompositeInputDateTime()) - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.date(dateRequest_.getInputDate()) - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.dateAndTime(dateRequest_.getInputDateTime()) - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.time(dateRequest_.getInputTime()) + val inputDate: java.time.LocalDate? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.date(dateRequest_.getInputDate()) + val inputDateTime: java.time.temporal.TemporalAccessor? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.dateAndTime(dateRequest_.getInputDateTime()) + val inputTime: java.time.temporal.TemporalAccessor? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.time(dateRequest_.getInputTime()) // Create map val map_: kotlin.collections.MutableMap = mutableMapOf() @@ -104,9 +104,9 @@ class Date() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { } @JvmStatic - fun responseToOutput(dateResponse_: proto.DateResponse): javax.xml.datatype.XMLGregorianCalendar? { + fun responseToOutput(dateResponse_: proto.DateResponse): java.time.LocalDate? { // Extract and convert output - return com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.date(dateResponse_.getDate()) + return com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.date(dateResponse_.getDate()) } } } diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/DateTime.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/DateTime.kt index 3162d2c25..94eda8d15 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/DateTime.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/DateTime.kt @@ -12,8 +12,8 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.UNKNOWN, rulesCount = -1 ) -class DateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { - override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): javax.xml.datatype.XMLGregorianCalendar? { +class DateTime() : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { + override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): java.time.temporal.TemporalAccessor? { try { return apply(input_.get("CompositeInputDateTime")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), input_.get("InputDate")?.let({ date(it) }), input_.get("InputDateTime")?.let({ dateAndTime(it) }), input_.get("InputTime")?.let({ time(it) }), context_) } catch (e: Exception) { @@ -22,7 +22,7 @@ class DateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { } } - fun apply(compositeInputDateTime: type.TCompositeDateTime?, inputDate: javax.xml.datatype.XMLGregorianCalendar?, inputDateTime: javax.xml.datatype.XMLGregorianCalendar?, inputTime: javax.xml.datatype.XMLGregorianCalendar?, context_: com.gs.dmn.runtime.ExecutionContext): javax.xml.datatype.XMLGregorianCalendar? { + fun apply(compositeInputDateTime: type.TCompositeDateTime?, inputDate: java.time.LocalDate?, inputDateTime: java.time.temporal.TemporalAccessor?, inputTime: java.time.temporal.TemporalAccessor?, context_: com.gs.dmn.runtime.ExecutionContext): java.time.temporal.TemporalAccessor? { try { // Start decision 'DateTime' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -38,7 +38,7 @@ class DateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { eventListener_.startDRGElement(DRG_ELEMENT_METADATA, dateTimeArguments_) // Evaluate decision 'DateTime' - val output_: javax.xml.datatype.XMLGregorianCalendar? = evaluate(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) + val output_: java.time.temporal.TemporalAccessor? = evaluate(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) // End decision 'DateTime' eventListener_.endDRGElement(DRG_ELEMENT_METADATA, dateTimeArguments_, output_, (System.currentTimeMillis() - dateTimeStartTime_)) @@ -53,12 +53,12 @@ class DateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { fun applyProto(dateTimeRequest_: proto.DateTimeRequest, context_: com.gs.dmn.runtime.ExecutionContext): proto.DateTimeResponse { // Create arguments from Request Message val compositeInputDateTime: type.TCompositeDateTime? = type.TCompositeDateTime.toTCompositeDateTime(dateTimeRequest_.getCompositeInputDateTime()) - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = date(dateTimeRequest_.getInputDate()) - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = dateAndTime(dateTimeRequest_.getInputDateTime()) - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = time(dateTimeRequest_.getInputTime()) + val inputDate: java.time.LocalDate? = date(dateTimeRequest_.getInputDate()) + val inputDateTime: java.time.temporal.TemporalAccessor? = dateAndTime(dateTimeRequest_.getInputDateTime()) + val inputTime: java.time.temporal.TemporalAccessor? = time(dateTimeRequest_.getInputTime()) // Invoke apply method - val output_: javax.xml.datatype.XMLGregorianCalendar? = apply(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) + val output_: java.time.temporal.TemporalAccessor? = apply(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) // Convert output to Response Message val builder_: proto.DateTimeResponse.Builder = proto.DateTimeResponse.newBuilder() @@ -67,12 +67,12 @@ class DateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { return builder_.build() } - private inline fun evaluate(compositeInputDateTime: type.TCompositeDateTime?, inputDate: javax.xml.datatype.XMLGregorianCalendar?, inputDateTime: javax.xml.datatype.XMLGregorianCalendar?, inputTime: javax.xml.datatype.XMLGregorianCalendar?, context_: com.gs.dmn.runtime.ExecutionContext): javax.xml.datatype.XMLGregorianCalendar? { + private inline fun evaluate(compositeInputDateTime: type.TCompositeDateTime?, inputDate: java.time.LocalDate?, inputDateTime: java.time.temporal.TemporalAccessor?, inputTime: java.time.temporal.TemporalAccessor?, context_: com.gs.dmn.runtime.ExecutionContext): java.time.temporal.TemporalAccessor? { 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 inputDateTime as javax.xml.datatype.XMLGregorianCalendar? + return inputDateTime as java.time.temporal.TemporalAccessor? } companion object { @@ -90,9 +90,9 @@ class DateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { fun requestToMap(dateTimeRequest_: proto.DateTimeRequest): kotlin.collections.Map { // Create arguments from Request Message val compositeInputDateTime: type.TCompositeDateTime? = type.TCompositeDateTime.toTCompositeDateTime(dateTimeRequest_.getCompositeInputDateTime()) - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.date(dateTimeRequest_.getInputDate()) - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.dateAndTime(dateTimeRequest_.getInputDateTime()) - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.time(dateTimeRequest_.getInputTime()) + val inputDate: java.time.LocalDate? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.date(dateTimeRequest_.getInputDate()) + val inputDateTime: java.time.temporal.TemporalAccessor? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.dateAndTime(dateTimeRequest_.getInputDateTime()) + val inputTime: java.time.temporal.TemporalAccessor? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.time(dateTimeRequest_.getInputTime()) // Create map val map_: kotlin.collections.MutableMap = mutableMapOf() @@ -104,9 +104,9 @@ class DateTime() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { } @JvmStatic - fun responseToOutput(dateTimeResponse_: proto.DateTimeResponse): javax.xml.datatype.XMLGregorianCalendar? { + fun responseToOutput(dateTimeResponse_: proto.DateTimeResponse): java.time.temporal.TemporalAccessor? { // Extract and convert output - return com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.dateAndTime(dateTimeResponse_.getDateTime()) + return com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.dateAndTime(dateTimeResponse_.getDateTime()) } } } diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/Time.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/Time.kt index e2787f1e7..a3792137d 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/Time.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/Time.kt @@ -12,8 +12,8 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.UNKNOWN, rulesCount = -1 ) -class Time() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { - override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): javax.xml.datatype.XMLGregorianCalendar? { +class Time() : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { + override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): java.time.temporal.TemporalAccessor? { try { return apply(input_.get("CompositeInputDateTime")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), input_.get("InputDate")?.let({ date(it) }), input_.get("InputDateTime")?.let({ dateAndTime(it) }), input_.get("InputTime")?.let({ time(it) }), context_) } catch (e: Exception) { @@ -22,7 +22,7 @@ class Time() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { } } - fun apply(compositeInputDateTime: type.TCompositeDateTime?, inputDate: javax.xml.datatype.XMLGregorianCalendar?, inputDateTime: javax.xml.datatype.XMLGregorianCalendar?, inputTime: javax.xml.datatype.XMLGregorianCalendar?, context_: com.gs.dmn.runtime.ExecutionContext): javax.xml.datatype.XMLGregorianCalendar? { + fun apply(compositeInputDateTime: type.TCompositeDateTime?, inputDate: java.time.LocalDate?, inputDateTime: java.time.temporal.TemporalAccessor?, inputTime: java.time.temporal.TemporalAccessor?, context_: com.gs.dmn.runtime.ExecutionContext): java.time.temporal.TemporalAccessor? { try { // Start decision 'Time' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -38,7 +38,7 @@ class Time() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { eventListener_.startDRGElement(DRG_ELEMENT_METADATA, timeArguments_) // Evaluate decision 'Time' - val output_: javax.xml.datatype.XMLGregorianCalendar? = evaluate(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) + val output_: java.time.temporal.TemporalAccessor? = evaluate(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) // End decision 'Time' eventListener_.endDRGElement(DRG_ELEMENT_METADATA, timeArguments_, output_, (System.currentTimeMillis() - timeStartTime_)) @@ -53,12 +53,12 @@ class Time() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { fun applyProto(timeRequest_: proto.TimeRequest, context_: com.gs.dmn.runtime.ExecutionContext): proto.TimeResponse { // Create arguments from Request Message val compositeInputDateTime: type.TCompositeDateTime? = type.TCompositeDateTime.toTCompositeDateTime(timeRequest_.getCompositeInputDateTime()) - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = date(timeRequest_.getInputDate()) - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = dateAndTime(timeRequest_.getInputDateTime()) - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = time(timeRequest_.getInputTime()) + val inputDate: java.time.LocalDate? = date(timeRequest_.getInputDate()) + val inputDateTime: java.time.temporal.TemporalAccessor? = dateAndTime(timeRequest_.getInputDateTime()) + val inputTime: java.time.temporal.TemporalAccessor? = time(timeRequest_.getInputTime()) // Invoke apply method - val output_: javax.xml.datatype.XMLGregorianCalendar? = apply(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) + val output_: java.time.temporal.TemporalAccessor? = apply(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) // Convert output to Response Message val builder_: proto.TimeResponse.Builder = proto.TimeResponse.newBuilder() @@ -67,12 +67,12 @@ class Time() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { return builder_.build() } - private inline fun evaluate(compositeInputDateTime: type.TCompositeDateTime?, inputDate: javax.xml.datatype.XMLGregorianCalendar?, inputDateTime: javax.xml.datatype.XMLGregorianCalendar?, inputTime: javax.xml.datatype.XMLGregorianCalendar?, context_: com.gs.dmn.runtime.ExecutionContext): javax.xml.datatype.XMLGregorianCalendar? { + private inline fun evaluate(compositeInputDateTime: type.TCompositeDateTime?, inputDate: java.time.LocalDate?, inputDateTime: java.time.temporal.TemporalAccessor?, inputTime: java.time.temporal.TemporalAccessor?, context_: com.gs.dmn.runtime.ExecutionContext): java.time.temporal.TemporalAccessor? { 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 inputTime as javax.xml.datatype.XMLGregorianCalendar? + return inputTime as java.time.temporal.TemporalAccessor? } companion object { @@ -90,9 +90,9 @@ class Time() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { fun requestToMap(timeRequest_: proto.TimeRequest): kotlin.collections.Map { // Create arguments from Request Message val compositeInputDateTime: type.TCompositeDateTime? = type.TCompositeDateTime.toTCompositeDateTime(timeRequest_.getCompositeInputDateTime()) - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.date(timeRequest_.getInputDate()) - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.dateAndTime(timeRequest_.getInputDateTime()) - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.time(timeRequest_.getInputTime()) + val inputDate: java.time.LocalDate? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.date(timeRequest_.getInputDate()) + val inputDateTime: java.time.temporal.TemporalAccessor? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.dateAndTime(timeRequest_.getInputDateTime()) + val inputTime: java.time.temporal.TemporalAccessor? = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.time(timeRequest_.getInputTime()) // Create map val map_: kotlin.collections.MutableMap = mutableMapOf() @@ -104,9 +104,9 @@ class Time() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { } @JvmStatic - fun responseToOutput(timeResponse_: proto.TimeResponse): javax.xml.datatype.XMLGregorianCalendar? { + fun responseToOutput(timeResponse_: proto.TimeResponse): java.time.temporal.TemporalAccessor? { // Extract and convert output - return com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.time(timeResponse_.getTime()) + return com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.time(timeResponse_.getTime()) } } } diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/type/TCompositeDateTime.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/type/TCompositeDateTime.kt index 5af9baf20..50dcc5dcd 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/type/TCompositeDateTime.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/type/TCompositeDateTime.kt @@ -7,13 +7,13 @@ import java.util.* @com.fasterxml.jackson.databind.annotation.JsonDeserialize(`as` = type.TCompositeDateTimeImpl::class) interface TCompositeDateTime : com.gs.dmn.runtime.DMNType { @get:com.fasterxml.jackson.annotation.JsonGetter("Date") - val date: javax.xml.datatype.XMLGregorianCalendar? + val date: java.time.LocalDate? @get:com.fasterxml.jackson.annotation.JsonGetter("Time") - val time: javax.xml.datatype.XMLGregorianCalendar? + val time: java.time.temporal.TemporalAccessor? @get:com.fasterxml.jackson.annotation.JsonGetter("DateTime") - val dateTime: javax.xml.datatype.XMLGregorianCalendar? + val dateTime: java.time.temporal.TemporalAccessor? override fun toContext(): com.gs.dmn.runtime.Context { val context = com.gs.dmn.runtime.Context() @@ -61,17 +61,17 @@ interface TCompositeDateTime : com.gs.dmn.runtime.DMNType { return other } else if (other is com.gs.dmn.runtime.Context) { var result_ = TCompositeDateTimeImpl() - result_.date = other.get("Date", "Date") as javax.xml.datatype.XMLGregorianCalendar? - result_.time = other.get("Time", "Time") as javax.xml.datatype.XMLGregorianCalendar? - result_.dateTime = other.get("DateTime", "DateTime") as javax.xml.datatype.XMLGregorianCalendar? + result_.date = other.get("Date", "Date") as java.time.LocalDate? + result_.time = other.get("Time", "Time") as java.time.temporal.TemporalAccessor? + result_.dateTime = other.get("DateTime", "DateTime") as java.time.temporal.TemporalAccessor? return result_ } else if (other is com.gs.dmn.runtime.DMNType) { return toTCompositeDateTime(other.toContext()) } else if (other is proto.TCompositeDateTime) { var result_: TCompositeDateTimeImpl = TCompositeDateTimeImpl() - result_.date = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.date((other as proto.TCompositeDateTime).getDate()) - result_.time = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.time((other as proto.TCompositeDateTime).getTime()) - result_.dateTime = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.dateAndTime((other as proto.TCompositeDateTime).getDateTime()) + result_.date = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.date((other as proto.TCompositeDateTime).getDate()) + result_.time = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.time((other as proto.TCompositeDateTime).getTime()) + result_.dateTime = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.dateAndTime((other as proto.TCompositeDateTime).getDateTime()) return result_ } else { throw com.gs.dmn.runtime.DMNRuntimeException(String.format("Cannot convert '%s' to '%s'", other.javaClass.getSimpleName(), TCompositeDateTime::class.java.getSimpleName())) @@ -82,11 +82,11 @@ interface TCompositeDateTime : com.gs.dmn.runtime.DMNType { fun toProto(other: TCompositeDateTime?): proto.TCompositeDateTime { var result_: proto.TCompositeDateTime.Builder = proto.TCompositeDateTime.newBuilder() if (other != null) { - var dateProto_: String = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.string((other as TCompositeDateTime).date) + var dateProto_: String = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.string((other as TCompositeDateTime).date) result_.setDate(dateProto_) - var timeProto_: String = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.string((other as TCompositeDateTime).time) + var timeProto_: String = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.string((other as TCompositeDateTime).time) result_.setTime(timeProto_) - var dateTimeProto_: String = com.gs.dmn.signavio.feel.lib.DefaultSignavioLib.INSTANCE.string((other as TCompositeDateTime).dateTime) + var dateTimeProto_: String = com.gs.dmn.signavio.feel.lib.JavaTimeSignavioLib.INSTANCE.string((other as TCompositeDateTime).dateTime) result_.setDateTime(dateTimeProto_) } return result_.build() diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/type/TCompositeDateTimeImpl.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/type/TCompositeDateTimeImpl.kt index 821d4c30b..d897e9052 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/type/TCompositeDateTimeImpl.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/date-time-proto/type/TCompositeDateTimeImpl.kt @@ -7,20 +7,20 @@ import java.util.* class TCompositeDateTimeImpl : TCompositeDateTime { @get:com.fasterxml.jackson.annotation.JsonGetter("Date") @set:com.fasterxml.jackson.annotation.JsonGetter("Date") - override var date: javax.xml.datatype.XMLGregorianCalendar? = null + override var date: java.time.LocalDate? = null @get:com.fasterxml.jackson.annotation.JsonGetter("Time") @set:com.fasterxml.jackson.annotation.JsonGetter("Time") - override var time: javax.xml.datatype.XMLGregorianCalendar? = null + override var time: java.time.temporal.TemporalAccessor? = null @get:com.fasterxml.jackson.annotation.JsonGetter("DateTime") @set:com.fasterxml.jackson.annotation.JsonGetter("DateTime") - override var dateTime: javax.xml.datatype.XMLGregorianCalendar? = null + override var dateTime: java.time.temporal.TemporalAccessor? = null constructor() { } - constructor (date: javax.xml.datatype.XMLGregorianCalendar?, dateTime: javax.xml.datatype.XMLGregorianCalendar?, time: javax.xml.datatype.XMLGregorianCalendar?) { + constructor (date: java.time.LocalDate?, dateTime: java.time.temporal.TemporalAccessor?, time: java.time.temporal.TemporalAccessor?) { this.date = date this.dateTime = dateTime this.time = time diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessApplicantAge.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessApplicantAge.kt index 54d1e1b21..647023f08 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessApplicantAge.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessApplicantAge.kt @@ -12,8 +12,8 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.UNIQUE, rulesCount = 3 ) -class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { - override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { +class AssessApplicantAge() : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { + override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.Number? { try { return apply(input_.get("Applicant")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), context_) } catch (e: Exception) { @@ -22,7 +22,7 @@ class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci } } - fun apply(applicant: type.Applicant?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { + fun apply(applicant: type.Applicant?, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.Number? { try { // Start decision 'assessApplicantAge' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -35,7 +35,7 @@ class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci eventListener_.startDRGElement(DRG_ELEMENT_METADATA, assessApplicantAgeArguments_) // Evaluate decision 'assessApplicantAge' - val output_: java.math.BigDecimal? = evaluate(applicant, context_) + val output_: kotlin.Number? = evaluate(applicant, context_) // End decision 'assessApplicantAge' eventListener_.endDRGElement(DRG_ELEMENT_METADATA, assessApplicantAgeArguments_, output_, (System.currentTimeMillis() - assessApplicantAgeStartTime_)) @@ -52,7 +52,7 @@ class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci val applicant: type.Applicant? = type.Applicant.toApplicant(assessApplicantAgeRequest_.getApplicant()) // Invoke apply method - val output_: java.math.BigDecimal? = apply(applicant, context_) + val output_: kotlin.Number? = apply(applicant, context_) // Convert output to Response Message val builder_: proto.AssessApplicantAgeResponse.Builder = proto.AssessApplicantAgeResponse.newBuilder() @@ -61,7 +61,7 @@ class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci return builder_.build() } - private inline fun evaluate(applicant: type.Applicant?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { + private inline fun evaluate(applicant: type.Applicant?, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.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() @@ -73,7 +73,7 @@ class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci ruleOutputList_.add(rule2(applicant, context_)) // Return results based on hit policy - var output_: java.math.BigDecimal? + var output_: kotlin.Number? if (ruleOutputList_.noMatchedRules()) { // Default value output_ = null @@ -100,7 +100,7 @@ class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci // Apply rule var output_: AssessApplicantAgeRuleOutput = AssessApplicantAgeRuleOutput(false) if (ruleMatches(eventListener_, drgRuleMetadata, - numericLessThan(applicant?.let({ it.age as java.math.BigDecimal? }), number("18")) + numericLessThan(applicant?.let({ it.age as kotlin.Number? }), number("18")) )) { // Rule match eventListener_.matchRule(DRG_ELEMENT_METADATA, drgRuleMetadata) @@ -131,7 +131,7 @@ class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci // Apply rule var output_: AssessApplicantAgeRuleOutput = AssessApplicantAgeRuleOutput(false) if (ruleMatches(eventListener_, drgRuleMetadata, - booleanAnd(numericGreaterEqualThan(applicant?.let({ it.age as java.math.BigDecimal? }), number("18")), numericLessEqualThan(applicant?.let({ it.age as java.math.BigDecimal? }), number("25"))) + booleanAnd(numericGreaterEqualThan(applicant?.let({ it.age as kotlin.Number? }), number("18")), numericLessEqualThan(applicant?.let({ it.age as kotlin.Number? }), number("25"))) )) { // Rule match eventListener_.matchRule(DRG_ELEMENT_METADATA, drgRuleMetadata) @@ -162,7 +162,7 @@ class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci // Apply rule var output_: AssessApplicantAgeRuleOutput = AssessApplicantAgeRuleOutput(false) if (ruleMatches(eventListener_, drgRuleMetadata, - numericGreaterThan(applicant?.let({ it.age as java.math.BigDecimal? }), number("25")) + numericGreaterThan(applicant?.let({ it.age as kotlin.Number? }), number("25")) )) { // Rule match eventListener_.matchRule(DRG_ELEMENT_METADATA, drgRuleMetadata) @@ -202,9 +202,9 @@ class AssessApplicantAge() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci } @JvmStatic - fun responseToOutput(assessApplicantAgeResponse_: proto.AssessApplicantAgeResponse): java.math.BigDecimal? { + fun responseToOutput(assessApplicantAgeResponse_: proto.AssessApplicantAgeResponse): kotlin.Number? { // Extract and convert output - return java.math.BigDecimal.valueOf(assessApplicantAgeResponse_.getAssessApplicantAge()) + return (java.math.BigDecimal.valueOf(assessApplicantAgeResponse_.getAssessApplicantAge()) as kotlin.Number) } } } diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessApplicantAgeRuleOutput.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessApplicantAgeRuleOutput.kt index dcc21fe2d..2ef492267 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessApplicantAgeRuleOutput.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessApplicantAgeRuleOutput.kt @@ -2,7 +2,7 @@ @javax.annotation.Generated(value = ["decisionTableRuleOutput.ftl", "assessApplicantAge"]) class AssessApplicantAgeRuleOutput(matched: Boolean) : com.gs.dmn.runtime.RuleOutput(matched) { @com.fasterxml.jackson.annotation.JsonProperty("assessApplicantAge") - var assessApplicantAge: java.math.BigDecimal? = null + var assessApplicantAge: kotlin.Number? = null override fun equals(o: Any?): Boolean { if (this === o) return true diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessIssue.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessIssue.kt index a4b234997..0da9bcd64 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessIssue.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessIssue.kt @@ -12,8 +12,8 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.UNKNOWN, rulesCount = -1 ) -class AssessIssue() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { - override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { +class AssessIssue() : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { + override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.Number? { try { return apply(input_.get("Current risk appetite")?.let({ number(it) }), input_.get("Prior issue")?.let({ number(it) }), context_) } catch (e: Exception) { @@ -22,7 +22,7 @@ class AssessIssue() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() } } - fun apply(currentRiskAppetite: java.math.BigDecimal?, priorIssue_iterator: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { + fun apply(currentRiskAppetite: kotlin.Number?, priorIssue_iterator: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.Number? { try { // Start decision 'assessIssue' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -36,7 +36,7 @@ class AssessIssue() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() eventListener_.startDRGElement(DRG_ELEMENT_METADATA, assessIssueArguments_) // Evaluate decision 'assessIssue' - val output_: java.math.BigDecimal? = evaluate(currentRiskAppetite, priorIssue_iterator, context_) + val output_: kotlin.Number? = evaluate(currentRiskAppetite, priorIssue_iterator, context_) // End decision 'assessIssue' eventListener_.endDRGElement(DRG_ELEMENT_METADATA, assessIssueArguments_, output_, (System.currentTimeMillis() - assessIssueStartTime_)) @@ -50,11 +50,11 @@ class AssessIssue() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() fun applyProto(assessIssueRequest_: proto.AssessIssueRequest, context_: com.gs.dmn.runtime.ExecutionContext): proto.AssessIssueResponse { // Create arguments from Request Message - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(assessIssueRequest_.getCurrentRiskAppetite()) - val priorIssue_iterator: java.math.BigDecimal? = java.math.BigDecimal.valueOf(assessIssueRequest_.getPriorIssueIterator()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(assessIssueRequest_.getCurrentRiskAppetite()) as kotlin.Number) + val priorIssue_iterator: kotlin.Number? = (java.math.BigDecimal.valueOf(assessIssueRequest_.getPriorIssueIterator()) as kotlin.Number) // Invoke apply method - val output_: java.math.BigDecimal? = apply(currentRiskAppetite, priorIssue_iterator, context_) + val output_: kotlin.Number? = apply(currentRiskAppetite, priorIssue_iterator, context_) // Convert output to Response Message val builder_: proto.AssessIssueResponse.Builder = proto.AssessIssueResponse.newBuilder() @@ -63,12 +63,12 @@ class AssessIssue() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() return builder_.build() } - private inline fun evaluate(currentRiskAppetite: java.math.BigDecimal?, priorIssue_iterator: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { + private inline fun evaluate(currentRiskAppetite: kotlin.Number?, priorIssue_iterator: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.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 numericMultiply(priorIssue_iterator, numericMultiply(max(asList(number("0"), numericSubtract(number("100"), currentRiskAppetite))), number("0.01"))) as java.math.BigDecimal? + return numericMultiply(priorIssue_iterator, numericMultiply(max(asList(number("0"), numericSubtract(number("100"), currentRiskAppetite))), number("0.01"))) as kotlin.Number? } companion object { @@ -85,8 +85,8 @@ class AssessIssue() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() @JvmStatic fun requestToMap(assessIssueRequest_: proto.AssessIssueRequest): kotlin.collections.Map { // Create arguments from Request Message - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(assessIssueRequest_.getCurrentRiskAppetite()) - val priorIssue_iterator: java.math.BigDecimal? = java.math.BigDecimal.valueOf(assessIssueRequest_.getPriorIssueIterator()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(assessIssueRequest_.getCurrentRiskAppetite()) as kotlin.Number) + val priorIssue_iterator: kotlin.Number? = (java.math.BigDecimal.valueOf(assessIssueRequest_.getPriorIssueIterator()) as kotlin.Number) // Create map val map_: kotlin.collections.MutableMap = mutableMapOf() @@ -96,9 +96,9 @@ class AssessIssue() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() } @JvmStatic - fun responseToOutput(assessIssueResponse_: proto.AssessIssueResponse): java.math.BigDecimal? { + fun responseToOutput(assessIssueResponse_: proto.AssessIssueResponse): kotlin.Number? { // Extract and convert output - return java.math.BigDecimal.valueOf(assessIssueResponse_.getAssessIssue()) + return (java.math.BigDecimal.valueOf(assessIssueResponse_.getAssessIssue()) as kotlin.Number) } } } diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessIssueRisk.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessIssueRisk.kt index dfdc64330..573f92409 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessIssueRisk.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/AssessIssueRisk.kt @@ -12,8 +12,8 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.UNKNOWN, rulesCount = -1 ) -class AssessIssueRisk(val processPriorIssues : ProcessPriorIssues = ProcessPriorIssues()) : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { - override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { +class AssessIssueRisk(val processPriorIssues : ProcessPriorIssues = ProcessPriorIssues()) : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { + override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.Number? { try { return apply(input_.get("Applicant")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), input_.get("Current risk appetite")?.let({ number(it) }), context_) } catch (e: Exception) { @@ -22,7 +22,7 @@ class AssessIssueRisk(val processPriorIssues : ProcessPriorIssues = ProcessPrior } } - fun apply(applicant: type.Applicant?, currentRiskAppetite: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { + fun apply(applicant: type.Applicant?, currentRiskAppetite: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.Number? { try { // Start decision 'assessIssueRisk' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -36,7 +36,7 @@ class AssessIssueRisk(val processPriorIssues : ProcessPriorIssues = ProcessPrior eventListener_.startDRGElement(DRG_ELEMENT_METADATA, assessIssueRiskArguments_) // Iterate and aggregate - var output_: java.math.BigDecimal? = evaluate(applicant, currentRiskAppetite, context_) + var output_: kotlin.Number? = evaluate(applicant, currentRiskAppetite, context_) // End decision 'assessIssueRisk' eventListener_.endDRGElement(DRG_ELEMENT_METADATA, assessIssueRiskArguments_, output_, (System.currentTimeMillis() - assessIssueRiskStartTime_)) @@ -51,10 +51,10 @@ class AssessIssueRisk(val processPriorIssues : ProcessPriorIssues = ProcessPrior fun applyProto(assessIssueRiskRequest_: proto.AssessIssueRiskRequest, context_: com.gs.dmn.runtime.ExecutionContext): proto.AssessIssueRiskResponse { // Create arguments from Request Message val applicant: type.Applicant? = type.Applicant.toApplicant(assessIssueRiskRequest_.getApplicant()) - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(assessIssueRiskRequest_.getCurrentRiskAppetite()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(assessIssueRiskRequest_.getCurrentRiskAppetite()) as kotlin.Number) // Invoke apply method - val output_: java.math.BigDecimal? = apply(applicant, currentRiskAppetite, context_) + val output_: kotlin.Number? = apply(applicant, currentRiskAppetite, context_) // Convert output to Response Message val builder_: proto.AssessIssueRiskResponse.Builder = proto.AssessIssueRiskResponse.newBuilder() @@ -63,13 +63,13 @@ class AssessIssueRisk(val processPriorIssues : ProcessPriorIssues = ProcessPrior return builder_.build() } - private inline fun evaluate(applicant: type.Applicant?, currentRiskAppetite: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { + private inline fun evaluate(applicant: type.Applicant?, currentRiskAppetite: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.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() // Apply child decisions - val processPriorIssues: List? = this.processPriorIssues.apply(applicant, context_) + val processPriorIssues: List? = this.processPriorIssues.apply(applicant, context_) val assessIssue: AssessIssue = AssessIssue() return sum(processPriorIssues?.stream()?.map({priorIssue_iterator -> assessIssue.apply(currentRiskAppetite, priorIssue_iterator, context_)})?.collect(Collectors.toList())) @@ -90,7 +90,7 @@ class AssessIssueRisk(val processPriorIssues : ProcessPriorIssues = ProcessPrior fun requestToMap(assessIssueRiskRequest_: proto.AssessIssueRiskRequest): kotlin.collections.Map { // Create arguments from Request Message val applicant: type.Applicant? = type.Applicant.toApplicant(assessIssueRiskRequest_.getApplicant()) - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(assessIssueRiskRequest_.getCurrentRiskAppetite()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(assessIssueRiskRequest_.getCurrentRiskAppetite()) as kotlin.Number) // Create map val map_: kotlin.collections.MutableMap = mutableMapOf() @@ -100,9 +100,9 @@ class AssessIssueRisk(val processPriorIssues : ProcessPriorIssues = ProcessPrior } @JvmStatic - fun responseToOutput(assessIssueRiskResponse_: proto.AssessIssueRiskResponse): java.math.BigDecimal? { + fun responseToOutput(assessIssueRiskResponse_: proto.AssessIssueRiskResponse): kotlin.Number? { // Extract and convert output - return java.math.BigDecimal.valueOf(assessIssueRiskResponse_.getAssessIssueRisk()) + return (java.math.BigDecimal.valueOf(assessIssueRiskResponse_.getAssessIssueRisk()) as kotlin.Number) } } } diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/CompareAgainstLendingThreshold.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/CompareAgainstLendingThreshold.kt index 385c9a5ce..e8ce1ce99 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/CompareAgainstLendingThreshold.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/CompareAgainstLendingThreshold.kt @@ -12,8 +12,8 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.ANY, rulesCount = 2 ) -class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge = AssessApplicantAge(), val assessIssueRisk : AssessIssueRisk = AssessIssueRisk()) : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { - override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { +class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge = AssessApplicantAge(), val assessIssueRisk : AssessIssueRisk = AssessIssueRisk()) : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { + override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.Number? { try { return apply(input_.get("Applicant")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), input_.get("Current risk appetite")?.let({ number(it) }), input_.get("Lending threshold")?.let({ number(it) }), context_) } catch (e: Exception) { @@ -22,7 +22,7 @@ class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge } } - fun apply(applicant: type.Applicant?, currentRiskAppetite: java.math.BigDecimal?, lendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { + fun apply(applicant: type.Applicant?, currentRiskAppetite: kotlin.Number?, lendingThreshold: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.Number? { try { // Start decision 'compareAgainstLendingThreshold' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -37,7 +37,7 @@ class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge eventListener_.startDRGElement(DRG_ELEMENT_METADATA, compareAgainstLendingThresholdArguments_) // Evaluate decision 'compareAgainstLendingThreshold' - val output_: java.math.BigDecimal? = evaluate(applicant, currentRiskAppetite, lendingThreshold, context_) + val output_: kotlin.Number? = evaluate(applicant, currentRiskAppetite, lendingThreshold, context_) // End decision 'compareAgainstLendingThreshold' eventListener_.endDRGElement(DRG_ELEMENT_METADATA, compareAgainstLendingThresholdArguments_, output_, (System.currentTimeMillis() - compareAgainstLendingThresholdStartTime_)) @@ -52,11 +52,11 @@ class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge fun applyProto(compareAgainstLendingThresholdRequest_: proto.CompareAgainstLendingThresholdRequest, context_: com.gs.dmn.runtime.ExecutionContext): proto.CompareAgainstLendingThresholdResponse { // Create arguments from Request Message val applicant: type.Applicant? = type.Applicant.toApplicant(compareAgainstLendingThresholdRequest_.getApplicant()) - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getCurrentRiskAppetite()) - val lendingThreshold: java.math.BigDecimal? = java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getLendingThreshold()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getCurrentRiskAppetite()) as kotlin.Number) + val lendingThreshold: kotlin.Number? = (java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getLendingThreshold()) as kotlin.Number) // Invoke apply method - val output_: java.math.BigDecimal? = apply(applicant, currentRiskAppetite, lendingThreshold, context_) + val output_: kotlin.Number? = apply(applicant, currentRiskAppetite, lendingThreshold, context_) // Convert output to Response Message val builder_: proto.CompareAgainstLendingThresholdResponse.Builder = proto.CompareAgainstLendingThresholdResponse.newBuilder() @@ -65,14 +65,14 @@ class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge return builder_.build() } - private inline fun evaluate(applicant: type.Applicant?, currentRiskAppetite: java.math.BigDecimal?, lendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): java.math.BigDecimal? { + private inline fun evaluate(applicant: type.Applicant?, currentRiskAppetite: kotlin.Number?, lendingThreshold: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): kotlin.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() // Apply child decisions - val assessApplicantAge: java.math.BigDecimal? = this.assessApplicantAge.apply(applicant, context_) - val assessIssueRisk: java.math.BigDecimal? = this.assessIssueRisk.apply(applicant, currentRiskAppetite, context_) + val assessApplicantAge: kotlin.Number? = this.assessApplicantAge.apply(applicant, context_) + val assessIssueRisk: kotlin.Number? = this.assessIssueRisk.apply(applicant, currentRiskAppetite, context_) // Apply rules and collect results val ruleOutputList_ = com.gs.dmn.runtime.RuleOutputList() @@ -80,7 +80,7 @@ class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge ruleOutputList_.add(rule1(assessApplicantAge, assessIssueRisk, lendingThreshold, context_)) // Return results based on hit policy - var output_: java.math.BigDecimal? + var output_: kotlin.Number? if (ruleOutputList_.noMatchedRules()) { // Default value output_ = null @@ -93,7 +93,7 @@ class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge } @com.gs.dmn.runtime.annotation.Rule(index = 0, annotation = "string(\"Raw issue score is \") + string(assessIssueRisk) + string(\", Age-weighted score is \") + string(assessApplicantAge) + string(\", Acceptance threshold is \") + string(lendingThreshold)") - private fun rule0(assessApplicantAge: java.math.BigDecimal?, assessIssueRisk: java.math.BigDecimal?, lendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput { + private fun rule0(assessApplicantAge: kotlin.Number?, assessIssueRisk: kotlin.Number?, lendingThreshold: kotlin.Number?, 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, "string(\"Raw issue score is \") + string(assessIssueRisk) + string(\", Age-weighted score is \") + string(assessApplicantAge) + string(\", Acceptance threshold is \") + string(lendingThreshold)") @@ -127,7 +127,7 @@ class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge } @com.gs.dmn.runtime.annotation.Rule(index = 1, annotation = "string(\"Error: threshold undefined\")") - private fun rule1(assessApplicantAge: java.math.BigDecimal?, assessIssueRisk: java.math.BigDecimal?, lendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput { + private fun rule1(assessApplicantAge: kotlin.Number?, assessIssueRisk: kotlin.Number?, lendingThreshold: kotlin.Number?, 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, "string(\"Error: threshold undefined\")") @@ -176,8 +176,8 @@ class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge fun requestToMap(compareAgainstLendingThresholdRequest_: proto.CompareAgainstLendingThresholdRequest): kotlin.collections.Map { // Create arguments from Request Message val applicant: type.Applicant? = type.Applicant.toApplicant(compareAgainstLendingThresholdRequest_.getApplicant()) - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getCurrentRiskAppetite()) - val lendingThreshold: java.math.BigDecimal? = java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getLendingThreshold()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getCurrentRiskAppetite()) as kotlin.Number) + val lendingThreshold: kotlin.Number? = (java.math.BigDecimal.valueOf(compareAgainstLendingThresholdRequest_.getLendingThreshold()) as kotlin.Number) // Create map val map_: kotlin.collections.MutableMap = mutableMapOf() @@ -188,9 +188,9 @@ class CompareAgainstLendingThreshold(val assessApplicantAge : AssessApplicantAge } @JvmStatic - fun responseToOutput(compareAgainstLendingThresholdResponse_: proto.CompareAgainstLendingThresholdResponse): java.math.BigDecimal? { + fun responseToOutput(compareAgainstLendingThresholdResponse_: proto.CompareAgainstLendingThresholdResponse): kotlin.Number? { // Extract and convert output - return java.math.BigDecimal.valueOf(compareAgainstLendingThresholdResponse_.getCompareAgainstLendingThreshold()) + return (java.math.BigDecimal.valueOf(compareAgainstLendingThresholdResponse_.getCompareAgainstLendingThreshold()) as kotlin.Number) } } } diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/CompareAgainstLendingThresholdRuleOutput.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/CompareAgainstLendingThresholdRuleOutput.kt index 1e3755e10..b51323d0a 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/CompareAgainstLendingThresholdRuleOutput.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/CompareAgainstLendingThresholdRuleOutput.kt @@ -2,7 +2,7 @@ @javax.annotation.Generated(value = ["decisionTableRuleOutput.ftl", "compareAgainstLendingThreshold"]) class CompareAgainstLendingThresholdRuleOutput(matched: Boolean) : com.gs.dmn.runtime.RuleOutput(matched) { @com.fasterxml.jackson.annotation.JsonProperty("compareAgainstLendingThreshold") - var compareAgainstLendingThreshold: java.math.BigDecimal? = null + var compareAgainstLendingThreshold: kotlin.Number? = null override fun equals(o: Any?): Boolean { if (this === o) return true diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/DMNMetadata.json b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/DMNMetadata.json index 1d3c024f8..d9b200287 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/DMNMetadata.json +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/DMNMetadata.json @@ -230,7 +230,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5dc69eb6de3b736e08d2029ca5ae436c", "javaParameterName" : "currentRiskAppetite", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Current risk appetite", "name" : "currentRiskAppetite", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -244,7 +244,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5a7daa825c6a7542e30184a94034b435", "javaParameterName" : "lendingThreshold", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Lending threshold", "name" : "lendingThreshold", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -258,7 +258,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-78d6a4b25e15dc5d22fe0cce65554804", "javaParameterName" : "priorIssue_iterator", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Prior issue", "name" : "priorIssue_iterator", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -275,7 +275,7 @@ "informationReferences" : [ { "reference" : "id-d2376567fde3c9400ee327ecec21e36d" } ], - "javaOutputTypeName" : "java.math.BigDecimal?", + "javaOutputTypeName" : "kotlin.Number?", "javaParameterName" : "assessApplicantAge", "javaTypeName" : "AssessApplicantAge", "knowledgeReferences" : [ ], @@ -314,7 +314,7 @@ }, { "reference" : "id-78d6a4b25e15dc5d22fe0cce65554804" } ], - "javaOutputTypeName" : "java.math.BigDecimal?", + "javaOutputTypeName" : "kotlin.Number?", "javaParameterName" : "assessIssue", "javaTypeName" : "AssessIssue", "knowledgeReferences" : [ ], @@ -329,7 +329,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5dc69eb6de3b736e08d2029ca5ae436c", "javaParameterName" : "currentRiskAppetite", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Current risk appetite", "name" : "currentRiskAppetite", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -343,7 +343,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-78d6a4b25e15dc5d22fe0cce65554804", "javaParameterName" : "priorIssue_iterator", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Prior issue", "name" : "priorIssue_iterator", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -371,7 +371,7 @@ "informationReferences" : [ { "reference" : "id-bdfc5bfa4ce80fd221463ee66b277220" } ], - "javaOutputTypeName" : "java.math.BigDecimal?", + "javaOutputTypeName" : "kotlin.Number?", "javaParameterName" : "assessIssueRisk", "javaTypeName" : "AssessIssueRisk", "knowledgeReferences" : [ ], @@ -400,7 +400,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5dc69eb6de3b736e08d2029ca5ae436c", "javaParameterName" : "currentRiskAppetite", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Current risk appetite", "name" : "currentRiskAppetite", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -426,7 +426,7 @@ }, { "reference" : "id-90d13f677a4e3f0f8230a12f15301f00" } ], - "javaOutputTypeName" : "java.math.BigDecimal?", + "javaOutputTypeName" : "kotlin.Number?", "javaParameterName" : "compareAgainstLendingThreshold", "javaTypeName" : "CompareAgainstLendingThreshold", "knowledgeReferences" : [ ], @@ -455,7 +455,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5dc69eb6de3b736e08d2029ca5ae436c", "javaParameterName" : "currentRiskAppetite", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Current risk appetite", "name" : "currentRiskAppetite", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -469,7 +469,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5a7daa825c6a7542e30184a94034b435", "javaParameterName" : "lendingThreshold", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Lending threshold", "name" : "lendingThreshold", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -524,7 +524,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5dc69eb6de3b736e08d2029ca5ae436c", "javaParameterName" : "currentRiskAppetite", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Current risk appetite", "name" : "currentRiskAppetite", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -538,7 +538,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5a7daa825c6a7542e30184a94034b435", "javaParameterName" : "lendingThreshold", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Lending threshold", "name" : "lendingThreshold", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -589,7 +589,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5dc69eb6de3b736e08d2029ca5ae436c", "javaParameterName" : "currentRiskAppetite", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Current risk appetite", "name" : "currentRiskAppetite", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -603,7 +603,7 @@ "diagramId" : "9acf44f2b05343d79fc35140c493c1e0", "id" : "id-5a7daa825c6a7542e30184a94034b435", "javaParameterName" : "lendingThreshold", - "javaTypeName" : "java.math.BigDecimal?", + "javaTypeName" : "kotlin.Number?", "label" : "Lending threshold", "name" : "lendingThreshold", "namespace" : "http://www.provider.com/dmn/1.1/diagram/9acf44f2b05343d79fc35140c493c1e0.xml", @@ -625,7 +625,7 @@ "informationReferences" : [ { "reference" : "id-d2376567fde3c9400ee327ecec21e36d" } ], - "javaOutputTypeName" : "List?", + "javaOutputTypeName" : "List?", "javaParameterName" : "processPriorIssues", "javaTypeName" : "ProcessPriorIssues", "knowledgeReferences" : [ ], diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/GenerateOutputData.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/GenerateOutputData.kt index 4433a47fe..abecc6804 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/GenerateOutputData.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/GenerateOutputData.kt @@ -12,7 +12,7 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.UNKNOWN, rulesCount = -1 ) -class GenerateOutputData(val assessIssueRisk : AssessIssueRisk = AssessIssueRisk(), val compareAgainstLendingThreshold : CompareAgainstLendingThreshold = CompareAgainstLendingThreshold(), val makeCreditDecision : MakeCreditDecision = MakeCreditDecision()) : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { +class GenerateOutputData(val assessIssueRisk : AssessIssueRisk = AssessIssueRisk(), val compareAgainstLendingThreshold : CompareAgainstLendingThreshold = CompareAgainstLendingThreshold(), val makeCreditDecision : MakeCreditDecision = MakeCreditDecision()) : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): List? { try { return apply(input_.get("Applicant")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), input_.get("Current risk appetite")?.let({ number(it) }), input_.get("Lending threshold")?.let({ number(it) }), context_) @@ -22,7 +22,7 @@ class GenerateOutputData(val assessIssueRisk : AssessIssueRisk = AssessIssueRisk } } - fun apply(applicant: type.Applicant?, currentRiskAppetite: java.math.BigDecimal?, lendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): List? { + fun apply(applicant: type.Applicant?, currentRiskAppetite: kotlin.Number?, lendingThreshold: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): List? { try { // Start decision 'generateOutputData' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -52,8 +52,8 @@ class GenerateOutputData(val assessIssueRisk : AssessIssueRisk = AssessIssueRisk fun applyProto(generateOutputDataRequest_: proto.GenerateOutputDataRequest, context_: com.gs.dmn.runtime.ExecutionContext): proto.GenerateOutputDataResponse { // Create arguments from Request Message val applicant: type.Applicant? = type.Applicant.toApplicant(generateOutputDataRequest_.getApplicant()) - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(generateOutputDataRequest_.getCurrentRiskAppetite()) - val lendingThreshold: java.math.BigDecimal? = java.math.BigDecimal.valueOf(generateOutputDataRequest_.getLendingThreshold()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(generateOutputDataRequest_.getCurrentRiskAppetite()) as kotlin.Number) + val lendingThreshold: kotlin.Number? = (java.math.BigDecimal.valueOf(generateOutputDataRequest_.getLendingThreshold()) as kotlin.Number) // Invoke apply method val output_: List? = apply(applicant, currentRiskAppetite, lendingThreshold, context_) @@ -67,14 +67,14 @@ class GenerateOutputData(val assessIssueRisk : AssessIssueRisk = AssessIssueRisk return builder_.build() } - private inline fun evaluate(applicant: type.Applicant?, currentRiskAppetite: java.math.BigDecimal?, lendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): List? { + private inline fun evaluate(applicant: type.Applicant?, currentRiskAppetite: kotlin.Number?, lendingThreshold: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): List? { 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() // Apply child decisions - val assessIssueRisk: java.math.BigDecimal? = this.assessIssueRisk.apply(applicant, currentRiskAppetite, context_) - val compareAgainstLendingThreshold: java.math.BigDecimal? = this.compareAgainstLendingThreshold.apply(applicant, currentRiskAppetite, lendingThreshold, context_) + val assessIssueRisk: kotlin.Number? = this.assessIssueRisk.apply(applicant, currentRiskAppetite, context_) + val compareAgainstLendingThreshold: kotlin.Number? = this.compareAgainstLendingThreshold.apply(applicant, currentRiskAppetite, lendingThreshold, context_) val makeCreditDecision: String? = this.makeCreditDecision.apply(applicant, currentRiskAppetite, lendingThreshold, context_) return zip(asList("Decision", "Assessment", "Issue"), asList(asList(makeCreditDecision), asList(compareAgainstLendingThreshold), asList(assessIssueRisk)))?.map({ x -> type.GenerateOutputData.toGenerateOutputData(x) }) as List? @@ -95,8 +95,8 @@ class GenerateOutputData(val assessIssueRisk : AssessIssueRisk = AssessIssueRisk fun requestToMap(generateOutputDataRequest_: proto.GenerateOutputDataRequest): kotlin.collections.Map { // Create arguments from Request Message val applicant: type.Applicant? = type.Applicant.toApplicant(generateOutputDataRequest_.getApplicant()) - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(generateOutputDataRequest_.getCurrentRiskAppetite()) - val lendingThreshold: java.math.BigDecimal? = java.math.BigDecimal.valueOf(generateOutputDataRequest_.getLendingThreshold()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(generateOutputDataRequest_.getCurrentRiskAppetite()) as kotlin.Number) + val lendingThreshold: kotlin.Number? = (java.math.BigDecimal.valueOf(generateOutputDataRequest_.getLendingThreshold()) as kotlin.Number) // Create map val map_: kotlin.collections.MutableMap = mutableMapOf() diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/MakeCreditDecision.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/MakeCreditDecision.kt index 80e43ae10..8c0717fcb 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/MakeCreditDecision.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/MakeCreditDecision.kt @@ -12,7 +12,7 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.UNIQUE, rulesCount = 3 ) -class MakeCreditDecision(val compareAgainstLendingThreshold : CompareAgainstLendingThreshold = CompareAgainstLendingThreshold()) : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { +class MakeCreditDecision(val compareAgainstLendingThreshold : CompareAgainstLendingThreshold = CompareAgainstLendingThreshold()) : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): String? { try { return apply(input_.get("Applicant")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), input_.get("Current risk appetite")?.let({ number(it) }), input_.get("Lending threshold")?.let({ number(it) }), context_) @@ -22,7 +22,7 @@ class MakeCreditDecision(val compareAgainstLendingThreshold : CompareAgainstLend } } - fun apply(applicant: type.Applicant?, currentRiskAppetite: java.math.BigDecimal?, lendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): String? { + fun apply(applicant: type.Applicant?, currentRiskAppetite: kotlin.Number?, lendingThreshold: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): String? { try { // Start decision 'makeCreditDecision' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -52,8 +52,8 @@ class MakeCreditDecision(val compareAgainstLendingThreshold : CompareAgainstLend fun applyProto(makeCreditDecisionRequest_: proto.MakeCreditDecisionRequest, context_: com.gs.dmn.runtime.ExecutionContext): proto.MakeCreditDecisionResponse { // Create arguments from Request Message val applicant: type.Applicant? = type.Applicant.toApplicant(makeCreditDecisionRequest_.getApplicant()) - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getCurrentRiskAppetite()) - val lendingThreshold: java.math.BigDecimal? = java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getLendingThreshold()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getCurrentRiskAppetite()) as kotlin.Number) + val lendingThreshold: kotlin.Number? = (java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getLendingThreshold()) as kotlin.Number) // Invoke apply method val output_: String? = apply(applicant, currentRiskAppetite, lendingThreshold, context_) @@ -65,13 +65,13 @@ class MakeCreditDecision(val compareAgainstLendingThreshold : CompareAgainstLend return builder_.build() } - private inline fun evaluate(applicant: type.Applicant?, currentRiskAppetite: java.math.BigDecimal?, lendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): String? { + private inline fun evaluate(applicant: type.Applicant?, currentRiskAppetite: kotlin.Number?, lendingThreshold: kotlin.Number?, context_: com.gs.dmn.runtime.ExecutionContext): String? { 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() // Apply child decisions - val compareAgainstLendingThreshold: java.math.BigDecimal? = this.compareAgainstLendingThreshold.apply(applicant, currentRiskAppetite, lendingThreshold, context_) + val compareAgainstLendingThreshold: kotlin.Number? = this.compareAgainstLendingThreshold.apply(applicant, currentRiskAppetite, lendingThreshold, context_) // Apply rules and collect results val ruleOutputList_ = com.gs.dmn.runtime.RuleOutputList() @@ -93,7 +93,7 @@ class MakeCreditDecision(val compareAgainstLendingThreshold : CompareAgainstLend } @com.gs.dmn.runtime.annotation.Rule(index = 0, annotation = "") - private fun rule0(compareAgainstLendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput { + private fun rule0(compareAgainstLendingThreshold: kotlin.Number?, 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, "") @@ -124,7 +124,7 @@ class MakeCreditDecision(val compareAgainstLendingThreshold : CompareAgainstLend } @com.gs.dmn.runtime.annotation.Rule(index = 1, annotation = "") - private fun rule1(compareAgainstLendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput { + private fun rule1(compareAgainstLendingThreshold: kotlin.Number?, 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, "") @@ -155,7 +155,7 @@ class MakeCreditDecision(val compareAgainstLendingThreshold : CompareAgainstLend } @com.gs.dmn.runtime.annotation.Rule(index = 2, annotation = "") - private fun rule2(compareAgainstLendingThreshold: java.math.BigDecimal?, context_: com.gs.dmn.runtime.ExecutionContext): com.gs.dmn.runtime.RuleOutput { + private fun rule2(compareAgainstLendingThreshold: kotlin.Number?, 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, "") @@ -201,8 +201,8 @@ class MakeCreditDecision(val compareAgainstLendingThreshold : CompareAgainstLend fun requestToMap(makeCreditDecisionRequest_: proto.MakeCreditDecisionRequest): kotlin.collections.Map { // Create arguments from Request Message val applicant: type.Applicant? = type.Applicant.toApplicant(makeCreditDecisionRequest_.getApplicant()) - val currentRiskAppetite: java.math.BigDecimal? = java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getCurrentRiskAppetite()) - val lendingThreshold: java.math.BigDecimal? = java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getLendingThreshold()) + val currentRiskAppetite: kotlin.Number? = (java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getCurrentRiskAppetite()) as kotlin.Number) + val lendingThreshold: kotlin.Number? = (java.math.BigDecimal.valueOf(makeCreditDecisionRequest_.getLendingThreshold()) as kotlin.Number) // Create map val map_: kotlin.collections.MutableMap = mutableMapOf() diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/ProcessPriorIssues.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/ProcessPriorIssues.kt index f029f7429..b0719e930 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/ProcessPriorIssues.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/ProcessPriorIssues.kt @@ -12,8 +12,8 @@ import java.util.stream.Collectors hitPolicy = com.gs.dmn.runtime.annotation.HitPolicy.COLLECT, rulesCount = 5 ) -class ProcessPriorIssues() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { - override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): List? { +class ProcessPriorIssues() : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { + override fun applyMap(input_: MutableMap, context_: com.gs.dmn.runtime.ExecutionContext): List? { try { return apply(input_.get("Applicant")?.let({ com.gs.dmn.serialization.JsonSerializer.OBJECT_MAPPER.readValue(it, object : com.fasterxml.jackson.core.type.TypeReference() {}) }), context_) } catch (e: Exception) { @@ -22,7 +22,7 @@ class ProcessPriorIssues() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci } } - fun apply(applicant: type.Applicant?, context_: com.gs.dmn.runtime.ExecutionContext): List? { + fun apply(applicant: type.Applicant?, context_: com.gs.dmn.runtime.ExecutionContext): List? { try { // Start decision 'processPriorIssues' var annotationSet_: com.gs.dmn.runtime.annotation.AnnotationSet = context_.getAnnotations() @@ -35,7 +35,7 @@ class ProcessPriorIssues() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci eventListener_.startDRGElement(DRG_ELEMENT_METADATA, processPriorIssuesArguments_) // Evaluate decision 'processPriorIssues' - val output_: List? = evaluate(applicant, context_) + val output_: List? = evaluate(applicant, context_) // End decision 'processPriorIssues' eventListener_.endDRGElement(DRG_ELEMENT_METADATA, processPriorIssuesArguments_, output_, (System.currentTimeMillis() - processPriorIssuesStartTime_)) @@ -52,7 +52,7 @@ class ProcessPriorIssues() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci val applicant: type.Applicant? = type.Applicant.toApplicant(processPriorIssuesRequest_.getApplicant()) // Invoke apply method - val output_: List? = apply(applicant, context_) + val output_: List? = apply(applicant, context_) // Convert output to Response Message val builder_: proto.ProcessPriorIssuesResponse.Builder = proto.ProcessPriorIssuesResponse.newBuilder() @@ -63,7 +63,7 @@ class ProcessPriorIssues() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci return builder_.build() } - private inline fun evaluate(applicant: type.Applicant?, context_: com.gs.dmn.runtime.ExecutionContext): List? { + private inline fun evaluate(applicant: type.Applicant?, context_: com.gs.dmn.runtime.ExecutionContext): List? { 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() @@ -77,7 +77,7 @@ class ProcessPriorIssues() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci ruleOutputList_.add(rule4(applicant, context_)) // Return results based on hit policy - var output_: List? + var output_: List? if (ruleOutputList_.noMatchedRules()) { // Default value output_ = null @@ -271,9 +271,9 @@ class ProcessPriorIssues() : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDeci } @JvmStatic - fun responseToOutput(processPriorIssuesResponse_: proto.ProcessPriorIssuesResponse): List? { + fun responseToOutput(processPriorIssuesResponse_: proto.ProcessPriorIssuesResponse): List? { // Extract and convert output - return (processPriorIssuesResponse_.getProcessPriorIssuesList()?.stream()?.map({e -> java.math.BigDecimal.valueOf(e)})?.collect(java.util.stream.Collectors.toList()) as List?) + return (processPriorIssuesResponse_.getProcessPriorIssuesList()?.stream()?.map({e -> (java.math.BigDecimal.valueOf(e) as kotlin.Number)})?.collect(java.util.stream.Collectors.toList()) as List?) } } } diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/ProcessPriorIssuesRuleOutput.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/ProcessPriorIssuesRuleOutput.kt index 9f83b64ff..daeee7dd3 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/ProcessPriorIssuesRuleOutput.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/ProcessPriorIssuesRuleOutput.kt @@ -2,7 +2,7 @@ @javax.annotation.Generated(value = ["decisionTableRuleOutput.ftl", "processPriorIssues"]) class ProcessPriorIssuesRuleOutput(matched: Boolean) : com.gs.dmn.runtime.RuleOutput(matched) { @com.fasterxml.jackson.annotation.JsonProperty("processPriorIssues") - var processPriorIssues: java.math.BigDecimal? = null + var processPriorIssues: kotlin.Number? = null override fun equals(o: Any?): Boolean { if (this === o) return true diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/Applicant.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/Applicant.kt index 71041a1c6..899ebe2ca 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/Applicant.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/Applicant.kt @@ -10,10 +10,10 @@ interface Applicant : com.gs.dmn.runtime.DMNType { val name: String? @get:com.fasterxml.jackson.annotation.JsonGetter("Age") - val age: java.math.BigDecimal? + val age: kotlin.Number? @get:com.fasterxml.jackson.annotation.JsonGetter("Credit score") - val creditScore: java.math.BigDecimal? + val creditScore: kotlin.Number? @get:com.fasterxml.jackson.annotation.JsonGetter("Prior issues") val priorIssues: List? @@ -69,8 +69,8 @@ interface Applicant : com.gs.dmn.runtime.DMNType { } else if (other is com.gs.dmn.runtime.Context) { var result_ = ApplicantImpl() result_.name = other.get("name", "Name") as String? - result_.age = other.get("age", "Age") as java.math.BigDecimal? - result_.creditScore = other.get("creditScore", "Credit score") as java.math.BigDecimal? + result_.age = other.get("age", "Age") as kotlin.Number? + result_.creditScore = other.get("creditScore", "Credit score") as kotlin.Number? result_.priorIssues = other.get("priorIssues", "Prior issues") as List? return result_ } else if (other is com.gs.dmn.runtime.DMNType) { @@ -78,8 +78,8 @@ interface Applicant : com.gs.dmn.runtime.DMNType { } else if (other is proto.Applicant) { var result_: ApplicantImpl = ApplicantImpl() result_.name = (other as proto.Applicant).getName() - result_.age = java.math.BigDecimal.valueOf((other as proto.Applicant).getAge()) - result_.creditScore = java.math.BigDecimal.valueOf((other as proto.Applicant).getCreditScore()) + result_.age = (java.math.BigDecimal.valueOf((other as proto.Applicant).getAge()) as kotlin.Number) + result_.creditScore = (java.math.BigDecimal.valueOf((other as proto.Applicant).getCreditScore()) as kotlin.Number) result_.priorIssues = ((other as proto.Applicant).getPriorIssuesList()?.stream()?.map({e -> e})?.collect(java.util.stream.Collectors.toList()) as List?) return result_ } else { diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/ApplicantImpl.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/ApplicantImpl.kt index d79b79980..8109c3a38 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/ApplicantImpl.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/ApplicantImpl.kt @@ -11,11 +11,11 @@ class ApplicantImpl : Applicant { @get:com.fasterxml.jackson.annotation.JsonGetter("Age") @set:com.fasterxml.jackson.annotation.JsonGetter("Age") - override var age: java.math.BigDecimal? = null + override var age: kotlin.Number? = null @get:com.fasterxml.jackson.annotation.JsonGetter("Credit score") @set:com.fasterxml.jackson.annotation.JsonGetter("Credit score") - override var creditScore: java.math.BigDecimal? = null + override var creditScore: kotlin.Number? = null @get:com.fasterxml.jackson.annotation.JsonGetter("Prior issues") @set:com.fasterxml.jackson.annotation.JsonGetter("Prior issues") @@ -24,7 +24,7 @@ class ApplicantImpl : Applicant { constructor() { } - constructor (age: java.math.BigDecimal?, creditScore: java.math.BigDecimal?, name: String?, priorIssues: List?) { + constructor (age: kotlin.Number?, creditScore: kotlin.Number?, name: String?, priorIssues: List?) { this.age = age this.creditScore = creditScore this.name = name diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/GenerateOutputData.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/GenerateOutputData.kt index 683a4872c..19e4d6df1 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/GenerateOutputData.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/GenerateOutputData.kt @@ -10,10 +10,10 @@ interface GenerateOutputData : com.gs.dmn.runtime.DMNType { val decision: String? @get:com.fasterxml.jackson.annotation.JsonGetter("Assessment") - val assessment: java.math.BigDecimal? + val assessment: kotlin.Number? @get:com.fasterxml.jackson.annotation.JsonGetter("Issue") - val issue: java.math.BigDecimal? + val issue: kotlin.Number? override fun toContext(): com.gs.dmn.runtime.Context { val context = com.gs.dmn.runtime.Context() @@ -62,16 +62,16 @@ interface GenerateOutputData : com.gs.dmn.runtime.DMNType { } else if (other is com.gs.dmn.runtime.Context) { var result_ = GenerateOutputDataImpl() result_.decision = other.get("decision", "Decision") as String? - result_.assessment = other.get("assessment", "Assessment") as java.math.BigDecimal? - result_.issue = other.get("issue", "Issue") as java.math.BigDecimal? + result_.assessment = other.get("assessment", "Assessment") as kotlin.Number? + result_.issue = other.get("issue", "Issue") as kotlin.Number? return result_ } else if (other is com.gs.dmn.runtime.DMNType) { return toGenerateOutputData(other.toContext()) } else if (other is proto.GenerateOutputData) { var result_: GenerateOutputDataImpl = GenerateOutputDataImpl() result_.decision = (other as proto.GenerateOutputData).getDecision() - result_.assessment = java.math.BigDecimal.valueOf((other as proto.GenerateOutputData).getAssessment()) - result_.issue = java.math.BigDecimal.valueOf((other as proto.GenerateOutputData).getIssue()) + result_.assessment = (java.math.BigDecimal.valueOf((other as proto.GenerateOutputData).getAssessment()) as kotlin.Number) + result_.issue = (java.math.BigDecimal.valueOf((other as proto.GenerateOutputData).getIssue()) as kotlin.Number) return result_ } else { throw com.gs.dmn.runtime.DMNRuntimeException(String.format("Cannot convert '%s' to '%s'", other.javaClass.getSimpleName(), GenerateOutputData::class.java.getSimpleName())) diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/GenerateOutputDataImpl.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/GenerateOutputDataImpl.kt index 9bd8887aa..af482c8f5 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/GenerateOutputDataImpl.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/dmn/example-credit-decision/type/GenerateOutputDataImpl.kt @@ -11,16 +11,16 @@ class GenerateOutputDataImpl : GenerateOutputData { @get:com.fasterxml.jackson.annotation.JsonGetter("Assessment") @set:com.fasterxml.jackson.annotation.JsonGetter("Assessment") - override var assessment: java.math.BigDecimal? = null + override var assessment: kotlin.Number? = null @get:com.fasterxml.jackson.annotation.JsonGetter("Issue") @set:com.fasterxml.jackson.annotation.JsonGetter("Issue") - override var issue: java.math.BigDecimal? = null + override var issue: kotlin.Number? = null constructor() { } - constructor (assessment: java.math.BigDecimal?, decision: String?, issue: java.math.BigDecimal?) { + constructor (assessment: kotlin.Number?, decision: String?, issue: kotlin.Number?) { this.assessment = assessment this.decision = decision this.issue = issue diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/test-lab/date-time-proto/DateTest.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/test-lab/date-time-proto/DateTest.kt index cf601084b..c2a2cd509 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/test-lab/date-time-proto/DateTest.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/test-lab/date-time-proto/DateTest.kt @@ -3,17 +3,17 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "9acf44f2b05343d79fc35140c493c1e0/sid-8DBE416B-B1CA-43EC-BFE6-7D5DFA296EB6-d"]) -class DateTest : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { +class DateTest : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { private val date = Date() @org.junit.jupiter.api.Test fun testCase1() { val context_ = com.gs.dmn.runtime.ExecutionContext() - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = date("2020-09-21") - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = time("13:00:00+00:00") - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = dateAndTime("2015-01-01T12:00:00+00:00") + val inputDate: java.time.LocalDate? = date("2020-09-21") + val inputTime: java.time.temporal.TemporalAccessor? = time("13:00:00+00:00") + val inputDateTime: java.time.temporal.TemporalAccessor? = dateAndTime("2015-01-01T12:00:00+00:00") val compositeInputDateTime: type.TCompositeDateTime? = type.TCompositeDateTimeImpl(date("2020-09-21"), dateAndTime("2015-01-01T12:00:00+00:00"), time("13:00:00+00:00")) - val date: javax.xml.datatype.XMLGregorianCalendar? = this.date.apply(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) + val date: java.time.LocalDate? = this.date.apply(compositeInputDateTime, inputDate, inputDateTime, inputTime, context_) checkValues(date("2020-09-21"), date) diff --git a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/test-lab/example-credit-decision/GenerateOutputDataTest.kt b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/test-lab/example-credit-decision/GenerateOutputDataTest.kt index e9e823933..f46a3eb6c 100644 --- a/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/test-lab/example-credit-decision/GenerateOutputDataTest.kt +++ b/dmn-test-cases/signavio/dmn/dmn2java/expected/proto/proto3/kotlin/test-lab/example-credit-decision/GenerateOutputDataTest.kt @@ -3,14 +3,14 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "9acf44f2b05343d79fc35140c493c1e0/sid-8DBE416B-B1CA-43EC-BFE6-7D5DFA296EB6"]) -class GenerateOutputDataTest : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDecision() { +class GenerateOutputDataTest : com.gs.dmn.signavio.runtime.JavaTimeSignavioBaseDecision() { private val generateOutputData = GenerateOutputData() @org.junit.jupiter.api.Test fun testCase1() { val context_ = com.gs.dmn.runtime.ExecutionContext() - val currentRiskAppetite: java.math.BigDecimal? = number("50") - val lendingThreshold: java.math.BigDecimal? = number("25") + val currentRiskAppetite: kotlin.Number? = number("50") + val lendingThreshold: kotlin.Number? = number("25") val applicant: type.Applicant? = type.ApplicantImpl(number("38"), number("100"), "Amy", asList("Late payment")) val generateOutputData: List? = this.generateOutputData.apply(applicant, currentRiskAppetite, lendingThreshold, context_) @@ -39,8 +39,8 @@ class GenerateOutputDataTest : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDe @org.junit.jupiter.api.Test fun testCase2() { val context_ = com.gs.dmn.runtime.ExecutionContext() - val currentRiskAppetite: java.math.BigDecimal? = number("50") - val lendingThreshold: java.math.BigDecimal? = number("25") + val currentRiskAppetite: kotlin.Number? = number("50") + val lendingThreshold: kotlin.Number? = number("25") val applicant: type.Applicant? = type.ApplicantImpl(number("18"), number("65"), "Bill", asList("Card rejection", "Default on obligations")) val generateOutputData: List? = this.generateOutputData.apply(applicant, currentRiskAppetite, lendingThreshold, context_) @@ -69,8 +69,8 @@ class GenerateOutputDataTest : com.gs.dmn.signavio.runtime.DefaultSignavioBaseDe @org.junit.jupiter.api.Test fun testCase3() { val context_ = com.gs.dmn.runtime.ExecutionContext() - val currentRiskAppetite: java.math.BigDecimal? = number("50") - val lendingThreshold: java.math.BigDecimal? = number("25") + val currentRiskAppetite: kotlin.Number? = number("50") + val lendingThreshold: kotlin.Number? = number("25") val applicant: type.Applicant? = type.ApplicantImpl(number("65"), number("80"), "Charlie", asList("Late payment", "Default on obligations", "Bankruptcy")) val generateOutputData: List? = this.generateOutputData.apply(applicant, currentRiskAppetite, lendingThreshold, context_) diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/ApplicationRiskScore.java b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/ApplicationRiskScore.java index 71a284c9f..e761c2a81 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/ApplicationRiskScore.java +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/ApplicationRiskScore.java @@ -35,7 +35,7 @@ public static java.util.Map requestToMap(proto.ApplicationRiskSc public static java.lang.Number responseToOutput(proto.ApplicationRiskScoreResponse applicationRiskScoreResponse_) { // Extract and convert output - return java.math.BigDecimal.valueOf(applicationRiskScoreResponse_.getApplicationRiskScore()); + return ((java.lang.Number) java.math.BigDecimal.valueOf(applicationRiskScoreResponse_.getApplicationRiskScore())); } public ApplicationRiskScore() { diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/RequiredMonthlyInstallment.java b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/RequiredMonthlyInstallment.java index 29c26dca1..fdfeda6f5 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/RequiredMonthlyInstallment.java +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/RequiredMonthlyInstallment.java @@ -35,7 +35,7 @@ public static java.util.Map requestToMap(proto.RequiredMonthlyIn public static java.lang.Number responseToOutput(proto.RequiredMonthlyInstallmentResponse requiredMonthlyInstallmentResponse_) { // Extract and convert output - return java.math.BigDecimal.valueOf(requiredMonthlyInstallmentResponse_.getRequiredMonthlyInstallment()); + return ((java.lang.Number) java.math.BigDecimal.valueOf(requiredMonthlyInstallmentResponse_.getRequiredMonthlyInstallment())); } public RequiredMonthlyInstallment() { diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/Monthly.java b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/Monthly.java index b3b027932..0ae401f05 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/Monthly.java +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/Monthly.java @@ -33,9 +33,9 @@ static Monthly toMonthly(Object other) { return toMonthly(((com.gs.dmn.runtime.DMNType)other).toContext()); } else if (other instanceof proto.Monthly) { MonthlyImpl result_ = new MonthlyImpl(); - result_.setIncome(java.math.BigDecimal.valueOf(((proto.Monthly) other).getIncome())); - result_.setExpenses(java.math.BigDecimal.valueOf(((proto.Monthly) other).getExpenses())); - result_.setRepayments(java.math.BigDecimal.valueOf(((proto.Monthly) other).getRepayments())); + result_.setIncome(((java.lang.Number) java.math.BigDecimal.valueOf(((proto.Monthly) other).getIncome()))); + result_.setExpenses(((java.lang.Number) java.math.BigDecimal.valueOf(((proto.Monthly) other).getExpenses()))); + result_.setRepayments(((java.lang.Number) java.math.BigDecimal.valueOf(((proto.Monthly) other).getRepayments()))); return result_; } else { throw new com.gs.dmn.runtime.DMNRuntimeException(String.format("Cannot convert '%s' to '%s'", other.getClass().getSimpleName(), Monthly.class.getSimpleName())); diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TApplicantData.java b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TApplicantData.java index 1e443f826..27581f8e6 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TApplicantData.java +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TApplicantData.java @@ -44,7 +44,7 @@ static TApplicantData toTApplicantData(Object other) { } else if (other instanceof proto.TApplicantData) { TApplicantDataImpl result_ = new TApplicantDataImpl(); result_.setMonthly(type.Monthly.toMonthly(((proto.TApplicantData) other).getMonthly())); - result_.setAge(java.math.BigDecimal.valueOf(((proto.TApplicantData) other).getAge())); + result_.setAge(((java.lang.Number) java.math.BigDecimal.valueOf(((proto.TApplicantData) other).getAge()))); result_.setExistingCustomer(((proto.TApplicantData) other).getExistingCustomer()); result_.setMaritalStatus(((proto.TApplicantData) other).getMaritalStatus()); result_.setEmploymentStatus(((proto.TApplicantData) other).getEmploymentStatus()); diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TBureauData.java b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TBureauData.java index fc8ec18b2..8298b5c40 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TBureauData.java +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TBureauData.java @@ -28,7 +28,7 @@ static TBureauData toTBureauData(Object other) { return toTBureauData(((com.gs.dmn.runtime.DMNType)other).toContext()); } else if (other instanceof proto.TBureauData) { TBureauDataImpl result_ = new TBureauDataImpl(); - result_.setCreditScore(java.math.BigDecimal.valueOf(((proto.TBureauData) other).getCreditScore())); + result_.setCreditScore(((java.lang.Number) java.math.BigDecimal.valueOf(((proto.TBureauData) other).getCreditScore()))); result_.setBankrupt(((proto.TBureauData) other).getBankrupt()); return result_; } else { diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TRequestedProduct.java b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TRequestedProduct.java index 243d9f3e2..3bcefa8a1 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TRequestedProduct.java +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/java/dmn/type/TRequestedProduct.java @@ -39,9 +39,9 @@ static TRequestedProduct toTRequestedProduct(Object other) { } else if (other instanceof proto.TRequestedProduct) { TRequestedProductImpl result_ = new TRequestedProductImpl(); result_.setProductType(((proto.TRequestedProduct) other).getProductType()); - result_.setAmount(java.math.BigDecimal.valueOf(((proto.TRequestedProduct) other).getAmount())); - result_.setRate(java.math.BigDecimal.valueOf(((proto.TRequestedProduct) other).getRate())); - result_.setTerm(java.math.BigDecimal.valueOf(((proto.TRequestedProduct) other).getTerm())); + result_.setAmount(((java.lang.Number) java.math.BigDecimal.valueOf(((proto.TRequestedProduct) other).getAmount()))); + result_.setRate(((java.lang.Number) java.math.BigDecimal.valueOf(((proto.TRequestedProduct) other).getRate()))); + result_.setTerm(((java.lang.Number) java.math.BigDecimal.valueOf(((proto.TRequestedProduct) other).getTerm()))); return result_; } else { throw new com.gs.dmn.runtime.DMNRuntimeException(String.format("Cannot convert '%s' to '%s'", other.getClass().getSimpleName(), TRequestedProduct.class.getSimpleName())); diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/ApplicationRiskScore.kt b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/ApplicationRiskScore.kt index 6e71ea3ff..d62cda21d 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/ApplicationRiskScore.kt +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/ApplicationRiskScore.kt @@ -105,7 +105,7 @@ class ApplicationRiskScore() : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @JvmStatic fun responseToOutput(applicationRiskScoreResponse_: proto.ApplicationRiskScoreResponse): kotlin.Number? { // Extract and convert output - return java.math.BigDecimal.valueOf(applicationRiskScoreResponse_.getApplicationRiskScore()) + return (java.math.BigDecimal.valueOf(applicationRiskScoreResponse_.getApplicationRiskScore()) as kotlin.Number) } } } diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/RequiredMonthlyInstallment.kt b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/RequiredMonthlyInstallment.kt index 8b2ec1adc..7575ce7f9 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/RequiredMonthlyInstallment.kt +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/RequiredMonthlyInstallment.kt @@ -105,7 +105,7 @@ class RequiredMonthlyInstallment() : com.gs.dmn.runtime.JavaTimeDMNBaseDecision( @JvmStatic fun responseToOutput(requiredMonthlyInstallmentResponse_: proto.RequiredMonthlyInstallmentResponse): kotlin.Number? { // Extract and convert output - return java.math.BigDecimal.valueOf(requiredMonthlyInstallmentResponse_.getRequiredMonthlyInstallment()) + return (java.math.BigDecimal.valueOf(requiredMonthlyInstallmentResponse_.getRequiredMonthlyInstallment()) as kotlin.Number) } } } diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/Monthly.kt b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/Monthly.kt index 152dd5d64..576396874 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/Monthly.kt +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/Monthly.kt @@ -69,9 +69,9 @@ interface Monthly : com.gs.dmn.runtime.DMNType { return toMonthly(other.toContext()) } else if (other is proto.Monthly) { var result_: MonthlyImpl = MonthlyImpl() - result_.income = java.math.BigDecimal.valueOf((other as proto.Monthly).getIncome()) - result_.expenses = java.math.BigDecimal.valueOf((other as proto.Monthly).getExpenses()) - result_.repayments = java.math.BigDecimal.valueOf((other as proto.Monthly).getRepayments()) + result_.income = (java.math.BigDecimal.valueOf((other as proto.Monthly).getIncome()) as kotlin.Number) + result_.expenses = (java.math.BigDecimal.valueOf((other as proto.Monthly).getExpenses()) as kotlin.Number) + result_.repayments = (java.math.BigDecimal.valueOf((other as proto.Monthly).getRepayments()) as kotlin.Number) return result_ } else { throw com.gs.dmn.runtime.DMNRuntimeException(String.format("Cannot convert '%s' to '%s'", other.javaClass.getSimpleName(), Monthly::class.java.getSimpleName())) diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TApplicantData.kt b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TApplicantData.kt index 436bc324f..de43711c2 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TApplicantData.kt +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TApplicantData.kt @@ -86,7 +86,7 @@ interface TApplicantData : com.gs.dmn.runtime.DMNType { } else if (other is proto.TApplicantData) { var result_: TApplicantDataImpl = TApplicantDataImpl() result_.monthly = type.Monthly.toMonthly((other as proto.TApplicantData).getMonthly()) - result_.age = java.math.BigDecimal.valueOf((other as proto.TApplicantData).getAge()) + result_.age = (java.math.BigDecimal.valueOf((other as proto.TApplicantData).getAge()) as kotlin.Number) result_.existingCustomer = (other as proto.TApplicantData).getExistingCustomer() result_.maritalStatus = (other as proto.TApplicantData).getMaritalStatus() result_.employmentStatus = (other as proto.TApplicantData).getEmploymentStatus() diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TBureauData.kt b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TBureauData.kt index 86becefdd..d48c4b07f 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TBureauData.kt +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TBureauData.kt @@ -61,7 +61,7 @@ interface TBureauData : com.gs.dmn.runtime.DMNType { return toTBureauData(other.toContext()) } else if (other is proto.TBureauData) { var result_: TBureauDataImpl = TBureauDataImpl() - result_.creditScore = java.math.BigDecimal.valueOf((other as proto.TBureauData).getCreditScore()) + result_.creditScore = (java.math.BigDecimal.valueOf((other as proto.TBureauData).getCreditScore()) as kotlin.Number) result_.bankrupt = (other as proto.TBureauData).getBankrupt() return result_ } else { diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TRequestedProduct.kt b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TRequestedProduct.kt index 71b7c6853..acd54bdd7 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TRequestedProduct.kt +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/dmn/type/TRequestedProduct.kt @@ -78,9 +78,9 @@ interface TRequestedProduct : com.gs.dmn.runtime.DMNType { } else if (other is proto.TRequestedProduct) { var result_: TRequestedProductImpl = TRequestedProductImpl() result_.productType = (other as proto.TRequestedProduct).getProductType() - result_.amount = java.math.BigDecimal.valueOf((other as proto.TRequestedProduct).getAmount()) - result_.rate = java.math.BigDecimal.valueOf((other as proto.TRequestedProduct).getRate()) - result_.term = java.math.BigDecimal.valueOf((other as proto.TRequestedProduct).getTerm()) + result_.amount = (java.math.BigDecimal.valueOf((other as proto.TRequestedProduct).getAmount()) as kotlin.Number) + result_.rate = (java.math.BigDecimal.valueOf((other as proto.TRequestedProduct).getRate()) as kotlin.Number) + result_.term = (java.math.BigDecimal.valueOf((other as proto.TRequestedProduct).getTerm()) as kotlin.Number) return result_ } else { throw com.gs.dmn.runtime.DMNRuntimeException(String.format("Cannot convert '%s' to '%s'", other.javaClass.getSimpleName(), TRequestedProduct::class.java.getSimpleName())) diff --git a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/test/_0004LendingTest.kt b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/test/_0004LendingTest.kt index c3e6a2c4f..c398b9624 100644 --- a/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/test/_0004LendingTest.kt +++ b/dmn-test-cases/standard/proto/1.1/0004-lending/translator/expected/proto3/kotlin/test/_0004LendingTest.kt @@ -3,7 +3,7 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "0004-lending.dmn"]) -class _0004LendingTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { +class _0004LendingTest : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @org.junit.jupiter.api.Test fun testCase001() { val context_ = com.gs.dmn.runtime.ExecutionContext() diff --git a/dmn-test-cases/standard/proto/1.1/date-time-proto/translator/expected/proto3/kotlin/test/DateTimeProtoTest.kt b/dmn-test-cases/standard/proto/1.1/date-time-proto/translator/expected/proto3/kotlin/test/DateTimeProtoTest.kt index e2aaf434e..e15f717a7 100644 --- a/dmn-test-cases/standard/proto/1.1/date-time-proto/translator/expected/proto3/kotlin/test/DateTimeProtoTest.kt +++ b/dmn-test-cases/standard/proto/1.1/date-time-proto/translator/expected/proto3/kotlin/test/DateTimeProtoTest.kt @@ -3,13 +3,13 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "date-time-proto.dmn"]) -class DateTimeProtoTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { +class DateTimeProtoTest : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @org.junit.jupiter.api.Test fun testCase1() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val inputDate: javax.xml.datatype.XMLGregorianCalendar? = date("2020-09-10") + val inputDate: java.time.LocalDate? = date("2020-09-10") // Check 'Date' checkValues(date("2020-09-10"), Date().apply(inputDate, context_)) @@ -27,7 +27,7 @@ class DateTimeProtoTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val inputTime: javax.xml.datatype.XMLGregorianCalendar? = time("12:10:10") + val inputTime: java.time.temporal.TemporalAccessor? = time("12:10:10") // Check 'Time' checkValues(time("12:10:10"), Time().apply(inputTime, context_)) @@ -45,7 +45,7 @@ class DateTimeProtoTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val inputDateTime: javax.xml.datatype.XMLGregorianCalendar? = dateAndTime("2020-09-19T12:10:10") + val inputDateTime: java.time.temporal.TemporalAccessor? = dateAndTime("2020-09-19T12:10:10") // Check 'DateTime' checkValues(dateAndTime("2020-09-19T12:10:10"), DateTime().apply(inputDateTime, context_)) diff --git a/dmn-test-cases/standard/tck/1.1/cl2/0004-simpletable-U/translator/expected/kotlin/test/_0004SimpletableUTest.kt b/dmn-test-cases/standard/tck/1.1/cl2/0004-simpletable-U/translator/expected/kotlin/test/_0004SimpletableUTest.kt index cda3ae8bf..8747486a6 100644 --- a/dmn-test-cases/standard/tck/1.1/cl2/0004-simpletable-U/translator/expected/kotlin/test/_0004SimpletableUTest.kt +++ b/dmn-test-cases/standard/tck/1.1/cl2/0004-simpletable-U/translator/expected/kotlin/test/_0004SimpletableUTest.kt @@ -3,13 +3,13 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "0004-simpletable-U.dmn"]) -class _0004SimpletableUTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { +class _0004SimpletableUTest : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @org.junit.jupiter.api.Test fun testCase001() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -22,7 +22,7 @@ class _0004SimpletableUTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("17") + val age: kotlin.Number? = number("17") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -35,7 +35,7 @@ class _0004SimpletableUTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "High" val isAffordable: Boolean? = true diff --git a/dmn-test-cases/standard/tck/1.1/cl2/0005-simpletable-A/translator/expected/kotlin/test/_0005SimpletableATest.kt b/dmn-test-cases/standard/tck/1.1/cl2/0005-simpletable-A/translator/expected/kotlin/test/_0005SimpletableATest.kt index 43ec4ff8b..c63b6f670 100644 --- a/dmn-test-cases/standard/tck/1.1/cl2/0005-simpletable-A/translator/expected/kotlin/test/_0005SimpletableATest.kt +++ b/dmn-test-cases/standard/tck/1.1/cl2/0005-simpletable-A/translator/expected/kotlin/test/_0005SimpletableATest.kt @@ -3,13 +3,13 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "0005-simpletable-A.dmn"]) -class _0005SimpletableATest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { +class _0005SimpletableATest : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @org.junit.jupiter.api.Test fun testCase001() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -22,7 +22,7 @@ class _0005SimpletableATest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("17") + val age: kotlin.Number? = number("17") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -35,7 +35,7 @@ class _0005SimpletableATest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "High" val isAffordable: Boolean? = true diff --git a/dmn-test-cases/standard/tck/1.1/cl2/0006-simpletable-P1/translator/expected/kotlin/test/_0006SimpletableP1Test.kt b/dmn-test-cases/standard/tck/1.1/cl2/0006-simpletable-P1/translator/expected/kotlin/test/_0006SimpletableP1Test.kt index 6d1b5fff5..17fe7656b 100644 --- a/dmn-test-cases/standard/tck/1.1/cl2/0006-simpletable-P1/translator/expected/kotlin/test/_0006SimpletableP1Test.kt +++ b/dmn-test-cases/standard/tck/1.1/cl2/0006-simpletable-P1/translator/expected/kotlin/test/_0006SimpletableP1Test.kt @@ -3,13 +3,13 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "0006-simpletable-P1.dmn"]) -class _0006SimpletableP1Test : com.gs.dmn.runtime.DefaultDMNBaseDecision() { +class _0006SimpletableP1Test : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @org.junit.jupiter.api.Test fun testCase001() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -22,7 +22,7 @@ class _0006SimpletableP1Test : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("17") + val age: kotlin.Number? = number("17") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -35,7 +35,7 @@ class _0006SimpletableP1Test : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "High" val isAffordable: Boolean? = true diff --git a/dmn-test-cases/standard/tck/1.1/cl2/0007-simpletable-P2/translator/expected/kotlin/test/_0007SimpletableP2Test.kt b/dmn-test-cases/standard/tck/1.1/cl2/0007-simpletable-P2/translator/expected/kotlin/test/_0007SimpletableP2Test.kt index ea92ad31a..b7c65ae25 100644 --- a/dmn-test-cases/standard/tck/1.1/cl2/0007-simpletable-P2/translator/expected/kotlin/test/_0007SimpletableP2Test.kt +++ b/dmn-test-cases/standard/tck/1.1/cl2/0007-simpletable-P2/translator/expected/kotlin/test/_0007SimpletableP2Test.kt @@ -3,13 +3,13 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "0007-simpletable-P2.dmn"]) -class _0007SimpletableP2Test : com.gs.dmn.runtime.DefaultDMNBaseDecision() { +class _0007SimpletableP2Test : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @org.junit.jupiter.api.Test fun testCase001() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -22,7 +22,7 @@ class _0007SimpletableP2Test : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("17") + val age: kotlin.Number? = number("17") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -35,7 +35,7 @@ class _0007SimpletableP2Test : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "High" val isAffordable: Boolean? = true diff --git a/dmn-test-cases/standard/tck/1.1/cl2/0008-LX-arithmetic/translator/expected/kotlin/test/_0008LXArithmeticTest.kt b/dmn-test-cases/standard/tck/1.1/cl2/0008-LX-arithmetic/translator/expected/kotlin/test/_0008LXArithmeticTest.kt index 60b188b1f..d054fdc42 100644 --- a/dmn-test-cases/standard/tck/1.1/cl2/0008-LX-arithmetic/translator/expected/kotlin/test/_0008LXArithmeticTest.kt +++ b/dmn-test-cases/standard/tck/1.1/cl2/0008-LX-arithmetic/translator/expected/kotlin/test/_0008LXArithmeticTest.kt @@ -3,7 +3,7 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "0008-LX-arithmetic.dmn"]) -class _0008LXArithmeticTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { +class _0008LXArithmeticTest : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @org.junit.jupiter.api.Test fun testCase001() { val context_ = com.gs.dmn.runtime.ExecutionContext() diff --git a/dmn-test-cases/standard/tck/1.1/cl2/0009-invocation-arithmetic/translator/expected/kotlin/test/_0009InvocationArithmeticTest.kt b/dmn-test-cases/standard/tck/1.1/cl2/0009-invocation-arithmetic/translator/expected/kotlin/test/_0009InvocationArithmeticTest.kt index b877aea65..f3db7ec92 100644 --- a/dmn-test-cases/standard/tck/1.1/cl2/0009-invocation-arithmetic/translator/expected/kotlin/test/_0009InvocationArithmeticTest.kt +++ b/dmn-test-cases/standard/tck/1.1/cl2/0009-invocation-arithmetic/translator/expected/kotlin/test/_0009InvocationArithmeticTest.kt @@ -3,14 +3,14 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "0009-invocation-arithmetic.dmn"]) -class _0009InvocationArithmeticTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { +class _0009InvocationArithmeticTest : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @org.junit.jupiter.api.Test fun testCase001() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data val loan: type.TLoan? = type.TLoanImpl(number("600000"), number("0.0375"), number("360")) - val fee: java.math.BigDecimal? = number("100") + val fee: kotlin.Number? = number("100") // Check 'MonthlyPayment' checkValues(number("2878.69354943277"), MonthlyPayment().apply(loan, fee, context_)) @@ -22,7 +22,7 @@ class _0009InvocationArithmeticTest : com.gs.dmn.runtime.DefaultDMNBaseDecision( val cache_ = context_.getCache() // Initialize input data val loan: type.TLoan? = type.TLoanImpl(number("30000"), number("0.0475"), number("60")) - val fee: java.math.BigDecimal? = number("100") + val fee: kotlin.Number? = number("100") // Check 'MonthlyPayment' checkValues(number("662.707359373292"), MonthlyPayment().apply(loan, fee, context_)) @@ -34,7 +34,7 @@ class _0009InvocationArithmeticTest : com.gs.dmn.runtime.DefaultDMNBaseDecision( val cache_ = context_.getCache() // Initialize input data val loan: type.TLoan? = type.TLoanImpl(number("600000"), number("0.0399"), number("360")) - val fee: java.math.BigDecimal? = number("100") + val fee: kotlin.Number? = number("100") // Check 'MonthlyPayment' checkValues(number("2961.03377700389"), MonthlyPayment().apply(loan, fee, context_)) diff --git a/dmn-test-cases/standard/tck/1.1/cl2/0010-multi-output-U/translator/expected/kotlin/test/_0010MultiOutputUTest.kt b/dmn-test-cases/standard/tck/1.1/cl2/0010-multi-output-U/translator/expected/kotlin/test/_0010MultiOutputUTest.kt index ae4089aa4..986b945e9 100644 --- a/dmn-test-cases/standard/tck/1.1/cl2/0010-multi-output-U/translator/expected/kotlin/test/_0010MultiOutputUTest.kt +++ b/dmn-test-cases/standard/tck/1.1/cl2/0010-multi-output-U/translator/expected/kotlin/test/_0010MultiOutputUTest.kt @@ -3,13 +3,13 @@ import java.util.* import java.util.stream.Collectors @javax.annotation.Generated(value = ["junit.ftl", "0010-multi-output-U.dmn"]) -class _0010MultiOutputUTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { +class _0010MultiOutputUTest : com.gs.dmn.runtime.JavaTimeDMNBaseDecision() { @org.junit.jupiter.api.Test fun testCase001() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -22,7 +22,7 @@ class _0010MultiOutputUTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("17") + val age: kotlin.Number? = number("17") val riskCategory: String? = "Medium" val isAffordable: Boolean? = true @@ -35,7 +35,7 @@ class _0010MultiOutputUTest : com.gs.dmn.runtime.DefaultDMNBaseDecision() { val context_ = com.gs.dmn.runtime.ExecutionContext() val cache_ = context_.getCache() // Initialize input data - val age: java.math.BigDecimal? = number("18") + val age: kotlin.Number? = number("18") val riskCategory: String? = "High" val isAffordable: Boolean? = true