From 3f78b41fc8b1b9a8f5f1797973fbddd5a58ab7f8 Mon Sep 17 00:00:00 2001 From: Anton Vasetenkov Date: Sun, 2 Feb 2025 14:35:17 +1300 Subject: [PATCH] Increase maxPerIterationMs in performance tests. Re-enable libraryReferences test. --- .../org/cqframework/cql/cql2elm/CqlCompilerException.kt | 3 +-- .../kotlin/org/cqframework/cql/cql2elm/LibraryBuilder.kt | 2 +- .../cql/cql2elm/model/ResolvedIdentifierContext.kt | 2 +- .../cqframework/cql/cql2elm/DefaultLibrarySourceProvider.kt | 2 +- .../org/cqframework/cql/cql2elm/DefaultModelInfoProvider.kt | 2 +- .../org/cqframework/cql/cql2elm/LibrarySourceProvider.kt | 3 +-- .../cqframework/cql/cql2elm/PriorityLibrarySourceLoader.kt | 4 ++-- .../cqframework/cql/cql2elm/StringLibrarySourceProvider.kt | 4 ++-- .../java/org/cqframework/cql/cql2elm/NamespaceTests.java | 2 -- .../opencds/cqf/cql/engine/execution/CqlPerformanceIT.java | 2 +- 10 files changed, 11 insertions(+), 15 deletions(-) diff --git a/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/CqlCompilerException.kt b/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/CqlCompilerException.kt index 9e67df4be..e0c514a35 100644 --- a/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/CqlCompilerException.kt +++ b/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/CqlCompilerException.kt @@ -10,8 +10,7 @@ open class CqlCompilerException constructor( message: String?, val severity: ErrorSeverity = ErrorSeverity.Error, - @field:Transient - val locator: TrackBack? = null, + @field:Transient val locator: TrackBack? = null, cause: Throwable? = null ) : RuntimeException(message, cause) { enum class ErrorSeverity { diff --git a/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/LibraryBuilder.kt b/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/LibraryBuilder.kt index df2700590..fc4530731 100644 --- a/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/LibraryBuilder.kt +++ b/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/LibraryBuilder.kt @@ -25,7 +25,7 @@ private const val FP_THIS = "\$this" /** Created by Bryn on 12/29/2016. */ @Suppress("LargeClass", "TooManyFunctions", "ForbiddenComment", "ReturnCount", "MaxLineLength") -open class LibraryBuilder( +class LibraryBuilder( @JvmField val namespaceInfo: NamespaceInfo?, // Note: allowed to be null, implies global namespace val libraryManager: CommonLibraryManager, diff --git a/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/model/ResolvedIdentifierContext.kt b/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/model/ResolvedIdentifierContext.kt index 0d3cff83d..84cf6c4d2 100644 --- a/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/model/ResolvedIdentifierContext.kt +++ b/Src/java/cql-to-elm/src/commonMain/kotlin/org/cqframework/cql/cql2elm/model/ResolvedIdentifierContext.kt @@ -18,7 +18,7 @@ import kotlin.reflect.cast * well as the type of matching done to retrieve the element, whether case-sensitive or * case-insensitive. */ -// TODO @ExposedCopyVisibility +@ExposedCopyVisibility data class ResolvedIdentifierContext private constructor( private val identifier: String, diff --git a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/DefaultLibrarySourceProvider.kt b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/DefaultLibrarySourceProvider.kt index cb7bbb8f6..506110290 100644 --- a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/DefaultLibrarySourceProvider.kt +++ b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/DefaultLibrarySourceProvider.kt @@ -3,9 +3,9 @@ package org.cqframework.cql.cql2elm import java.io.* +import java.nio.file.Path import org.cqframework.cql.cql2elm.model.Version import org.hl7.elm.r1.VersionedIdentifier -import java.nio.file.Path // NOTE: This implementation is naive and assumes library file names will always take the form: // [-].cql diff --git a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/DefaultModelInfoProvider.kt b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/DefaultModelInfoProvider.kt index 16ec2834d..3eaae83f5 100644 --- a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/DefaultModelInfoProvider.kt +++ b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/DefaultModelInfoProvider.kt @@ -3,6 +3,7 @@ package org.cqframework.cql.cql2elm import java.io.* +import java.nio.file.Path import kotlinx.io.asSource import kotlinx.io.buffered import org.cqframework.cql.cql2elm.model.Version @@ -10,7 +11,6 @@ import org.hl7.cql.model.ModelIdentifier import org.hl7.cql.model.ModelInfoProvider import org.hl7.elm_modelinfo.r1.ModelInfo import org.hl7.elm_modelinfo.r1.serializing.ModelInfoReaderFactory -import java.nio.file.Path // NOTE: This implementation assumes modelinfo file names will always take the form: // -modelinfo[-].cql diff --git a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/LibrarySourceProvider.kt b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/LibrarySourceProvider.kt index e6964beb7..1dc4360d7 100644 --- a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/LibrarySourceProvider.kt +++ b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/LibrarySourceProvider.kt @@ -1,8 +1,8 @@ package org.cqframework.cql.cql2elm import java.util.* -import org.hl7.elm.r1.VersionedIdentifier import java.io.InputStream +import org.hl7.elm.r1.VersionedIdentifier interface LibrarySourceProvider { fun getLibrarySource(libraryIdentifier: VersionedIdentifier): InputStream? @@ -14,7 +14,6 @@ interface LibrarySourceProvider { if (LibraryContentType.CQL == type) { return getLibrarySource(libraryIdentifier) } - return null } } diff --git a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/PriorityLibrarySourceLoader.kt b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/PriorityLibrarySourceLoader.kt index 07b4cec6f..654ab3ecc 100644 --- a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/PriorityLibrarySourceLoader.kt +++ b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/PriorityLibrarySourceLoader.kt @@ -1,5 +1,7 @@ package org.cqframework.cql.cql2elm +import java.io.InputStream +import java.nio.file.Path import kotlinx.io.Source import kotlinx.io.asSource import kotlinx.io.buffered @@ -7,8 +9,6 @@ import kotlin.collections.ArrayList import org.hl7.cql.model.NamespaceAware import org.hl7.cql.model.NamespaceManager import org.hl7.elm.r1.VersionedIdentifier -import java.io.InputStream -import java.nio.file.Path /** * Used by LibraryManager to manage a set of library source providers that resolve library includes diff --git a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/StringLibrarySourceProvider.kt b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/StringLibrarySourceProvider.kt index 6f32489d3..b59850529 100644 --- a/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/StringLibrarySourceProvider.kt +++ b/Src/java/cql-to-elm/src/jvmMain/kotlin/org/cqframework/cql/cql2elm/StringLibrarySourceProvider.kt @@ -1,9 +1,9 @@ package org.cqframework.cql.cql2elm -import kotlin.collections.ArrayList -import org.hl7.elm.r1.VersionedIdentifier import java.io.ByteArrayInputStream import java.io.InputStream +import kotlin.collections.ArrayList +import org.hl7.elm.r1.VersionedIdentifier /** * This class implements the LibrarySourceProvider API, using a set of strings representing CQL diff --git a/Src/java/cql-to-elm/src/jvmTest/java/org/cqframework/cql/cql2elm/NamespaceTests.java b/Src/java/cql-to-elm/src/jvmTest/java/org/cqframework/cql/cql2elm/NamespaceTests.java index 289229585..d5bb42c1d 100644 --- a/Src/java/cql-to-elm/src/jvmTest/java/org/cqframework/cql/cql2elm/NamespaceTests.java +++ b/Src/java/cql-to-elm/src/jvmTest/java/org/cqframework/cql/cql2elm/NamespaceTests.java @@ -12,7 +12,6 @@ import org.hl7.elm.r1.IncludeDef; import org.hl7.elm.r1.VersionedIdentifier; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; class NamespaceTests { @@ -91,7 +90,6 @@ void namespaceUriPart() { /* Ensure base functionality with a defaulted namespace uri */ @Test - @Disabled("This passes when run on its own from the IDE but fails when run as part of the local build") void libraryReferences() { CqlTranslator translator = null; try { diff --git a/Src/java/engine/src/test/java/org/opencds/cqf/cql/engine/execution/CqlPerformanceIT.java b/Src/java/engine/src/test/java/org/opencds/cqf/cql/engine/execution/CqlPerformanceIT.java index 4a447e600..aa5b56626 100644 --- a/Src/java/engine/src/test/java/org/opencds/cqf/cql/engine/execution/CqlPerformanceIT.java +++ b/Src/java/engine/src/test/java/org/opencds/cqf/cql/engine/execution/CqlPerformanceIT.java @@ -35,7 +35,7 @@ void mainSuite() throws IOException, UcumException { VersionedIdentifier libraryId = toElmIdentifier("CqlPerformanceTest", "1"); ZonedDateTime date = ZonedDateTime.of(2018, 1, 1, 7, 0, 0, 0, TimeZone.getDefault().toZoneId()); - runPerformanceTest(libraryId, 1000.0, date); + runPerformanceTest(libraryId, 1500.0, date); } // This test is for the runtime errors