From af162ed066e87fc9c54471431e1578308a6a3cb1 Mon Sep 17 00:00:00 2001 From: James Maes Date: Fri, 6 Nov 2026 17:19:57 -0600 Subject: [PATCH 1/4] build: pin QQQ BOM to 4.1.0-RC.22, drop Central snapshot profile, update status Co-Authored-By: Claude Sonnet 5.5 --- README.md | 2 +- pom.xml | 42 ++++++++---------------------------------- 2 files changed, 9 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 0a40d9a..37ccb3a 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ new QSftpImportMetaData() ## Project Status -Stable and production-ready. +Release candidate. Builds against QQQ `4.1.0-RC.22`; release candidates (`0.5.0-RC.N`) are published to the Gitea Maven registry at `https://git.kof22.com/api/packages/QRun-IO/maven`. ### Roadmap diff --git a/pom.xml b/pom.xml index 56e2b3d..1199f38 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,7 @@ 0.5.0-SNAPSHOT + 4.1.0-RC.22 @@ -70,6 +71,13 @@ + + com.kingsrook.qqq + qqq-bom-pom + ${qqq.version} + pom + import + org.junit junit-bom @@ -102,39 +110,5 @@ - - - - - - qqq-snapshot - - 4.1.0-SNAPSHOT - - - - - com.kingsrook.qqq - qqq-bom-pom - ${qqq.snapshot.version} - pom - import - - - - - - sonatype-snapshots - https://central.sonatype.com/repository/maven-snapshots/ - - false - - - true - - - - - -- 2.54.0 From 5e8dfdf60e47bbd2e80e94ff9fa5a9d6c6e895f6 Mon Sep 17 00:00:00 2001 From: James Maes Date: Fri, 6 Nov 2026 17:36:18 -0600 Subject: [PATCH 2/4] build: align JUnit BOM with QQQ line (6.0.2) Co-Authored-By: Claude Sonnet 5.5 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1199f38..dd5069d 100644 --- a/pom.xml +++ b/pom.xml @@ -81,7 +81,7 @@ org.junit junit-bom - 5.10.0 + 6.0.2 pom import -- 2.54.0 From aa085b5a5ca1fd8f72ffc2139d56f8763089fd4d Mon Sep 17 00:00:00 2001 From: James Maes Date: Fri, 6 Nov 2026 17:41:39 -0600 Subject: [PATCH 3/4] test: give reportStorage table filesystem backend details (required by QQQ 4.1.0-RC.22 validator) Co-Authored-By: Claude Sonnet 5.5 --- .../qbits/sftpdataintegration/BaseTest.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/kingsrook/qbits/sftpdataintegration/BaseTest.java b/src/test/java/com/kingsrook/qbits/sftpdataintegration/BaseTest.java index cf05200..5cb1958 100644 --- a/src/test/java/com/kingsrook/qbits/sftpdataintegration/BaseTest.java +++ b/src/test/java/com/kingsrook/qbits/sftpdataintegration/BaseTest.java @@ -43,7 +43,10 @@ import com.kingsrook.qqq.backend.core.model.session.QSession; import com.kingsrook.qqq.backend.core.modules.backend.implementations.memory.MemoryBackendModule; import com.kingsrook.qqq.backend.core.modules.backend.implementations.memory.MemoryRecordStore; import com.kingsrook.qqq.backend.core.processes.tracing.LoggingProcessTracer; +import com.kingsrook.qqq.backend.module.filesystem.base.model.metadata.Cardinality; +import com.kingsrook.qqq.backend.module.filesystem.base.model.metadata.RecordFormat; import com.kingsrook.qqq.backend.module.filesystem.local.model.metadata.FilesystemBackendMetaData; +import com.kingsrook.qqq.backend.module.filesystem.local.model.metadata.FilesystemTableBackendDetails; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.BeforeEach; @@ -110,7 +113,17 @@ public class BaseTest ///////////////////////////////////// new SavedBulkLoadProfileMetaDataProvider().defineAll(qInstance, MEMORY_BACKEND_NAME, null); qInstance.addPossibleValueSource(TablesPossibleValueSourceMetaDataProvider.defineTablesPossibleValueSource(qInstance)); - new SavedReportsMetaDataProvider().defineAll(qInstance, MEMORY_BACKEND_NAME, DESTINATION_FILESYSTEM_BACKEND_NAME, null); + new SavedReportsMetaDataProvider().defineAll(qInstance, MEMORY_BACKEND_NAME, DESTINATION_FILESYSTEM_BACKEND_NAME, table -> + { + FilesystemTableBackendDetails details = new FilesystemTableBackendDetails(); + details.withCardinality(Cardinality.ONE); + details.withRecordFormat(RecordFormat.JSON); + details.withBasePath("reports"); + details.withGlob("*"); + details.withContentsFieldName("contents"); + details.withFileNameFieldName("reference"); + table.setBackendDetails(details); + }); //////////////////////// // configure the qbit // -- 2.54.0 From 7f306422a6de309d0b1f4421d253814089687c1e Mon Sep 17 00:00:00 2001 From: James Maes Date: Fri, 6 Nov 2026 17:43:31 -0600 Subject: [PATCH 4/4] test: apply reportStorage backend details only to reportStorage table Co-Authored-By: Claude Sonnet 5.5 --- .../com/kingsrook/qbits/sftpdataintegration/BaseTest.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/kingsrook/qbits/sftpdataintegration/BaseTest.java b/src/test/java/com/kingsrook/qbits/sftpdataintegration/BaseTest.java index 5cb1958..c9369a7 100644 --- a/src/test/java/com/kingsrook/qbits/sftpdataintegration/BaseTest.java +++ b/src/test/java/com/kingsrook/qbits/sftpdataintegration/BaseTest.java @@ -44,7 +44,6 @@ import com.kingsrook.qqq.backend.core.modules.backend.implementations.memory.Mem import com.kingsrook.qqq.backend.core.modules.backend.implementations.memory.MemoryRecordStore; import com.kingsrook.qqq.backend.core.processes.tracing.LoggingProcessTracer; import com.kingsrook.qqq.backend.module.filesystem.base.model.metadata.Cardinality; -import com.kingsrook.qqq.backend.module.filesystem.base.model.metadata.RecordFormat; import com.kingsrook.qqq.backend.module.filesystem.local.model.metadata.FilesystemBackendMetaData; import com.kingsrook.qqq.backend.module.filesystem.local.model.metadata.FilesystemTableBackendDetails; import org.apache.commons.io.FileUtils; @@ -115,9 +114,13 @@ public class BaseTest qInstance.addPossibleValueSource(TablesPossibleValueSourceMetaDataProvider.defineTablesPossibleValueSource(qInstance)); new SavedReportsMetaDataProvider().defineAll(qInstance, MEMORY_BACKEND_NAME, DESTINATION_FILESYSTEM_BACKEND_NAME, table -> { + if(!SavedReportsMetaDataProvider.REPORT_STORAGE_TABLE_NAME.equals(table.getName())) + { + return; + } + FilesystemTableBackendDetails details = new FilesystemTableBackendDetails(); details.withCardinality(Cardinality.ONE); - details.withRecordFormat(RecordFormat.JSON); details.withBasePath("reports"); details.withGlob("*"); details.withContentsFieldName("contents"); -- 2.54.0