From 4d000c4a79a719720ef6c4bbf68bf741e137e623 Mon Sep 17 00:00:00 2001 From: Luke deGruchy Date: Thu, 30 Jan 2025 09:55:00 -0500 Subject: [PATCH] Fix compile and startup errors. Relax validation. --- .../rest/server/method/EmbeddedOperationUtils.java | 14 ++++++++------ .../ca/uhn/fhir/cr/r4/measure/CareGapsParams.java | 2 +- .../cr/r4/measure/MeasureOperationsProvider.java | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/method/EmbeddedOperationUtils.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/method/EmbeddedOperationUtils.java index 370eaa444af..060ff64a2fa 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/method/EmbeddedOperationUtils.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/method/EmbeddedOperationUtils.java @@ -271,12 +271,14 @@ private static void validateGenericTypes( final Type parameterTypeArgumentAtIndex = parameterTypeArguments[index]; final Type fieldTypeArgumentAtIndex = fieldTypeArguments[index]; - if (!parameterTypeArgumentAtIndex.equals(fieldTypeArgumentAtIndex)) { - final String error = String.format( - "Generic type argument does not match constructor: %s, field: %s for class: %s", - parameterTypeArgumentAtIndex, fieldTypeArgumentAtIndex, theDeclaringClass); - throw new ConfigurationException(error); - } + // LUKETODO: this causes errors if we pass in a generic type with one type of generic parameter (String) + // and convert it to another (StringType) +// if (!parameterTypeArgumentAtIndex.equals(fieldTypeArgumentAtIndex)) { +// final String error = String.format( +// "Generic type argument does not match constructor: %s, field: %s for class: %s", +// parameterTypeArgumentAtIndex, fieldTypeArgumentAtIndex, theDeclaringClass); +// throw new ConfigurationException(error); +// } } } else { final String error = String.format( diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/CareGapsParams.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/CareGapsParams.java index 302061179de..ed8333c72ef 100644 --- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/CareGapsParams.java +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/CareGapsParams.java @@ -115,7 +115,7 @@ public CareGapsParams( myNonDocument = theNonDocument; } - public CareGapsParams(CareGapsParams.Builder builder) { + private CareGapsParams(CareGapsParams.Builder builder) { this( builder.myPeriodStart, builder.myPeriodEnd, diff --git a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/MeasureOperationsProvider.java b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/MeasureOperationsProvider.java index 6ff77dfda5c..479ed50e336 100644 --- a/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/MeasureOperationsProvider.java +++ b/hapi-fhir-storage-cr/src/main/java/ca/uhn/fhir/cr/r4/measure/MeasureOperationsProvider.java @@ -69,7 +69,7 @@ public MeasureReport evaluateMeasure( // thing as a MUTUALLY EXCLUSIVE ANNotation?4. is there such as thing as a MUTUALLY EXCLUSIVE // ANNotation?4. is there such as thing as a MUTUALLY EXCLUSIVE ANNotation? // so 3 different params : try annotations - Eithers.forMiddle3(theParams.getId()), + theParams.getMeasure(), theParams.getPeriodStart(), theParams.getPeriodEnd(), theParams.getReportType(),