From 4cbf736cd82ffb6bf558e7ae4342128f57f8d3fe Mon Sep 17 00:00:00 2001 From: Chuck May Date: Tue, 23 Sep 2025 11:37:31 -0400 Subject: [PATCH 1/5] Update README.md Added new versions of EOD and Pediatric --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index bd426d0a6..c3c7666ef 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ If a specific version is needed, the algorithm zip file can be downloaded and in | Version | Release | Algorithm ZIP | |---------------|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------| +| 1.3 | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/pediatric-1.3.zip) | | 1.2 (revised) | [11.3.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.3.2) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.2/pediatric-1.2.zip) | | 1.2 | [11.2.5](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.5) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.5/pediatric-1.2.zip) | | 1.1 | [11.2.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.2) | [pediatric-1.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.2/pediatric-1.1.zip) | @@ -71,6 +72,7 @@ If a specific version is needed, the algorithm zip file can be downloaded and in | Version | Release | Algorithm ZIP | |---------|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------| +| 3.3 | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [eod_public-3.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/eod_public-3.3.zip) | | 3.2 | [11.4.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.4.1) | [eod_public-3.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.1/eod_public-3.2.zip) | | 3.1 | [10.3.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.3.0) | [eod_public-3.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.3.0/eod_public-3.1.zip) | | 3.0 | [10.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.0.0) | [eod_public-3.0.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.0.0/eod_public-3.0.zip) | From 35ccd5ece28e4c225ce7d3d5ad5e622a0a0f86c3 Mon Sep 17 00:00:00 2001 From: Chuck May Date: Tue, 23 Sep 2025 13:46:20 -0400 Subject: [PATCH 2/5] Add BETA description --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c3c7666ef..58cae003e 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ If a specific version is needed, the algorithm zip file can be downloaded and in | Version | Release | Algorithm ZIP | |---------------|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------| -| 1.3 | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/pediatric-1.3.zip) | +| 1.3 (BETA) | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/pediatric-1.3.zip) | | 1.2 (revised) | [11.3.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.3.2) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.2/pediatric-1.2.zip) | | 1.2 | [11.2.5](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.5) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.5/pediatric-1.2.zip) | | 1.1 | [11.2.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.2) | [pediatric-1.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.2/pediatric-1.1.zip) | @@ -72,7 +72,7 @@ If a specific version is needed, the algorithm zip file can be downloaded and in | Version | Release | Algorithm ZIP | |---------|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------| -| 3.3 | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [eod_public-3.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/eod_public-3.3.zip) | +| 3.3 (BETA) | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [eod_public-3.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/eod_public-3.3.zip) | | 3.2 | [11.4.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.4.1) | [eod_public-3.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.1/eod_public-3.2.zip) | | 3.1 | [10.3.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.3.0) | [eod_public-3.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.3.0/eod_public-3.1.zip) | | 3.0 | [10.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.0.0) | [eod_public-3.0.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.0.0/eod_public-3.0.zip) | From dd71da3900bee077bcd648ebd855fe9edd7767fb Mon Sep 17 00:00:00 2001 From: Chuck May Date: Tue, 23 Sep 2025 13:49:44 -0400 Subject: [PATCH 3/5] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 58cae003e..683479956 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,8 @@ If a specific version is needed, the algorithm zip file can be downloaded and in | Version | Release | Algorithm ZIP | |---------------|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------| -| 1.3 (BETA) | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/pediatric-1.3.zip) | -| 1.2 (revised) | [11.3.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.3.2) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.2/pediatric-1.2.zip) | +| 1.3 (**BETA**) | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [pediatric-1.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/pediatric-1.3.zip) | +| 1.2 (*revised*) | [11.3.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.3.2) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.2/pediatric-1.2.zip) | | 1.2 | [11.2.5](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.5) | [pediatric-1.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.5/pediatric-1.2.zip) | | 1.1 | [11.2.2](https://github.com/imsweb/staging-client-java/releases/tag/v11.2.2) | [pediatric-1.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.2.2/pediatric-1.1.zip) | | 1.0 | [11.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.0.0) | [pediatric-1.0.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.0.0/pediatric-1.0.zip) | @@ -72,7 +72,7 @@ If a specific version is needed, the algorithm zip file can be downloaded and in | Version | Release | Algorithm ZIP | |---------|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------| -| 3.3 (BETA) | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [eod_public-3.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/eod_public-3.3.zip) | +| 3.3 (**BETA**) | [11.6.0](https://github.com/imsweb/staging-client-java/releases/tag/v11.6.0) | [eod_public-3.3.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.6.0/eod_public-3.3.zip) | | 3.2 | [11.4.1](https://github.com/imsweb/staging-client-java/releases/tag/v11.4.1) | [eod_public-3.2.zip](https://github.com/imsweb/staging-client-java/releases/download/v11.3.1/eod_public-3.2.zip) | | 3.1 | [10.3.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.3.0) | [eod_public-3.1.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.3.0/eod_public-3.1.zip) | | 3.0 | [10.0.0](https://github.com/imsweb/staging-client-java/releases/tag/v10.0.0) | [eod_public-3.0.zip](https://github.com/imsweb/staging-client-java/releases/download/v10.0.0/eod_public-3.0.zip) | From 080fbc5175a08c2e4f3f505265e2f7068ef0ba98 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 30 Sep 2025 15:05:24 -0400 Subject: [PATCH 4/5] Make finMatchingTableRow null safe --- .../imsweb/staging/engine/DecisionEngine.java | 26 ++++++++++--------- .../staging/engine/DecisionEngineTest.java | 16 ++++++++++++ 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/lib/src/main/java/com/imsweb/staging/engine/DecisionEngine.java b/lib/src/main/java/com/imsweb/staging/engine/DecisionEngine.java index 9b196894a..391b97522 100644 --- a/lib/src/main/java/com/imsweb/staging/engine/DecisionEngine.java +++ b/lib/src/main/java/com/imsweb/staging/engine/DecisionEngine.java @@ -130,20 +130,22 @@ public static Integer findMatchingTableRow(Table table, Map cont if (context == null) throw new IllegalStateException(_CONTEXT_MISSING_MESSAGE); - for (int i = 0; i < table.getTableRows().size(); i++) { - boolean matchAll = true; - for (ColumnDefinition col : table.getColumnDefinitions()) { - if (ColumnType.INPUT.equals(col.getType()) && (keysToMatch == null || keysToMatch.contains(col.getKey()))) - matchAll = testMatch(table.getTableRows().get(i).getColumnInput(col.getKey()), context.get(col.getKey()), context); + if (table.getTableRows() != null) { + for (int i = 0; i < table.getTableRows().size(); i++) { + boolean matchAll = true; + for (ColumnDefinition col : table.getColumnDefinitions()) { + if (ColumnType.INPUT.equals(col.getType()) && (keysToMatch == null || keysToMatch.contains(col.getKey()))) + matchAll = testMatch(table.getTableRows().get(i).getColumnInput(col.getKey()), context.get(col.getKey()), context); + + if (!matchAll) + break; + } - if (!matchAll) + // if all inputs match, we are done + if (matchAll) { + rowIndex = i; break; - } - - // if all inputs match, we are done - if (matchAll) { - rowIndex = i; - break; + } } } diff --git a/lib/src/test/java/com/imsweb/staging/engine/DecisionEngineTest.java b/lib/src/test/java/com/imsweb/staging/engine/DecisionEngineTest.java index 1e50b186f..f5286ce77 100644 --- a/lib/src/test/java/com/imsweb/staging/engine/DecisionEngineTest.java +++ b/lib/src/test/java/com/imsweb/staging/engine/DecisionEngineTest.java @@ -488,6 +488,22 @@ void testMatchOnSpecificKeys() { .containsExactly(tuple(EndpointType.MATCH, "LINE1", "result")); } + @Test + void testMatchTableWithNoRows() { + InMemoryDataProvider provider = new InMemoryDataProvider("Test", "1.0"); + StagingTable table = new StagingTable("testNoRows"); + table.addColumnDefinition("a", ColumnType.INPUT); + table.addColumnDefinition("result", ColumnType.ENDPOINT); + provider.addTable(table); + + Table tableMissing = provider.getTable("testNoRows"); + + Map input = new HashMap<>(); + input.put("a", ""); + List endpoints = DecisionEngine.matchTable(tableMissing, input); + assertNull(endpoints); + } + @Test void testMatchMissingVsAll() { InMemoryDataProvider provider = new InMemoryDataProvider("Test", "1.0"); From ae0002def9c45953a01ae1e3e9e9ec49499c9917 Mon Sep 17 00:00:00 2001 From: mayc Date: Tue, 30 Sep 2025 15:36:04 -0400 Subject: [PATCH 5/5] Prepare for release --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index fe389e7b7..56b74251f 100644 --- a/build.gradle +++ b/build.gradle @@ -33,7 +33,7 @@ subprojects { apply plugin: 'com.vanniktech.maven.publish' group = 'com.imsweb' - version = '11.6.0' + version = '11.6.1' dependencies { testImplementation platform('org.junit:junit-bom:5.13.4')