From 912e40fe0b25a56d1d0e9e72571da1885ba1c446 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 19 Jul 2024 12:38:02 -0500 Subject: [PATCH] Eliminated all warnings. --- pom.xml | 3 +-- .../widgets/ChildRecordListRenderer.java | 4 +++- .../excel/poi/StreamedSheetWriter.java | 2 +- .../scripts/RecordScriptTestInterface.java | 3 ++- .../scripts/RunAdHocRecordScriptAction.java | 5 +++-- .../core/actions/values/QValueFormatter.java | 1 + .../SearchPossibleValueSourceAction.java | 1 + .../core/instances/QInstanceValidator.java | 7 +++--- .../core/instances/SecretsManagerUtils.java | 3 ++- .../expressions/AbstractFilterExpression.java | 5 ++++- .../QFilterCriteriaDeserializer.java | 9 ++++---- .../blocks/AbstractBlockWidgetData.java | 13 +++++++++++ .../core/model/data/QRecordEntity.java | 3 +++ .../model/metadata/fields/FieldAdornment.java | 3 ++- .../model/metadata/tables/QTableMetaData.java | 2 +- .../memory/MemoryRecordStore.java | 7 +++++- .../MergeDuplicatesLoadStep.java | 9 ++++++-- .../reports/PrepareReportForRecordStep.java | 5 +++-- .../scripts/TestScriptProcessStep.java | 2 +- .../scheduler/quartz/QuartzJobRunner.java | 4 +++- .../runner/SchedulableProcessRunner.java | 4 +++- .../core/state/TempFileStateProvider.java | 5 +++-- .../backend/core/utils/CollectionUtils.java | 22 +++++++++++-------- .../qqq/backend/core/utils/ObjectUtils.java | 1 + .../qqq/backend/core/utils/ValueUtils.java | 1 + .../qqq/backend/core/utils/YamlUtils.java | 6 ++++- .../collections/AlphaNumericComparator.java | 4 ++-- .../collections/MultiLevelMapHelper.java | 4 +++- .../widgets/ChildRecordListRendererTest.java | 6 ++--- .../widgets/ParentWidgetRendererTest.java | 6 ++--- .../widgets/ProcessWidgetRendererTest.java | 6 ++--- .../dashboard/widgets/USMapRendererTest.java | 6 ++--- .../actions/reporting/ExportActionTest.java | 4 ++-- .../reporting/GenerateReportActionTest.java | 2 +- .../RunAdHocRecordScriptActionTest.java | 4 ++-- .../RunAssociatedScriptActionTest.java | 4 ++-- .../StoreAssociatedScriptActionTest.java | 4 ++-- .../helpers/GetActionCacheHelperTest.java | 2 +- .../helpers/QueryActionCacheHelperTest.java | 2 +- .../values/QPossibleValueTranslatorTest.java | 4 ++-- .../core/adapters/QInstanceAdapterTest.java | 5 +++-- .../TableBasedAuthenticationModuleTest.java | 4 ++-- .../bulk/delete/BulkDeleteTest.java | 2 +- .../bulk/edit/BulkEditTest.java | 2 +- .../insert/BulkInsertTransformStepTest.java | 4 ++-- .../LoadViaInsertOrUpdateStepTest.java | 2 +- .../StreamedETLWithFrontendProcessTest.java | 1 + .../MergeDuplicatesProcessTest.java | 4 ++-- .../savedviews/SavedViewProcessTests.java | 1 + .../LoadScriptTestDetailsProcessStepTest.java | 1 + .../scripts/RunRecordScriptTest.java | 10 +++++---- .../StoreScriptRevisionProcessStepTest.java | 4 ++-- .../sharing/GetSharedRecordsProcessTest.java | 1 + .../tablesync/TableSyncProcessTest.java | 4 ++-- .../utils/GeneralProcessUtilsTest.java | 20 ++++++++--------- .../core/utils/CollectionUtilsTest.java | 1 + .../backend/core/utils/ObjectUtilsTest.java | 4 ++-- .../qqq/backend/core/utils/TestUtils.java | 11 ---------- .../backend/core/utils/ValueUtilsTest.java | 13 ++++++++--- .../module/api/actions/BaseAPIActionUtil.java | 2 +- .../module/api/mocks/MockApiUtilsHelper.java | 3 ++- .../module/api/mocks/MockHttpResponse.java | 2 ++ .../actions/AbstractBaseFilesystemAction.java | 5 +++-- .../basic/BasicETLCleanupSourceFilesStep.java | 4 ++-- .../sync/FilesystemSyncProcess.java | 8 +++---- .../local/actions/FilesystemActionTest.java | 15 +++++++------ .../actions/FilesystemInsertActionTest.java | 3 ++- .../BasicETLCleanupSourceFilesStepTest.java | 3 ++- .../sync/FilesystemSyncProcessTest.java | 3 ++- .../s3/actions/S3InsertActionTest.java | 7 +++--- .../filesystem/s3/utils/S3UtilsTest.java | 3 ++- .../qqq/backend/module/rdbms/TestUtils.java | 3 ++- .../rdbms/actions/RDBMSQueryActionTest.java | 1 + .../module/rdbms/jdbc/QueryManagerTest.java | 7 +++++- .../qqq/api/actions/ApiImplementation.java | 4 ++-- ...SavedReportProcessApiMetaDataEnricher.java | 4 +++- .../ApiProcessSummaryListOutput.java | 5 ++++- .../api/actions/ApiImplementationTest.java | 4 +++- .../qqq/api/utils/ApiScriptUtilsTest.java | 3 +++ .../backend/javalin/QJavalinAccessLogger.java | 2 ++ .../javalin/QJavalinImplementation.java | 6 +++-- .../qqq/backend/javalin/TestUtils.java | 11 +++++----- .../picocli/QPicoCliImplementation.java | 7 +++--- .../picocli/QPicoCliImplementationTest.java | 13 +++++------ .../qqq/frontend/picocli/TestUtils.java | 5 +++-- .../qqq/slack/QSlackImplementation.java | 2 +- .../sampleapp/SampleMetaDataProviderTest.java | 6 ++--- 87 files changed, 257 insertions(+), 166 deletions(-) diff --git a/pom.xml b/pom.xml index 95ac1378..d9569d85 100644 --- a/pom.xml +++ b/pom.xml @@ -50,8 +50,7 @@ UTF-8 UTF-8 - 17 - 17 + 17 true true true diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRenderer.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRenderer.java index a44cb44f..af63d1ac 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRenderer.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRenderer.java @@ -279,7 +279,9 @@ public class ChildRecordListRenderer extends AbstractWidgetRenderer Map widgetValues = input.getWidgetMetaData().getDefaultValues(); if(widgetValues.containsKey("disabledFieldsForNewChildRecords")) { - widgetData.setDisabledFieldsForNewChildRecords((Set) widgetValues.get("disabledFieldsForNewChildRecords")); + @SuppressWarnings("unchecked") + Set disabledFieldsForNewChildRecords = (Set) widgetValues.get("disabledFieldsForNewChildRecords"); + widgetData.setDisabledFieldsForNewChildRecords(disabledFieldsForNewChildRecords); } else { diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/reporting/excel/poi/StreamedSheetWriter.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/reporting/excel/poi/StreamedSheetWriter.java index 850a1ecc..903a9d63 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/reporting/excel/poi/StreamedSheetWriter.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/reporting/excel/poi/StreamedSheetWriter.java @@ -161,7 +161,7 @@ public class StreamedSheetWriter } } - Map m = new HashMap(); + Map m = new HashMap<>(); m.computeIfAbsent("s", (s) -> 3); value = rs.toString(); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/RecordScriptTestInterface.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/RecordScriptTestInterface.java index 8e54da49..70391e66 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/RecordScriptTestInterface.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/RecordScriptTestInterface.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.core.actions.scripts; import java.io.Serializable; +import java.util.Arrays; import java.util.Collections; import java.util.List; import com.kingsrook.qqq.backend.core.actions.scripts.logging.BuildScriptLogAndScriptLogLineExecutionLogger; @@ -97,7 +98,7 @@ public class RecordScriptTestInterface implements TestScriptActionInterface } QueryOutput queryOutput = new QueryAction().execute(new QueryInput(tableName) - .withFilter(new QQueryFilter(new QFilterCriteria(table.getPrimaryKeyField(), QCriteriaOperator.IN, recordPrimaryKeyList.split(",")))) + .withFilter(new QQueryFilter(new QFilterCriteria(table.getPrimaryKeyField(), QCriteriaOperator.IN, Arrays.stream(recordPrimaryKeyList.split(",")).toList()))) .withIncludeAssociations(true)); if(CollectionUtils.nullSafeIsEmpty(queryOutput.getRecords())) { diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAdHocRecordScriptAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAdHocRecordScriptAction.java index fafd48e8..907b45b0 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAdHocRecordScriptAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAdHocRecordScriptAction.java @@ -154,8 +154,9 @@ public class RunAdHocRecordScriptAction Method qRecordListToApiRecordList = apiScriptUtilsClass.getMethod("qRecordListToApiRecordList", List.class, String.class, String.class, String.class); Object apiRecordList = qRecordListToApiRecordList.invoke(null, input.getRecordList(), input.getTableName(), scriptRevision.getApiName(), scriptRevision.getApiVersion()); - // noinspection unchecked - return (ArrayList) apiRecordList; + @SuppressWarnings("unchecked") + ArrayList rs = (ArrayList) apiRecordList; + return rs; } catch(ClassNotFoundException e) { diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatter.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatter.java index fab61595..eef95eb1 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatter.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/QValueFormatter.java @@ -563,6 +563,7 @@ public class QValueFormatter ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // heavy fields that weren't fetched - they should have a backend-detail specifying their length (or null if null) // ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + @SuppressWarnings("unchecked") Map heavyFieldLengths = (Map) record.getBackendDetail(QRecord.BACKEND_DETAILS_TYPE_HEAVY_FIELD_LENGTHS); if(heavyFieldLengths != null) { diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/SearchPossibleValueSourceAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/SearchPossibleValueSourceAction.java index 56642184..44b8984a 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/SearchPossibleValueSourceAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/values/SearchPossibleValueSourceAction.java @@ -300,6 +300,7 @@ public class SearchPossibleValueSourceAction /******************************************************************************* ** *******************************************************************************/ + @SuppressWarnings({ "rawtypes", "unchecked" }) private SearchPossibleValueSourceOutput searchPossibleValueCustom(SearchPossibleValueSourceInput input, QPossibleValueSource possibleValueSource) { try diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceValidator.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceValidator.java index e8b4812a..311136ec 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceValidator.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/QInstanceValidator.java @@ -922,7 +922,7 @@ public class QInstanceValidator /******************************************************************************* ** *******************************************************************************/ - private > void validateTableField(QInstance qInstance, String tableName, String fieldName, QTableMetaData table, QFieldMetaData field) + private void validateTableField(QInstance qInstance, String tableName, String fieldName, QTableMetaData table, QFieldMetaData field) { assertCondition(Objects.equals(fieldName, field.getName()), "Inconsistent naming in table " + tableName + " for field " + fieldName + "/" + field.getName() + "."); @@ -944,12 +944,13 @@ public class QInstanceValidator assertCondition(field.getMaxLength() != null, prefix + "specifies a ValueTooLongBehavior, but not a maxLength."); } - Set>> usedFieldBehaviorTypes = new HashSet<>(); + Set>> usedFieldBehaviorTypes = new HashSet<>(); if(field.getBehaviors() != null) { for(FieldBehavior fieldBehavior : field.getBehaviors()) { - Class> behaviorClass = (Class>) fieldBehavior.getClass(); + @SuppressWarnings("unchecked") + Class> behaviorClass = (Class>) fieldBehavior.getClass(); errors.addAll(fieldBehavior.validateBehaviorConfiguration(table, field)); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/SecretsManagerUtils.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/SecretsManagerUtils.java index 44516fc6..b25efc27 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/SecretsManagerUtils.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/instances/SecretsManagerUtils.java @@ -24,6 +24,7 @@ package com.kingsrook.qqq.backend.core.instances; import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Optional; import com.amazonaws.auth.AWSStaticCredentialsProvider; @@ -113,7 +114,7 @@ public class SecretsManagerUtils dotEnv.renameTo(new File(".env.backup-" + System.currentTimeMillis())); } - FileUtils.writeStringToFile(dotEnv, fullEnv.toString()); + FileUtils.writeStringToFile(dotEnv, fullEnv.toString(), StandardCharsets.UTF_8); } else { diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/expressions/AbstractFilterExpression.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/expressions/AbstractFilterExpression.java index fc4a2034..fe9cc897 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/expressions/AbstractFilterExpression.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/expressions/AbstractFilterExpression.java @@ -40,11 +40,14 @@ public abstract class AbstractFilterExpression implement /******************************************************************************* + ** Evaluate the expression, given a map of input values. ** + ** By default, this will defer to the evaluate(void) method - but, a subclass + ** (e.g., FilterVariableExpression) may react differently. *******************************************************************************/ public T evaluateInputValues(Map inputValues) throws QException { - return (T) this; + return evaluate(); } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/serialization/QFilterCriteriaDeserializer.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/serialization/QFilterCriteriaDeserializer.java index ca050b33..72479f12 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/serialization/QFilterCriteriaDeserializer.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/query/serialization/QFilterCriteriaDeserializer.java @@ -79,10 +79,11 @@ public class QFilterCriteriaDeserializer extends StdDeserializer values = objectMapper.treeToValue(node.get("values"), List.class); - String fieldName = objectMapper.treeToValue(node.get("fieldName"), String.class); - QCriteriaOperator operator = objectMapper.treeToValue(node.get("operator"), QCriteriaOperator.class); - String otherFieldName = objectMapper.treeToValue(node.get("otherFieldName"), String.class); + @SuppressWarnings("unchecked") + List values = objectMapper.treeToValue(node.get("values"), List.class); + String fieldName = objectMapper.treeToValue(node.get("fieldName"), String.class); + QCriteriaOperator operator = objectMapper.treeToValue(node.get("operator"), QCriteriaOperator.class); + String otherFieldName = objectMapper.treeToValue(node.get("otherFieldName"), String.class); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // look at all the values - if any of them are actually meant to be an Expression (instance of subclass of AbstractFilterExpression) // diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/AbstractBlockWidgetData.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/AbstractBlockWidgetData.java index 74f4888b..a1fdd99f 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/AbstractBlockWidgetData.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/dashboard/widgets/blocks/AbstractBlockWidgetData.java @@ -74,6 +74,7 @@ public abstract class AbstractBlockWidgetData< /******************************************************************************* ** *******************************************************************************/ + @SuppressWarnings("unchecked") public T withTooltip(S key, String value) { addTooltip(key, value); @@ -99,6 +100,7 @@ public abstract class AbstractBlockWidgetData< /******************************************************************************* ** *******************************************************************************/ + @SuppressWarnings("unchecked") public T withTooltip(S key, BlockTooltip value) { addTooltip(key, value); @@ -144,6 +146,7 @@ public abstract class AbstractBlockWidgetData< /******************************************************************************* ** Fluent setter for tooltipMap *******************************************************************************/ + @SuppressWarnings("unchecked") public T withTooltipMap(Map tooltipMap) { this.tooltipMap = tooltipMap; @@ -178,6 +181,7 @@ public abstract class AbstractBlockWidgetData< ** Fluent setter for tooltip ** *******************************************************************************/ + @SuppressWarnings("unchecked") public T withTooltip(String tooltip) { this.tooltip = new BlockTooltip(tooltip); @@ -190,6 +194,7 @@ public abstract class AbstractBlockWidgetData< ** Fluent setter for tooltip ** *******************************************************************************/ + @SuppressWarnings("unchecked") public T withTooltip(BlockTooltip tooltip) { this.tooltip = tooltip; @@ -201,6 +206,7 @@ public abstract class AbstractBlockWidgetData< /******************************************************************************* ** *******************************************************************************/ + @SuppressWarnings("unchecked") public T withLink(S key, String value) { addLink(key, value); @@ -226,6 +232,7 @@ public abstract class AbstractBlockWidgetData< /******************************************************************************* ** *******************************************************************************/ + @SuppressWarnings("unchecked") public T withLink(S key, BlockLink value) { addLink(key, value); @@ -271,6 +278,7 @@ public abstract class AbstractBlockWidgetData< /******************************************************************************* ** Fluent setter for linkMap *******************************************************************************/ + @SuppressWarnings("unchecked") public T withLinkMap(Map linkMap) { this.linkMap = linkMap; @@ -305,6 +313,7 @@ public abstract class AbstractBlockWidgetData< ** Fluent setter for link ** *******************************************************************************/ + @SuppressWarnings("unchecked") public T withLink(String link) { this.link = new BlockLink(link); @@ -317,6 +326,7 @@ public abstract class AbstractBlockWidgetData< ** Fluent setter for link ** *******************************************************************************/ + @SuppressWarnings("unchecked") public T withLink(BlockLink link) { this.link = link; @@ -348,6 +358,7 @@ public abstract class AbstractBlockWidgetData< /******************************************************************************* ** Fluent setter for values *******************************************************************************/ + @SuppressWarnings("unchecked") public T withValues(V values) { this.values = values; @@ -379,6 +390,7 @@ public abstract class AbstractBlockWidgetData< /******************************************************************************* ** Fluent setter for styles *******************************************************************************/ + @SuppressWarnings("unchecked") public T withStyles(SX styles) { this.styles = styles; @@ -409,6 +421,7 @@ public abstract class AbstractBlockWidgetData< /******************************************************************************* ** Fluent setter for blockId *******************************************************************************/ + @SuppressWarnings("unchecked") public T withBlockId(String blockId) { this.blockId = blockId; diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/data/QRecordEntity.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/data/QRecordEntity.java index 89de8bea..e62757e1 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/data/QRecordEntity.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/data/QRecordEntity.java @@ -192,6 +192,7 @@ public abstract class QRecordEntity for(QRecordEntityAssociation qRecordEntityAssociation : getAssociationList(this.getClass())) { + @SuppressWarnings("unchecked") List associatedEntities = (List) qRecordEntityAssociation.getGetter().invoke(this); String associationName = qRecordEntityAssociation.getAssociationAnnotation().name(); @@ -245,6 +246,7 @@ public abstract class QRecordEntity for(QRecordEntityAssociation qRecordEntityAssociation : getAssociationList(this.getClass())) { + @SuppressWarnings("unchecked") List associatedEntities = (List) qRecordEntityAssociation.getGetter().invoke(this); String associationName = qRecordEntityAssociation.getAssociationAnnotation().name(); @@ -346,6 +348,7 @@ public abstract class QRecordEntity if(associationAnnotation.isPresent()) { + @SuppressWarnings("unchecked") Class listTypeParam = (Class) getListTypeParam(possibleGetter.getReturnType(), possibleGetter.getAnnotatedReturnType()); associationList.add(new QRecordEntityAssociation(fieldName, possibleGetter, setter.get(), listTypeParam, associationAnnotation.orElse(null))); } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/FieldAdornment.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/FieldAdornment.java index 2ca70af1..b8aa82c5 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/FieldAdornment.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/FieldAdornment.java @@ -188,7 +188,8 @@ public class FieldAdornment ** Fluent setter for values ** *******************************************************************************/ - public FieldAdornment withValues(Pair... values) + @SafeVarargs + public final FieldAdornment withValues(Pair... values) { for(Pair value : values) { diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/tables/QTableMetaData.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/tables/QTableMetaData.java index f2933188..5bbba5b6 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/tables/QTableMetaData.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/tables/QTableMetaData.java @@ -804,7 +804,7 @@ public class QTableMetaData implements QAppChildMetaData, Serializable, MetaData { if(this.associatedScripts == null) { - this.associatedScripts = new ArrayList(); + this.associatedScripts = new ArrayList<>(); } this.associatedScripts.add(associatedScript); return (this); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/memory/MemoryRecordStore.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/memory/MemoryRecordStore.java index dfd25fcf..a547aaba 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/memory/MemoryRecordStore.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/modules/backend/implementations/memory/MemoryRecordStore.java @@ -662,7 +662,11 @@ public class MemoryRecordStore { return (-1); } - return ((Comparable) a).compareTo(b); + + @SuppressWarnings("unchecked") + Comparable comparableSerializableA = (Comparable) a; + + return comparableSerializableA.compareTo(b); }; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -769,6 +773,7 @@ public class MemoryRecordStore /******************************************************************************* ** *******************************************************************************/ + @SuppressWarnings({ "rawtypes", "unchecked" }) private static Serializable computeAggregate(List records, Aggregate aggregate, QTableMetaData table) { String fieldName = aggregate.getFieldName(); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/mergeduplicates/MergeDuplicatesLoadStep.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/mergeduplicates/MergeDuplicatesLoadStep.java index 85470779..fa354e38 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/mergeduplicates/MergeDuplicatesLoadStep.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/mergeduplicates/MergeDuplicatesLoadStep.java @@ -65,9 +65,14 @@ public class MergeDuplicatesLoadStep extends LoadViaInsertOrUpdateStep { super.runOnePage(runBackendStepInput, runBackendStepOutput); - ListingHash otherTableIdsToDelete = (ListingHash) runBackendStepInput.getValue("otherTableIdsToDelete"); + @SuppressWarnings("unchecked") + ListingHash otherTableIdsToDelete = (ListingHash) runBackendStepInput.getValue("otherTableIdsToDelete"); + + @SuppressWarnings("unchecked") ListingHash otherTableFiltersToDelete = (ListingHash) runBackendStepInput.getValue("otherTableFiltersToDelete"); - ListingHash otherTableRecordsToStore = (ListingHash) runBackendStepInput.getValue("otherTableRecordsToStore"); + + @SuppressWarnings("unchecked") + ListingHash otherTableRecordsToStore = (ListingHash) runBackendStepInput.getValue("otherTableRecordsToStore"); if(otherTableIdsToDelete != null) { diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/reports/PrepareReportForRecordStep.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/reports/PrepareReportForRecordStep.java index 7b550ada..a1fb1795 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/reports/PrepareReportForRecordStep.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/reports/PrepareReportForRecordStep.java @@ -114,8 +114,9 @@ public class PrepareReportForRecordStep extends PrepareReportStep ///////////////////////////////////////////////////////////////////////////////////// // if there are no more input fields, then remove the INPUT step from the process. // ///////////////////////////////////////////////////////////////////////////////////// - inputFieldList = (ArrayList) runBackendStepOutput.getValue("inputFieldList"); - if(!CollectionUtils.nullSafeHasContents(inputFieldList)) + @SuppressWarnings("unchecked") + ArrayList updatedInputFieldList = (ArrayList) runBackendStepOutput.getValue("inputFieldList"); + if(!CollectionUtils.nullSafeHasContents(updatedInputFieldList)) { removeInputStepFromProcess(runBackendStepOutput); } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/TestScriptProcessStep.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/TestScriptProcessStep.java index b9a99eab..74dd1039 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/TestScriptProcessStep.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/TestScriptProcessStep.java @@ -139,7 +139,7 @@ public class TestScriptProcessStep implements BackendStep ////////////////////////////////// // send script outputs back out // ////////////////////////////////// - output.addValue("scriptLogLines", CollectionUtils.useOrWrap(testScriptOutput.getScriptLogLines(), TypeToken.get(ArrayList.class))); + output.addValue("scriptLogLines", CollectionUtils.useOrWrap(testScriptOutput.getScriptLogLines(), new TypeToken>() {})); output.addValue("outputObject", testScriptOutput.getOutputObject()); if(testScriptOutput.getException() != null) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/quartz/QuartzJobRunner.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/quartz/QuartzJobRunner.java index f635bd9b..184060fe 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/quartz/QuartzJobRunner.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/quartz/QuartzJobRunner.java @@ -70,7 +70,9 @@ public class QuartzJobRunner implements Job QContext.init(qInstance, quartzScheduler.getSessionSupplier().get()); schedulableType = qInstance.getSchedulableType(context.getJobDetail().getJobDataMap().getString("type")); - params = (Map) context.getJobDetail().getJobDataMap().get("params"); + @SuppressWarnings("unchecked") + Map paramsFromJobDataMap = (Map) context.getJobDetail().getJobDataMap().get("params"); + params = paramsFromJobDataMap; SchedulableRunner schedulableRunner = QCodeLoader.getAdHoc(SchedulableRunner.class, schedulableType.getRunner()); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/schedulable/runner/SchedulableProcessRunner.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/schedulable/runner/SchedulableProcessRunner.java index c94d25ba..52d580f1 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/schedulable/runner/SchedulableProcessRunner.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/scheduler/schedulable/runner/SchedulableProcessRunner.java @@ -74,7 +74,9 @@ public class SchedulableProcessRunner implements SchedulableRunner Map backendVariantData = null; if(params.containsKey("backendVariantData")) { - backendVariantData = (Map) params.get("backendVariantData"); + @SuppressWarnings("unchecked") + Map dataFromMap = (Map) params.get("backendVariantData"); + backendVariantData = dataFromMap; } Map processInputValues = buildProcessInputValuesMap(params, process); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/state/TempFileStateProvider.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/state/TempFileStateProvider.java index 7f091f1a..734b011e 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/state/TempFileStateProvider.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/state/TempFileStateProvider.java @@ -26,6 +26,7 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.Serializable; +import java.nio.charset.StandardCharsets; import java.nio.file.NoSuchFileException; import java.time.Instant; import java.util.Optional; @@ -78,7 +79,7 @@ public class TempFileStateProvider implements StateProviderInterface try { String json = JsonUtils.toJson(data); - FileUtils.writeStringToFile(getFile(key), json); + FileUtils.writeStringToFile(getFile(key), json, StandardCharsets.UTF_8); } catch(IOException e) { @@ -97,7 +98,7 @@ public class TempFileStateProvider implements StateProviderInterface { try { - String json = FileUtils.readFileToString(getFile(key)); + String json = FileUtils.readFileToString(getFile(key), StandardCharsets.UTF_8); return (Optional.of(JsonUtils.toObject(json, type))); } catch(FileNotFoundException | NoSuchFileException fnfe) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/CollectionUtils.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/CollectionUtils.java index 1e53c346..f3b3e6ee 100755 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/CollectionUtils.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/CollectionUtils.java @@ -50,7 +50,7 @@ public class CollectionUtils ** true if c is null or it's empty ** *******************************************************************************/ - public static boolean nullSafeIsEmpty(Collection c) + public static boolean nullSafeIsEmpty(Collection c) { if(c == null || c.isEmpty()) { @@ -66,7 +66,7 @@ public class CollectionUtils ** true if c is null or it's empty ** *******************************************************************************/ - public static boolean nullSafeIsEmpty(Map c) + public static boolean nullSafeIsEmpty(Map c) { if(c == null || c.isEmpty()) { @@ -82,7 +82,7 @@ public class CollectionUtils ** true if c is NOT null and it's not empty ** *******************************************************************************/ - public static boolean nullSafeHasContents(Collection c) + public static boolean nullSafeHasContents(Collection c) { return (!nullSafeIsEmpty(c)); } @@ -93,7 +93,7 @@ public class CollectionUtils ** true if c is NOT null and it's not empty ** *******************************************************************************/ - public static boolean nullSafeHasContents(Map c) + public static boolean nullSafeHasContents(Map c) { return (!nullSafeIsEmpty(c)); } @@ -104,7 +104,7 @@ public class CollectionUtils ** 0 if c is empty, otherwise, its size. ** *******************************************************************************/ - public static int nullSafeSize(Collection c) + public static int nullSafeSize(Collection c) { if(c == null) { @@ -120,7 +120,7 @@ public class CollectionUtils ** 0 if c is empty, otherwise, its size. ** *******************************************************************************/ - public static int nullSafeSize(Map c) + public static int nullSafeSize(Map c) { if(c == null) { @@ -302,14 +302,14 @@ public class CollectionUtils return (rs); } - List currentPage = new LinkedList(); + List currentPage = new LinkedList<>(); rs.add(currentPage); for(T value : values) { if(currentPage.size() >= pageSize) { - currentPage = new LinkedList(); + currentPage = new LinkedList<>(); rs.add(currentPage); } @@ -423,6 +423,7 @@ public class CollectionUtils ** ** Meant to help avoid null checks on foreach loops. *******************************************************************************/ + @SuppressWarnings("unchecked") public static T[] nonNullArray(T[] array) { if(array == null) @@ -539,7 +540,7 @@ public class CollectionUtils /******************************************************************************* ** *******************************************************************************/ - public static Map objectToMap(Object o) + public static Map objectToMap(Object o) { ObjectMapper mapper = new ObjectMapper() .registerModule(new JavaTimeModule()) @@ -555,6 +556,7 @@ public class CollectionUtils /******************************************************************************* ** *******************************************************************************/ + @SafeVarargs public static List mergeLists(List... lists) { List rs = new ArrayList<>(); @@ -593,6 +595,7 @@ public class CollectionUtils return (null); } + @SuppressWarnings("unchecked") Class targetClass = (Class) typeToken.getRawType(); if(targetClass.isInstance(collection)) { @@ -630,6 +633,7 @@ public class CollectionUtils return (null); } + @SuppressWarnings("unchecked") Class targetClass = (Class) typeToken.getRawType(); if(targetClass.isInstance(collection)) { diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/ObjectUtils.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/ObjectUtils.java index 0fa1566e..6c8161c0 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/ObjectUtils.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/ObjectUtils.java @@ -37,6 +37,7 @@ public class ObjectUtils /******************************************************************************* ** A varargs version of Objects.requireNonNullElse *******************************************************************************/ + @SafeVarargs public static T requireNonNullElse(T... objects) { if(objects == null) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/ValueUtils.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/ValueUtils.java index a2bd7bca..78a26d2a 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/ValueUtils.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/ValueUtils.java @@ -888,6 +888,7 @@ public class ValueUtils ** Return the first argument that isn't null. ** If all were null, return null. *******************************************************************************/ + @SafeVarargs public static T getFirstNonNull(T... ts) { if(ts == null || ts.length == 0) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/YamlUtils.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/YamlUtils.java index c52bf027..23004f8d 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/YamlUtils.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/YamlUtils.java @@ -48,7 +48,11 @@ public class YamlUtils { ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory()); objectMapper.findAndRegisterModules(); - return (objectMapper.readValue(yaml, Map.class)); + + @SuppressWarnings("unchecked") + Map map = objectMapper.readValue(yaml, Map.class); + + return map; } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/collections/AlphaNumericComparator.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/collections/AlphaNumericComparator.java index 2eb32327..31c2de6f 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/collections/AlphaNumericComparator.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/collections/AlphaNumericComparator.java @@ -86,7 +86,7 @@ public class AlphaNumericComparator implements Comparator //////////////////////////////////////////////////////////////// if(INT_PATTERN.matcher(a).matches() && INT_PATTERN.matcher(b).matches()) { - int intsCompared = new Integer(a).compareTo(new Integer(b)); + int intsCompared = Integer.valueOf(a).compareTo(Integer.valueOf(b)); if(intsCompared == TIE) { /////////////////////////////////////////////////////////////////////////////// @@ -119,7 +119,7 @@ public class AlphaNumericComparator implements Comparator ///////////////////////////////////////////////////////////// // if the ints compare as non-zero, return that comparison // ///////////////////////////////////////////////////////////// - int intPartCompared = new Integer(aIntPart).compareTo(new Integer(bIntPart)); + int intPartCompared = Integer.valueOf(aIntPart).compareTo(Integer.valueOf(bIntPart)); if(intPartCompared != TIE) { return (intPartCompared); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/collections/MultiLevelMapHelper.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/collections/MultiLevelMapHelper.java index d7667c2c..65b64c19 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/collections/MultiLevelMapHelper.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/collections/MultiLevelMapHelper.java @@ -87,7 +87,9 @@ public class MultiLevelMapHelper { try { - return (map.getClass().getConstructor().newInstance()); + @SuppressWarnings("unchecked") + Map map1 = map.getClass().getConstructor().newInstance(); + return map1; } catch(Exception e) { diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRendererTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRendererTest.java index c810c1b4..78a2c161 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRendererTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ChildRecordListRendererTest.java @@ -99,7 +99,7 @@ class ChildRecordListRendererTest extends BaseTest .getWidgetMetaData(); qInstance.addWidget(widget); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( new QRecord().withValue("id", 1) )); @@ -130,12 +130,12 @@ class ChildRecordListRendererTest extends BaseTest .getWidgetMetaData(); qInstance.addWidget(widget); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( new QRecord().withValue("id", 1), new QRecord().withValue("id", 2) )); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( new QRecord().withValue("orderId", 1).withValue("sku", "ABC").withValue("lineNumber", 2), new QRecord().withValue("orderId", 1).withValue("sku", "BCD").withValue("lineNumber", 1), new QRecord().withValue("orderId", 2).withValue("sku", "XYZ") // should not be found. diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ParentWidgetRendererTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ParentWidgetRendererTest.java index df668663..d203e010 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ParentWidgetRendererTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ParentWidgetRendererTest.java @@ -128,7 +128,7 @@ class ParentWidgetRendererTest extends BaseTest QContext.getQSession().withSecurityKeyValue(TestUtils.SECURITY_KEY_TYPE_STORE_ALL_ACCESS, true); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( new QRecord().withValue("id", 1) )); @@ -161,12 +161,12 @@ class ParentWidgetRendererTest extends BaseTest QContext.getQSession().withSecurityKeyValue(TestUtils.SECURITY_KEY_TYPE_STORE_ALL_ACCESS, true); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( new QRecord().withValue("id", 1), new QRecord().withValue("id", 2) )); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( new QRecord().withValue("orderId", 1).withValue("sku", "ABC").withValue("lineNumber", 2), new QRecord().withValue("orderId", 1).withValue("sku", "BCD").withValue("lineNumber", 1), new QRecord().withValue("orderId", 2).withValue("sku", "XYZ") // should not be found. diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ProcessWidgetRendererTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ProcessWidgetRendererTest.java index 23e33fb5..887e251f 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ProcessWidgetRendererTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/ProcessWidgetRendererTest.java @@ -109,7 +109,7 @@ class ProcessWidgetRendererTest extends BaseTest .getWidgetMetaData(); qInstance.addWidget(widget); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( new QRecord().withValue("id", 1) )); @@ -140,12 +140,12 @@ class ProcessWidgetRendererTest extends BaseTest .getWidgetMetaData(); qInstance.addWidget(widget); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( new QRecord().withValue("id", 1), new QRecord().withValue("id", 2) )); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( new QRecord().withValue("orderId", 1).withValue("sku", "ABC").withValue("lineNumber", 2), new QRecord().withValue("orderId", 1).withValue("sku", "BCD").withValue("lineNumber", 1), new QRecord().withValue("orderId", 2).withValue("sku", "XYZ") // should not be found. diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/USMapRendererTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/USMapRendererTest.java index 0c6f019d..3b23ff02 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/USMapRendererTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/dashboard/widgets/USMapRendererTest.java @@ -116,7 +116,7 @@ class USMapRendererTest extends BaseTest .getWidgetMetaData(); qInstance.addWidget(widget); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( new QRecord().withValue("id", 1) )); @@ -147,12 +147,12 @@ class USMapRendererTest extends BaseTest .getWidgetMetaData(); qInstance.addWidget(widget); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( new QRecord().withValue("id", 1), new QRecord().withValue("id", 2) )); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( new QRecord().withValue("orderId", 1).withValue("sku", "ABC").withValue("lineNumber", 2), new QRecord().withValue("orderId", 1).withValue("sku", "BCD").withValue("lineNumber", 1), new QRecord().withValue("orderId", 2).withValue("sku", "XYZ") // should not be found. diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/reporting/ExportActionTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/reporting/ExportActionTest.java index ff089474..bf9ed623 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/reporting/ExportActionTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/reporting/ExportActionTest.java @@ -155,12 +155,12 @@ class ExportActionTest extends BaseTest QInstance qInstance = QContext.getQInstance(); QContext.getQSession().withSecurityKeyValue(TestUtils.SECURITY_KEY_TYPE_STORE_ALL_ACCESS, true); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_ORDER), List.of( new QRecord().withValue("id", 1).withValue("orderNo", "ORD1").withValue("storeId", 1), new QRecord().withValue("id", 2).withValue("orderNo", "ORD2").withValue("storeId", 1) )); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_LINE_ITEM), List.of( new QRecord().withValue("id", 1).withValue("orderId", 1).withValue("sku", "A").withValue("quantity", 10), new QRecord().withValue("id", 2).withValue("orderId", 1).withValue("sku", "B").withValue("quantity", 15), new QRecord().withValue("id", 3).withValue("orderId", 2).withValue("sku", "A").withValue("quantity", 20) diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/reporting/GenerateReportActionTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/reporting/GenerateReportActionTest.java index 5f354631..1cf8404a 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/reporting/GenerateReportActionTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/reporting/GenerateReportActionTest.java @@ -562,7 +562,7 @@ public class GenerateReportActionTest extends BaseTest *******************************************************************************/ public static void insertPersonRecords(QInstance qInstance) throws QException { - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new PersonQRecord().withFirstName("Darin").withLastName("Jonson").withBirthDate(LocalDate.of(1980, Month.JANUARY, 31)).withNoOfShoes(null).withHomeStateId(1).withPrice(null).withCost(new BigDecimal("0.50")), // wrong last initial new PersonQRecord().withFirstName("Darin").withLastName("Jones").withBirthDate(LocalDate.of(1980, Month.JANUARY, 31)).withNoOfShoes(3).withHomeStateId(1).withPrice(new BigDecimal("1.00")).withCost(new BigDecimal("0.50")), // wrong last initial new PersonQRecord().withFirstName("Darin").withLastName("Kelly").withBirthDate(LocalDate.of(1979, Month.DECEMBER, 30)).withNoOfShoes(4).withHomeStateId(1).withPrice(new BigDecimal("1.20")).withCost(new BigDecimal("0.50")), // bad birthdate diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAdHocRecordScriptActionTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAdHocRecordScriptActionTest.java index 30f9098f..2cda5932 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAdHocRecordScriptActionTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAdHocRecordScriptActionTest.java @@ -120,12 +120,12 @@ class RunAdHocRecordScriptActionTest extends BaseTest new ScriptsMetaDataProvider().defineAll(instance, TestUtils.MEMORY_BACKEND_NAME, null); - TestUtils.insertRecords(instance, personMemory, List.of( + TestUtils.insertRecords(personMemory, List.of( new QRecord().withValue("id", 1), new QRecord().withValue("id", 2) )); - TestUtils.insertRecords(instance, instance.getTable("scriptType"), List.of( + TestUtils.insertRecords(instance.getTable("scriptType"), List.of( new QRecord().withValue("id", 1).withValue("name", "Test Script Type") )); } diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAssociatedScriptActionTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAssociatedScriptActionTest.java index bb1275b7..1e604b79 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAssociatedScriptActionTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/RunAssociatedScriptActionTest.java @@ -184,12 +184,12 @@ class RunAssociatedScriptActionTest extends BaseTest new ScriptsMetaDataProvider().defineAll(instance, TestUtils.MEMORY_BACKEND_NAME, null); - TestUtils.insertRecords(instance, table, List.of( + TestUtils.insertRecords(table, List.of( new QRecord().withValue("id", 1), new QRecord().withValue("id", 2) )); - TestUtils.insertRecords(instance, instance.getTable("scriptType"), List.of( + TestUtils.insertRecords(instance.getTable("scriptType"), List.of( new QRecord().withValue("id", 1).withValue("name", "Test Script Type") )); } diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/StoreAssociatedScriptActionTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/StoreAssociatedScriptActionTest.java index 8018d686..45b5a0e0 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/StoreAssociatedScriptActionTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/scripts/StoreAssociatedScriptActionTest.java @@ -88,13 +88,13 @@ class StoreAssociatedScriptActionTest extends BaseTest new ScriptsMetaDataProvider().defineAll(instance, TestUtils.MEMORY_BACKEND_NAME, null); - TestUtils.insertRecords(instance, table, List.of( + TestUtils.insertRecords(table, List.of( new QRecord().withValue("id", 1), new QRecord().withValue("id", 2), new QRecord().withValue("id", 3) )); - TestUtils.insertRecords(instance, instance.getTable("scriptType"), List.of( + TestUtils.insertRecords(instance.getTable("scriptType"), List.of( new QRecord().withValue("id", 1).withValue("name", "Test Script"), new QRecord().withValue("id", 2).withValue("name", "Other Script") )); diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/tables/helpers/GetActionCacheHelperTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/tables/helpers/GetActionCacheHelperTest.java index 3292a956..00fc0ba2 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/tables/helpers/GetActionCacheHelperTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/tables/helpers/GetActionCacheHelperTest.java @@ -69,7 +69,7 @@ class GetActionCacheHelperTest extends BaseTest ///////////////////////////////////// // insert rows in the source table // ///////////////////////////////////// - TestUtils.insertRecords(qInstance, qInstance.getTable(sourceTableName), List.of( + TestUtils.insertRecords(qInstance.getTable(sourceTableName), List.of( new QRecord().withValue("id", 1).withValue("firstName", "George").withValue("lastName", "Washington").withValue("noOfShoes", 5), new QRecord().withValue("id", 2).withValue("firstName", "John").withValue("lastName", "Adams"), new QRecord().withValue("id", 3).withValue("firstName", "Thomas").withValue("lastName", "Jefferson"), diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/tables/helpers/QueryActionCacheHelperTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/tables/helpers/QueryActionCacheHelperTest.java index b0f21491..8c6d2118 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/tables/helpers/QueryActionCacheHelperTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/tables/helpers/QueryActionCacheHelperTest.java @@ -68,7 +68,7 @@ class QueryActionCacheHelperTest extends BaseTest ///////////////////////////////////// // insert rows in the source table // ///////////////////////////////////// - TestUtils.insertRecords(qInstance, qInstance.getTable(sourceTableName), List.of( + TestUtils.insertRecords(qInstance.getTable(sourceTableName), List.of( new QRecord().withValue("id", 1).withValue("name", "Triangle").withValue("noOfSides", 3), new QRecord().withValue("id", 2).withValue("name", "Square").withValue("noOfSides", 4), new QRecord().withValue("id", 3).withValue("name", "Pentagon").withValue("noOfSides", 5), diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/values/QPossibleValueTranslatorTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/values/QPossibleValueTranslatorTest.java index 5313df6b..423583b7 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/values/QPossibleValueTranslatorTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/actions/values/QPossibleValueTranslatorTest.java @@ -415,8 +415,8 @@ public class QPossibleValueTranslatorTest extends BaseTest List regions = List.of(new QRecord().withValue("id", 11).withValue("name", "Missouri").withValue("countryId", 111)); List countries = List.of(new QRecord().withValue("id", 111).withValue("name", "U.S.A")); - TestUtils.insertRecords(qInstance, qInstance.getTable("region"), regions); - TestUtils.insertRecords(qInstance, qInstance.getTable("country"), countries); + TestUtils.insertRecords(qInstance.getTable("region"), regions); + TestUtils.insertRecords(qInstance.getTable("country"), countries); MemoryRecordStore.resetStatistics(); MemoryRecordStore.setCollectStatistics(true); diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/adapters/QInstanceAdapterTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/adapters/QInstanceAdapterTest.java index 986caf18..ebcdffd7 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/adapters/QInstanceAdapterTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/adapters/QInstanceAdapterTest.java @@ -24,6 +24,7 @@ package com.kingsrook.qqq.backend.core.adapters; import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import com.kingsrook.qqq.backend.core.BaseTest; import com.kingsrook.qqq.backend.core.context.QContext; import com.kingsrook.qqq.backend.core.model.metadata.QInstance; @@ -73,7 +74,7 @@ class QInstanceAdapterTest extends BaseTest @Disabled("Pending custom deserializer on QStepMetaData") void jsonToQInstance() throws IOException { - String json = FileUtils.readFileToString(new File("src/test/resources/personQInstance.json")); + String json = FileUtils.readFileToString(new File("src/test/resources/personQInstance.json"), StandardCharsets.UTF_8); QInstance qInstance = new QInstanceAdapter().jsonToQInstance(json); System.out.println(qInstance); } @@ -87,7 +88,7 @@ class QInstanceAdapterTest extends BaseTest @Disabled("Pending custom deserializer on QStepMetaData") void jsonToQInstanceIncludingBackend() throws IOException { - String json = FileUtils.readFileToString(new File("src/test/resources/personQInstanceIncludingBackend.json")); + String json = FileUtils.readFileToString(new File("src/test/resources/personQInstanceIncludingBackend.json"), StandardCharsets.UTF_8); QInstance qInstance = new QInstanceAdapter().jsonToQInstanceIncludingBackends(json); System.out.println(qInstance); assertNotNull(qInstance.getBackends()); diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/authentication/implementations/TableBasedAuthenticationModuleTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/authentication/implementations/TableBasedAuthenticationModuleTest.java index 032ca77a..7859259f 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/authentication/implementations/TableBasedAuthenticationModuleTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/modules/authentication/implementations/TableBasedAuthenticationModuleTest.java @@ -337,7 +337,7 @@ public class TableBasedAuthenticationModuleTest extends BaseTest { QAuthenticationMetaData tableBasedAuthentication = qInstance.getAuthentication(); qInstance.setAuthentication(new Auth0AuthenticationMetaData().withName("mock").withType(QAuthenticationType.MOCK)); - TestUtils.insertRecords(qInstance, qInstance.getTable("user"), List.of(new QRecord() + TestUtils.insertRecords(qInstance.getTable("user"), List.of(new QRecord() .withValue("username", username) .withValue("fullName", fullName) .withValue("passwordHash", TableBasedAuthenticationModule.PasswordHasher.createHashedPassword(password)))); @@ -361,7 +361,7 @@ public class TableBasedAuthenticationModuleTest extends BaseTest getUserInput.setUniqueKey(Map.of("username", username)); GetOutput getUserOutput = new GetAction().execute(getUserInput); - TestUtils.insertRecords(qInstance, qInstance.getTable("session"), List.of(new QRecord() + TestUtils.insertRecords(qInstance.getTable("session"), List.of(new QRecord() .withValue("id", uuid) .withValue("userId", getUserOutput.getRecord() == null ? -1 : getUserOutput.getRecord().getValueInteger("id")) .withValue("accessTimestamp", accessTimestamp) diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/delete/BulkDeleteTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/delete/BulkDeleteTest.java index 91a0041b..48d58311 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/delete/BulkDeleteTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/delete/BulkDeleteTest.java @@ -74,7 +74,7 @@ class BulkDeleteTest extends BaseTest // insert some test records // ////////////////////////////// QInstance qInstance = QContext.getQInstance(); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("firstName", "Darin").withValue("lastName", "Kelkhoff").withValue("email", "darin.kelkhoff@kingsrook.com"), new QRecord().withValue("id", 2).withValue("firstName", "Tim").withValue("lastName", "Chamberlain").withValue("email", "tim.chamberlain@kingsrook.com"), new QRecord().withValue("id", 3).withValue("firstName", "James").withValue("lastName", "Maes").withValue("email", "james.maes@kingsrook.com") diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/edit/BulkEditTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/edit/BulkEditTest.java index f8133223..caad64c6 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/edit/BulkEditTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/edit/BulkEditTest.java @@ -85,7 +85,7 @@ class BulkEditTest extends BaseTest // insert some test records // ////////////////////////////// QInstance qInstance = QContext.getQInstance(); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("firstName", "Darin").withValue("lastName", "Kelkhoff").withValue("email", "darin.kelkhoff@kingsrook.com"), new QRecord().withValue("id", 2).withValue("firstName", "Tim").withValue("lastName", "Chamberlain").withValue("email", "tim.chamberlain@kingsrook.com"), new QRecord().withValue("id", 3).withValue("firstName", "James").withValue("lastName", "Maes").withValue("email", "james.maes@kingsrook.com") diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/BulkInsertTransformStepTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/BulkInsertTransformStepTest.java index e93990a1..87a65f22 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/BulkInsertTransformStepTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/bulk/insert/BulkInsertTransformStepTest.java @@ -86,7 +86,7 @@ class BulkInsertTransformStepTest extends BaseTest //////////////////////////////////////////////////////////// // insert some records that will cause some UK violations // //////////////////////////////////////////////////////////// - TestUtils.insertRecords(instance, table, List.of( + TestUtils.insertRecords(table, List.of( newQRecord("uuid-A", "SKU-1", 1), newQRecord("uuid-B", "SKU-2", 1), newQRecord("uuid-C", "SKU-2", 2) @@ -168,7 +168,7 @@ class BulkInsertTransformStepTest extends BaseTest //////////////////////////////////////////////////////////// // insert some records that will cause some UK violations // //////////////////////////////////////////////////////////// - TestUtils.insertRecords(instance, table, List.of( + TestUtils.insertRecords(table, List.of( newQRecord("uuid-A", "SKU-1", 1), newQRecord("uuid-B", "SKU-2", 1), newQRecord("uuid-C", "SKU-2", 2) diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/LoadViaInsertOrUpdateStepTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/LoadViaInsertOrUpdateStepTest.java index 421a3cb6..0f3a6ca3 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/LoadViaInsertOrUpdateStepTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/LoadViaInsertOrUpdateStepTest.java @@ -66,7 +66,7 @@ class LoadViaInsertOrUpdateStepTest extends BaseTest List existingRecordList = List.of( new QRecord().withValue("id", 47).withValue("firstName", "Tom") ); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), existingRecordList); + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), existingRecordList); List inputRecordList = List.of( new QRecord().withValue("id", 47).withValue("firstName", "Tim"), diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/StreamedETLWithFrontendProcessTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/StreamedETLWithFrontendProcessTest.java index 0eeb5429..e605fbb1 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/StreamedETLWithFrontendProcessTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/StreamedETLWithFrontendProcessTest.java @@ -307,6 +307,7 @@ public class StreamedETLWithFrontendProcessTest extends BaseTest assertTrue(runProcessOutput.getException().isEmpty()); assertThat(runProcessOutput.getProcessState().getNextStepName()).hasValue("review"); + @SuppressWarnings("unchecked") List validationSummaryLines = (List) runProcessOutput.getValues().get(StreamedETLWithFrontendProcess.FIELD_VALIDATION_SUMMARY); assertThat(validationSummaryLines) .usingRecursiveFieldByFieldElementComparatorOnFields("status", "count") diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/mergeduplicates/MergeDuplicatesProcessTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/mergeduplicates/MergeDuplicatesProcessTest.java index 3ea9be62..c2a9536f 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/mergeduplicates/MergeDuplicatesProcessTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/mergeduplicates/MergeDuplicatesProcessTest.java @@ -61,7 +61,7 @@ class MergeDuplicatesProcessTest extends BaseTest QInstance qInstance = QContext.getQInstance(); addProcessToInstance(); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("firstName", "Darin").withValue("noOfShoes", 1).withValue("favoriteShapeId", 11), new QRecord().withValue("id", 2).withValue("firstName", "Tim").withValue("noOfShoes", 2).withValue("favoriteShapeId", 12), new QRecord().withValue("id", 3).withValue("firstName", "Tyler").withValue("noOfShoes", 1).withValue("favoriteShapeId", 13), @@ -71,7 +71,7 @@ class MergeDuplicatesProcessTest extends BaseTest new QRecord().withValue("id", 7).withValue("firstName", "James").withValue("noOfShoes", 1).withValue("favoriteShapeId", 17) )); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_SHAPE), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_SHAPE), List.of( new QRecord().withValue("id", 11).withValue("favoredByNoOfPeople", 1), new QRecord().withValue("id", 12).withValue("favoredByNoOfPeople", 1), new QRecord().withValue("id", 13).withValue("favoredByNoOfPeople", 1), diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/savedviews/SavedViewProcessTests.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/savedviews/SavedViewProcessTests.java index f4474bef..272650d1 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/savedviews/SavedViewProcessTests.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/savedviews/SavedViewProcessTests.java @@ -53,6 +53,7 @@ class SavedViewProcessTests extends BaseTest /******************************************************************************* ** *******************************************************************************/ + @SuppressWarnings("unchecked") @Test void test() throws QException { diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/LoadScriptTestDetailsProcessStepTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/LoadScriptTestDetailsProcessStepTest.java index 9e1be9bd..3618f42d 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/LoadScriptTestDetailsProcessStepTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/LoadScriptTestDetailsProcessStepTest.java @@ -73,6 +73,7 @@ class LoadScriptTestDetailsProcessStepTest extends BaseTest Serializable inputFields = output.getValue("testInputFields"); assertThat(inputFields).isInstanceOf(List.class); + @SuppressWarnings("unchecked") List inputFieldsList = (List) inputFields; assertEquals(1, inputFieldsList.size()); assertEquals("recordPrimaryKeyList", inputFieldsList.get(0).getName()); diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/RunRecordScriptTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/RunRecordScriptTest.java index f2432636..1f66ce22 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/RunRecordScriptTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/RunRecordScriptTest.java @@ -56,8 +56,8 @@ class RunRecordScriptTest extends BaseTest QInstance qInstance = QContext.getQInstance(); new ScriptsMetaDataProvider().defineAll(qInstance, TestUtils.MEMORY_BACKEND_NAME, null); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of(new QRecord().withValue("id", 1))); - TestUtils.insertRecords(qInstance, qInstance.getTable(Script.TABLE_NAME), List.of(new QRecord().withValue("id", 1).withTableName(TestUtils.TABLE_NAME_PERSON_MEMORY))); + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of(new QRecord().withValue("id", 1))); + TestUtils.insertRecords(qInstance.getTable(Script.TABLE_NAME), List.of(new QRecord().withValue("id", 1).withTableName(TestUtils.TABLE_NAME_PERSON_MEMORY))); RunProcessInput runProcessInput = new RunProcessInput(); runProcessInput.setProcessName(ScriptsMetaDataProvider.RUN_RECORD_SCRIPT_PROCESS_NAME); @@ -73,8 +73,10 @@ class RunRecordScriptTest extends BaseTest // still good to run the code and at least get this far w/ an expected exception. // /////////////////////////////////////////////////////////////////////////////////////////////////// RunProcessOutput runProcessOutput = new RunProcessAction().execute(runProcessInput); - System.out.println(runProcessOutput); - assertTrue(((List) runProcessOutput.getValues().get("processResults")).stream().anyMatch(psli -> psli instanceof ProcessSummaryLine psl && psl.getMessage().contains("error that was not logged"))); + + @SuppressWarnings("unchecked") + List processResults = (List) runProcessOutput.getValues().get("processResults"); + assertTrue(processResults.stream().anyMatch(psli -> psli instanceof ProcessSummaryLine psl && psl.getMessage().contains("error that was not logged"))); } } \ No newline at end of file diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/StoreScriptRevisionProcessStepTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/StoreScriptRevisionProcessStepTest.java index 524727b7..b6bfdd1b 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/StoreScriptRevisionProcessStepTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/scripts/StoreScriptRevisionProcessStepTest.java @@ -61,7 +61,7 @@ class StoreScriptRevisionProcessStepTest extends BaseTest Integer scriptId = 1701; String scriptContents = "logger.log('Hi');"; - TestUtils.insertRecords(qInstance, qInstance.getTable(Script.TABLE_NAME), List.of(new QRecord().withValue("id", scriptId))); + TestUtils.insertRecords(qInstance.getTable(Script.TABLE_NAME), List.of(new QRecord().withValue("id", scriptId))); List scripts = TestUtils.queryTable(Script.TABLE_NAME); assertNull(scripts.get(0).getValueInteger("currentScriptRevisionId")); @@ -121,7 +121,7 @@ class StoreScriptRevisionProcessStepTest extends BaseTest String scriptContents = "logger.log('Hi');"; String templateContents = "

Hey

"; - TestUtils.insertRecords(qInstance, qInstance.getTable(Script.TABLE_NAME), List.of(new QRecord().withValue("id", scriptId))); + TestUtils.insertRecords(qInstance.getTable(Script.TABLE_NAME), List.of(new QRecord().withValue("id", scriptId))); List scripts = TestUtils.queryTable(Script.TABLE_NAME); assertNull(scripts.get(0).getValueInteger("currentScriptRevisionId")); diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/sharing/GetSharedRecordsProcessTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/sharing/GetSharedRecordsProcessTest.java index d00e1898..4e1ddfbc 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/sharing/GetSharedRecordsProcessTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/sharing/GetSharedRecordsProcessTest.java @@ -84,6 +84,7 @@ class GetSharedRecordsProcessTest extends BaseTest input.addValue("recordId", 1); processStep.run(input, output); + @SuppressWarnings("unchecked") List resultList = (List) output.getValue("resultList"); assertEquals(1, resultList.size()); diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/TableSyncProcessTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/TableSyncProcessTest.java index 220b5cc5..45eaebf9 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/TableSyncProcessTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/TableSyncProcessTest.java @@ -116,7 +116,7 @@ class TableSyncProcessTest extends BaseTest .withFields(personTable.getFields()) .withField(new QFieldMetaData("sourcePersonId", QFieldType.INTEGER))); - TestUtils.insertRecords(qInstance, qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(qInstance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("firstName", "Darin"), new QRecord().withValue("id", 2).withValue("firstName", "Tim"), new QRecord().withValue("id", 3).withValue("firstName", "Tyler"), @@ -124,7 +124,7 @@ class TableSyncProcessTest extends BaseTest new QRecord().withValue("id", 5).withValue("firstName", "Homer") )); - TestUtils.insertRecords(qInstance, qInstance.getTable(TABLE_NAME_PEOPLE_SYNC), List.of( + TestUtils.insertRecords(qInstance.getTable(TABLE_NAME_PEOPLE_SYNC), List.of( new QRecord().withValue("sourcePersonId", 3).withValue("firstName", "Garret"), new QRecord().withValue("sourcePersonId", 5).withValue("firstName", "Homer") )); diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/utils/GeneralProcessUtilsTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/utils/GeneralProcessUtilsTest.java index aad2d4ca..bfa0868e 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/utils/GeneralProcessUtilsTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/processes/utils/GeneralProcessUtilsTest.java @@ -80,7 +80,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("favoriteShapeId", 3), new QRecord().withValue("favoriteShapeId", 1) )); @@ -107,7 +107,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("favoriteShapeId", 3), new QRecord().withValue("favoriteShapeId", 1) )); @@ -134,7 +134,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("favoriteShapeId", 3), new QRecord().withValue("id", 2).withValue("favoriteShapeId", 3), new QRecord().withValue("id", 3).withValue("favoriteShapeId", 1) @@ -166,7 +166,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("favoriteShapeId", 3), new QRecord().withValue("favoriteShapeId", 1) )); @@ -194,7 +194,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("favoriteShapeId", 3), new QRecord().withValue("id", 2).withValue("favoriteShapeId", 3), new QRecord().withValue("id", 3).withValue("favoriteShapeId", 1) @@ -239,7 +239,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("favoriteShapeId", 3), new QRecord().withValue("id", 2).withValue("favoriteShapeId", 3), new QRecord().withValue("id", 3).withValue("favoriteShapeId", 1) @@ -263,7 +263,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("firstName", "Darin"), new QRecord().withValue("id", 2).withValue("firstName", "James"), new QRecord().withValue("id", 3).withValue("firstName", "Tim") @@ -288,7 +288,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("firstName", "Darin"), new QRecord().withValue("id", 2).withValue("firstName", "James"), new QRecord().withValue("id", 3).withValue("firstName", "Tim") @@ -309,7 +309,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("firstName", "Darin"), new QRecord().withValue("id", 2).withValue("firstName", "James"), new QRecord().withValue("id", 3).withValue("firstName", "Tim") @@ -342,7 +342,7 @@ class GeneralProcessUtilsTest extends BaseTest { QInstance instance = QContext.getQInstance(); - TestUtils.insertRecords(instance, instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( + TestUtils.insertRecords(instance.getTable(TestUtils.TABLE_NAME_PERSON_MEMORY), List.of( new QRecord().withValue("id", 1).withValue("firstName", "Darin").withValue("lastName", "Kelkhoff"), new QRecord().withValue("id", 2).withValue("firstName", "James").withValue("lastName", "Maes"), new QRecord().withValue("id", 3).withValue("firstName", "James").withValue("lastName", "Brown") diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/CollectionUtilsTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/CollectionUtilsTest.java index 62c0573e..e6de12b3 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/CollectionUtilsTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/CollectionUtilsTest.java @@ -557,6 +557,7 @@ class CollectionUtilsTest extends BaseTest /******************************************************************************* ** *******************************************************************************/ + @SuppressWarnings("unchecked") @Test void testUseOrWrap() { diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/ObjectUtilsTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/ObjectUtilsTest.java index 08a308e6..5d21ae0d 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/ObjectUtilsTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/ObjectUtilsTest.java @@ -39,11 +39,11 @@ class ObjectUtilsTest /******************************************************************************* ** *******************************************************************************/ - @SuppressWarnings({ "DataFlowIssue", "ConfusingArgumentToVarargsMethod" }) @Test void testRequireNonNullElse() { - assertThatThrownBy(() -> ObjectUtils.requireNonNullElse(null)).isInstanceOf(NullPointerException.class); + Object nullObject = null; + assertThatThrownBy(() -> ObjectUtils.requireNonNullElse(nullObject)).isInstanceOf(NullPointerException.class); assertThatThrownBy(() -> ObjectUtils.requireNonNullElse(null, null)).isInstanceOf(NullPointerException.class); assertThatThrownBy(() -> ObjectUtils.requireNonNullElse(null, null, null)).isInstanceOf(NullPointerException.class); assertEquals("a", ObjectUtils.requireNonNullElse("a", "b")); diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/TestUtils.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/TestUtils.java index da654f3d..ff274dc9 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/TestUtils.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/TestUtils.java @@ -357,17 +357,6 @@ public class TestUtils - /******************************************************************************* - ** - *******************************************************************************/ - @Deprecated(since = "better to call the one without qInstance param") - public static void insertRecords(QInstance qInstance, QTableMetaData table, List records) throws QException - { - insertRecords(table, records); - } - - - /******************************************************************************* ** *******************************************************************************/ diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/ValueUtilsTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/ValueUtilsTest.java index a28c0482..a726eca3 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/ValueUtilsTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/ValueUtilsTest.java @@ -303,9 +303,16 @@ class ValueUtilsTest extends BaseTest assertEquals(3, ValueUtils.getFirstNonNull(null, null, 3)); assertNull(ValueUtils.getFirstNonNull()); - assertNull(ValueUtils.getFirstNonNull(new Object[] { })); - assertNull(ValueUtils.getFirstNonNull(null)); - assertNull(ValueUtils.getFirstNonNull(null, null)); + + Object[] emptyArray = { }; + assertNull(ValueUtils.getFirstNonNull(emptyArray)); + + Object nullObject = null; + assertNull(ValueUtils.getFirstNonNull(nullObject)); + assertNull(ValueUtils.getFirstNonNull(null, nullObject)); + assertNull(ValueUtils.getFirstNonNull(nullObject, null)); + assertNull(ValueUtils.getFirstNonNull(nullObject, nullObject)); + assertNull(ValueUtils.getFirstNonNull(nullObject, nullObject, nullObject)); } diff --git a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java index 57cef42d..00b31626 100644 --- a/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java +++ b/qqq-backend-module-api/src/main/java/com/kingsrook/qqq/backend/module/api/actions/BaseAPIActionUtil.java @@ -1212,7 +1212,7 @@ public class BaseAPIActionUtil { try { - requestBody = StringUtils.join("\n", IOUtils.readLines(entityRequest.getEntity().getContent())); + requestBody = StringUtils.join("\n", IOUtils.readLines(entityRequest.getEntity().getContent(), StandardCharsets.UTF_8)); } catch(Exception e) { diff --git a/qqq-backend-module-api/src/test/java/com/kingsrook/qqq/backend/module/api/mocks/MockApiUtilsHelper.java b/qqq-backend-module-api/src/test/java/com/kingsrook/qqq/backend/module/api/mocks/MockApiUtilsHelper.java index 314eed51..050b9c55 100644 --- a/qqq-backend-module-api/src/test/java/com/kingsrook/qqq/backend/module/api/mocks/MockApiUtilsHelper.java +++ b/qqq-backend-module-api/src/test/java/com/kingsrook/qqq/backend/module/api/mocks/MockApiUtilsHelper.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.module.api.mocks; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.ArrayDeque; import java.util.Deque; import com.kingsrook.qqq.backend.core.exceptions.QException; @@ -221,6 +222,6 @@ public class MockApiUtilsHelper @SuppressWarnings("unchecked") public static String readRequestBody(HttpRequestBase request) throws IOException { - return (StringUtils.join("\n", IOUtils.readLines(((HttpEntityEnclosingRequestBase) request).getEntity().getContent()))); + return (StringUtils.join("\n", IOUtils.readLines(((HttpEntityEnclosingRequestBase) request).getEntity().getContent(), StandardCharsets.UTF_8))); } } diff --git a/qqq-backend-module-api/src/test/java/com/kingsrook/qqq/backend/module/api/mocks/MockHttpResponse.java b/qqq-backend-module-api/src/test/java/com/kingsrook/qqq/backend/module/api/mocks/MockHttpResponse.java index dbc61f69..9c32efd2 100644 --- a/qqq-backend-module-api/src/test/java/com/kingsrook/qqq/backend/module/api/mocks/MockHttpResponse.java +++ b/qqq-backend-module-api/src/test/java/com/kingsrook/qqq/backend/module/api/mocks/MockHttpResponse.java @@ -287,6 +287,7 @@ public class MockHttpResponse implements CloseableHttpResponse @Override + @SuppressWarnings("deprecation") public HttpParams getParams() { return null; @@ -295,6 +296,7 @@ public class MockHttpResponse implements CloseableHttpResponse @Override + @SuppressWarnings("deprecation") public void setParams(HttpParams httpParams) { diff --git a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/base/actions/AbstractBaseFilesystemAction.java b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/base/actions/AbstractBaseFilesystemAction.java index c010dad9..fdf343c6 100644 --- a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/base/actions/AbstractBaseFilesystemAction.java +++ b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/base/actions/AbstractBaseFilesystemAction.java @@ -25,6 +25,7 @@ package com.kingsrook.qqq.backend.module.filesystem.base.actions; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -222,7 +223,7 @@ public abstract class AbstractBaseFilesystemAction { case CSV: { - String fileContents = IOUtils.toString(inputStream); + String fileContents = IOUtils.toString(inputStream, StandardCharsets.UTF_8); fileContents = customizeFileContentsAfterReading(table, fileContents); if(queryInput.getRecordPipe() != null) @@ -245,7 +246,7 @@ public abstract class AbstractBaseFilesystemAction } case JSON: { - String fileContents = IOUtils.toString(inputStream); + String fileContents = IOUtils.toString(inputStream, StandardCharsets.UTF_8); fileContents = customizeFileContentsAfterReading(table, fileContents); // todo - pipe support!! diff --git a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/etl/basic/BasicETLCleanupSourceFilesStep.java b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/etl/basic/BasicETLCleanupSourceFilesStep.java index 0762dd75..68a319ca 100644 --- a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/etl/basic/BasicETLCleanupSourceFilesStep.java +++ b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/etl/basic/BasicETLCleanupSourceFilesStep.java @@ -129,7 +129,7 @@ public class BasicETLCleanupSourceFilesStep implements BackendStep .withName(this.getClass().getName()) .withCodeType(QCodeType.JAVA)) .withInputData(new QFunctionInputMetaData() - .addField(new QFieldMetaData("moveOrDelete", QFieldType.STRING)) - .addField(new QFieldMetaData("destinationForMoves", QFieldType.STRING)))); + .withField(new QFieldMetaData("moveOrDelete", QFieldType.STRING)) + .withField(new QFieldMetaData("destinationForMoves", QFieldType.STRING)))); } } diff --git a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/filesystem/sync/FilesystemSyncProcess.java b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/filesystem/sync/FilesystemSyncProcess.java index ba01a434..8339a973 100644 --- a/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/filesystem/sync/FilesystemSyncProcess.java +++ b/qqq-backend-module-filesystem/src/main/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/filesystem/sync/FilesystemSyncProcess.java @@ -69,10 +69,10 @@ public class FilesystemSyncProcess .withName(FilesystemSyncStep.class.getName()) .withCodeType(QCodeType.JAVA)) .withInputData(new QFunctionInputMetaData() - .addField(new QFieldMetaData(FIELD_SOURCE_TABLE, QFieldType.STRING)) - .addField(new QFieldMetaData(FIELD_ARCHIVE_TABLE, QFieldType.STRING)) - .addField(new QFieldMetaData(FIELD_MAX_FILES_TO_ARCHIVE, QFieldType.INTEGER).withDefaultValue(Integer.MAX_VALUE)) - .addField(new QFieldMetaData(FIELD_PROCESSING_TABLE, QFieldType.STRING))); + .withField(new QFieldMetaData(FIELD_SOURCE_TABLE, QFieldType.STRING)) + .withField(new QFieldMetaData(FIELD_ARCHIVE_TABLE, QFieldType.STRING)) + .withField(new QFieldMetaData(FIELD_MAX_FILES_TO_ARCHIVE, QFieldType.INTEGER).withDefaultValue(Integer.MAX_VALUE)) + .withField(new QFieldMetaData(FIELD_PROCESSING_TABLE, QFieldType.STRING))); return new QProcessMetaData() .withName(PROCESS_NAME) diff --git a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/local/actions/FilesystemActionTest.java b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/local/actions/FilesystemActionTest.java index 243f56c6..b81f94ef 100644 --- a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/local/actions/FilesystemActionTest.java +++ b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/local/actions/FilesystemActionTest.java @@ -24,6 +24,7 @@ package com.kingsrook.qqq.backend.module.filesystem.local.actions; import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import com.kingsrook.qqq.backend.core.context.QContext; import com.kingsrook.qqq.backend.core.model.session.QSession; import com.kingsrook.qqq.backend.core.utils.StringUtils; @@ -115,14 +116,14 @@ public class FilesystemActionTest extends BaseTest {"id":2,"createDate":"2022-06-17 14:52:59","modifyDate":"2022-06-17 14:52:59","firstName":"Jane","lastName":"Smith","birthDate":"1982-02-02","email":"jane@kingsrook.com"} ] """; - FileUtils.writeStringToFile(new File(fullPath + "DATA-1.json"), jsonData1); + FileUtils.writeStringToFile(new File(fullPath + "DATA-1.json"), jsonData1, StandardCharsets.UTF_8); String jsonData2 = """ [ {"id":3,"createDate":"2021-11-27 15:40:38","modifyDate":"2021-11-27 15:40:38","firstName":"Homer","lastName":"S","birthDate":"1983-03-03","email":"homer.s@kingsrook.com"} ] """; - FileUtils.writeStringToFile(new File(fullPath + "DATA-2.json"), jsonData2); + FileUtils.writeStringToFile(new File(fullPath + "DATA-2.json"), jsonData2, StandardCharsets.UTF_8); } @@ -147,14 +148,14 @@ public class FilesystemActionTest extends BaseTest "1","2021-10-26 14:39:37","2021-10-26 14:39:37","John","Doe","1981-01-01","john@kingsrook.com" "2","2022-06-17 14:52:59","2022-06-17 14:52:59","Jane","Smith","1982-02-02","jane@kingsrook.com" """; - FileUtils.writeStringToFile(new File(fullPath + "FILE-1.csv"), csvData1); + FileUtils.writeStringToFile(new File(fullPath + "FILE-1.csv"), csvData1, StandardCharsets.UTF_8); String csvData2 = """ "id","createDate","modifyDate","firstName","lastName","birthDate","email" "3","2021-11-27 15:40:38","2021-11-27 15:40:38","Homer","S","1983-03-03","homer.s@kingsrook.com" "4","2022-07-18 15:53:00","2022-07-18 15:53:00","Marge","S","1984-04-04","marge.s@kingsrook.com" "5","2022-11-11 12:00:00","2022-11-12 13:00:00","Bart","S","1985-05-05","bart.s@kingsrook.com\""""; // intentionally no \n at EOL here - FileUtils.writeStringToFile(new File(fullPath + "FILE-2.csv"), csvData2); + FileUtils.writeStringToFile(new File(fullPath + "FILE-2.csv"), csvData2, StandardCharsets.UTF_8); } @@ -177,15 +178,15 @@ public class FilesystemActionTest extends BaseTest String data1 = """ Hello, Blob """; - FileUtils.writeStringToFile(new File(fullPath + "BLOB-1.txt"), data1); + FileUtils.writeStringToFile(new File(fullPath + "BLOB-1.txt"), data1, StandardCharsets.UTF_8); String data2 = """ Hi Bob"""; - FileUtils.writeStringToFile(new File(fullPath + "BLOB-2.txt"), data2); + FileUtils.writeStringToFile(new File(fullPath + "BLOB-2.txt"), data2, StandardCharsets.UTF_8); String data3 = """ # Hi MD..."""; - FileUtils.writeStringToFile(new File(fullPath + "BLOB-3.md"), data3); + FileUtils.writeStringToFile(new File(fullPath + "BLOB-3.md"), data3, StandardCharsets.UTF_8); } diff --git a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/local/actions/FilesystemInsertActionTest.java b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/local/actions/FilesystemInsertActionTest.java index 864f8757..f1f9b9cc 100644 --- a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/local/actions/FilesystemInsertActionTest.java +++ b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/local/actions/FilesystemInsertActionTest.java @@ -24,6 +24,7 @@ package com.kingsrook.qqq.backend.module.filesystem.local.actions; import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.List; import com.kingsrook.qqq.backend.core.actions.tables.InsertAction; import com.kingsrook.qqq.backend.core.exceptions.QException; @@ -64,7 +65,7 @@ public class FilesystemInsertActionTest extends FilesystemActionTest .allMatch(record -> record.getBackendDetailString(FilesystemRecordBackendDetailFields.FULL_PATH).contains(TestUtils.BASE_PATH)) .allMatch(record -> record.getBackendDetailString(FilesystemRecordBackendDetailFields.FULL_PATH).contains("blobs")); - assertEquals("Hello, World", FileUtils.readFileToString(new File(insertOutput.getRecords().get(0).getBackendDetailString(FilesystemRecordBackendDetailFields.FULL_PATH)))); + assertEquals("Hello, World", FileUtils.readFileToString(new File(insertOutput.getRecords().get(0).getBackendDetailString(FilesystemRecordBackendDetailFields.FULL_PATH)), StandardCharsets.UTF_8)); } diff --git a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/etl/basic/BasicETLCleanupSourceFilesStepTest.java b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/etl/basic/BasicETLCleanupSourceFilesStepTest.java index 98b87e49..3bd46582 100644 --- a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/etl/basic/BasicETLCleanupSourceFilesStepTest.java +++ b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/etl/basic/BasicETLCleanupSourceFilesStepTest.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.module.filesystem.processes.implementations.et import java.io.File; +import java.nio.charset.StandardCharsets; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -189,7 +190,7 @@ public class BasicETLCleanupSourceFilesStepTest extends BaseTest for(String filePath : filePathsSet) { File file = new File(filePath); - FileUtils.writeStringToFile(file, "content"); + FileUtils.writeStringToFile(file, "content", StandardCharsets.UTF_8); } // List records = filePaths.stream() diff --git a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/filesystem/sync/FilesystemSyncProcessTest.java b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/filesystem/sync/FilesystemSyncProcessTest.java index 0f38e654..ef71e424 100644 --- a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/filesystem/sync/FilesystemSyncProcessTest.java +++ b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/processes/implementations/filesystem/sync/FilesystemSyncProcessTest.java @@ -24,6 +24,7 @@ package com.kingsrook.qqq.backend.module.filesystem.processes.implementations.fi import java.io.File; import java.io.IOException; +import java.nio.charset.StandardCharsets; import com.kingsrook.qqq.backend.core.actions.processes.RunBackendStepAction; import com.kingsrook.qqq.backend.core.model.actions.processes.RunBackendStepInput; import com.kingsrook.qqq.backend.core.model.actions.processes.RunBackendStepOutput; @@ -105,7 +106,7 @@ class FilesystemSyncProcessTest extends BaseTest { String path = ((FilesystemTableBackendDetails) table.getBackendDetails()).getBasePath(); File file = new File(basePath + "/" + path + "/" + name); - FileUtils.writeStringToFile(file, content); + FileUtils.writeStringToFile(file, content, StandardCharsets.UTF_8); } diff --git a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/s3/actions/S3InsertActionTest.java b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/s3/actions/S3InsertActionTest.java index ff45ff9a..63a6723a 100644 --- a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/s3/actions/S3InsertActionTest.java +++ b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/s3/actions/S3InsertActionTest.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.module.filesystem.s3.actions; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.List; import com.amazonaws.services.s3.model.S3Object; import com.kingsrook.qqq.backend.core.exceptions.QException; @@ -68,9 +69,9 @@ public class S3InsertActionTest extends BaseS3Test assertThat(insertOutput.getRecords()) .allMatch(record -> record.getBackendDetailString(FilesystemRecordBackendDetailFields.FULL_PATH).contains("blobs")); - String fullPath = insertOutput.getRecords().get(0).getBackendDetailString(FilesystemRecordBackendDetailFields.FULL_PATH); - S3Object object = getAmazonS3().getObject(BUCKET_NAME, fullPath); - List lines = IOUtils.readLines(object.getObjectContent()); + String fullPath = insertOutput.getRecords().get(0).getBackendDetailString(FilesystemRecordBackendDetailFields.FULL_PATH); + S3Object object = getAmazonS3().getObject(BUCKET_NAME, fullPath); + List lines = IOUtils.readLines(object.getObjectContent(), StandardCharsets.UTF_8); assertEquals("Hi, Bob.", lines.get(0)); } diff --git a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/s3/utils/S3UtilsTest.java b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/s3/utils/S3UtilsTest.java index cc1c007f..35984ee4 100644 --- a/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/s3/utils/S3UtilsTest.java +++ b/qqq-backend-module-filesystem/src/test/java/com/kingsrook/qqq/backend/module/filesystem/s3/utils/S3UtilsTest.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.module.filesystem.s3.utils; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.util.List; import com.amazonaws.services.s3.model.S3ObjectSummary; import com.kingsrook.qqq.backend.core.exceptions.QException; @@ -76,7 +77,7 @@ public class S3UtilsTest extends BaseS3Test List s3ObjectSummaries = s3Utils.listObjectsInBucketMatchingGlob(BUCKET_NAME, "test-files", ""); S3ObjectSummary s3ObjectSummary = s3ObjectSummaries.stream().filter(o -> o.getKey().contains("1.csv")).findAny().get(); InputStream inputStream = s3Utils.getObjectAsInputStream(s3ObjectSummary); - String csvFromS3 = IOUtils.toString(inputStream); + String csvFromS3 = IOUtils.toString(inputStream, StandardCharsets.UTF_8); assertEquals(getCSVData1(), csvFromS3, "File from S3 should match expected content"); } diff --git a/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/TestUtils.java b/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/TestUtils.java index 7a84cc63..ee006df7 100644 --- a/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/TestUtils.java +++ b/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/TestUtils.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.module.rdbms; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.sql.Connection; import java.util.List; import com.kingsrook.qqq.backend.core.actions.tables.QueryAction; @@ -91,7 +92,7 @@ public class TestUtils { InputStream primeTestDatabaseSqlStream = RDBMSActionTest.class.getResourceAsStream("/" + sqlFileName); assertNotNull(primeTestDatabaseSqlStream); - List lines = (List) IOUtils.readLines(primeTestDatabaseSqlStream); + List lines = (List) IOUtils.readLines(primeTestDatabaseSqlStream, StandardCharsets.UTF_8); lines = lines.stream().filter(line -> !line.startsWith("-- ")).toList(); String joinedSQL = String.join("\n", lines); for(String sql : joinedSQL.split(";")) diff --git a/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryActionTest.java b/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryActionTest.java index fa27d4ea..fda4e03e 100644 --- a/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryActionTest.java +++ b/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSQueryActionTest.java @@ -982,6 +982,7 @@ public class RDBMSQueryActionTest extends RDBMSActionTest ** *******************************************************************************/ @Test + @SuppressWarnings("unchecked") void testHeavyFields() throws QException { ////////////////////////////////////////////////////////// diff --git a/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/jdbc/QueryManagerTest.java b/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/jdbc/QueryManagerTest.java index 232be3b7..396a8c77 100644 --- a/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/jdbc/QueryManagerTest.java +++ b/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/jdbc/QueryManagerTest.java @@ -293,6 +293,7 @@ class QueryManagerTest extends BaseTest ** confirms (more?) correct behavior *******************************************************************************/ @Test + @SuppressWarnings("deprecation") void testLocalDate() throws SQLException { try(Connection connection = getConnection()) @@ -304,17 +305,20 @@ class QueryManagerTest extends BaseTest ResultSet rs = preparedStatement.getResultSet(); rs.next(); - Date date = QueryManager.getDate(rs, 1); + Date date = QueryManager.getDate(rs, 1); + assertNotNull(date); assertEquals(1, date.getDate(), "Date value"); assertEquals(Month.OCTOBER.getValue(), date.getMonth() + 1, "Month value"); assertEquals(2013, date.getYear() + 1900, "Year value"); LocalDate localDate = QueryManager.getLocalDate(rs, 1); + assertNotNull(localDate); assertEquals(1, localDate.getDayOfMonth(), "Date value"); assertEquals(Month.OCTOBER, localDate.getMonth(), "Month value"); assertEquals(2013, localDate.getYear(), "Year value"); LocalDateTime localDateTime = QueryManager.getLocalDateTime(rs, 1); + assertNotNull(localDateTime); assertEquals(1, localDateTime.getDayOfMonth(), "Date value"); assertEquals(Month.OCTOBER, localDateTime.getMonth(), "Month value"); assertEquals(2013, localDateTime.getYear(), "Year value"); @@ -322,6 +326,7 @@ class QueryManagerTest extends BaseTest assertEquals(0, localDateTime.getMinute(), "Minute value"); OffsetDateTime offsetDateTime = QueryManager.getOffsetDateTime(rs, 1); + assertNotNull(offsetDateTime); assertEquals(1, offsetDateTime.getDayOfMonth(), "Date value"); assertEquals(Month.OCTOBER, offsetDateTime.getMonth(), "Month value"); assertEquals(2013, offsetDateTime.getYear(), "Year value"); diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/ApiImplementation.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/ApiImplementation.java index f5d53dbc..2525263f 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/ApiImplementation.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/ApiImplementation.java @@ -1388,7 +1388,7 @@ public class ApiImplementation List criteriaValues; if(selectedOperator.noOfValues == null) { - criteriaValues = Arrays.asList(value.split(",")); + criteriaValues = Arrays.stream(value.split(",")).map(Serializable.class::cast).toList(); } else if(selectedOperator.noOfValues == 1) { @@ -1404,7 +1404,7 @@ public class ApiImplementation } else if(selectedOperator.noOfValues == 2) { - criteriaValues = Arrays.asList(value.split(",")); + criteriaValues = Arrays.stream(value.split(",")).map(Serializable.class::cast).toList(); if(criteriaValues.size() != 2) { throw (new QBadRequestException("Operator " + selectedOperator.prefix + " for field " + name + " requires 2 values (received " + criteriaValues.size() + ")")); diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/implementations/savedreports/RenderSavedReportProcessApiMetaDataEnricher.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/implementations/savedreports/RenderSavedReportProcessApiMetaDataEnricher.java index 528adfe8..ae7b2757 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/implementations/savedreports/RenderSavedReportProcessApiMetaDataEnricher.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/implementations/savedreports/RenderSavedReportProcessApiMetaDataEnricher.java @@ -92,7 +92,9 @@ public class RenderSavedReportProcessApiMetaDataEnricher ApiFieldMetaDataContainer apiFieldMetaDataContainer = new ApiFieldMetaDataContainer().withDefaultApiFieldMetaData(defaultApiFieldMetaData); if(example instanceof List) { - defaultApiFieldMetaData.withExample(new ExampleWithListValue().withValue((List) example)); + @SuppressWarnings("unchecked") + List stringList = (List) example; + defaultApiFieldMetaData.withExample(new ExampleWithListValue().withValue(stringList)); } else { diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/model/metadata/processes/ApiProcessSummaryListOutput.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/model/metadata/processes/ApiProcessSummaryListOutput.java index 9abf7c0f..0fcb94a2 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/model/metadata/processes/ApiProcessSummaryListOutput.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/model/metadata/processes/ApiProcessSummaryListOutput.java @@ -62,6 +62,7 @@ public class ApiProcessSummaryListOutput implements ApiProcessOutputInterface @Override public HttpStatus.Code getSuccessStatusCode(RunProcessInput runProcessInput, RunProcessOutput runProcessOutput) { + @SuppressWarnings("unchecked") List processSummaryLineInterfaces = (List) runProcessOutput.getValues().get("processResults"); if(processSummaryLineInterfaces.isEmpty()) { @@ -134,7 +135,9 @@ public class ApiProcessSummaryListOutput implements ApiProcessOutputInterface { try { - ArrayList apiOutput = new ArrayList<>(); + ArrayList apiOutput = new ArrayList<>(); + + @SuppressWarnings("unchecked") List processSummaryLineInterfaces = (List) runProcessOutput.getValues().get("processResults"); for(ProcessSummaryLineInterface processSummaryLineInterface : processSummaryLineInterfaces) { diff --git a/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/actions/ApiImplementationTest.java b/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/actions/ApiImplementationTest.java index 376562c2..3b515ca8 100644 --- a/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/actions/ApiImplementationTest.java +++ b/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/actions/ApiImplementationTest.java @@ -230,7 +230,9 @@ class ApiImplementationTest extends BaseTest // query for persons - make sure custom method ran // ///////////////////////////////////////////////////// Map queryResult = ApiImplementation.query(apiInstanceMetaData, TestUtils.CURRENT_API_VERSION, "person", Collections.emptyMap()); - assertEquals("value from prepareToProduceApiValues", ((List>) queryResult.get("records")).get(0).get("lastName")); + @SuppressWarnings("unchecked") + List> records = (List>) queryResult.get("records"); + assertEquals("value from prepareToProduceApiValues", records.get(0).get("lastName")); assertEquals(queryResult.get("count"), PersonLastNameBulkApiValueCustomizer.prepareWasCalledWithThisNoOfRecords); } diff --git a/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/utils/ApiScriptUtilsTest.java b/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/utils/ApiScriptUtilsTest.java index 483b6f37..26426b98 100644 --- a/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/utils/ApiScriptUtilsTest.java +++ b/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/utils/ApiScriptUtilsTest.java @@ -311,6 +311,7 @@ class ApiScriptUtilsTest extends BaseTest Serializable result = apiScriptUtils.runProcess(TestUtils.PROCESS_NAME_TRANSFORM_PEOPLE, JsonUtils.toJson(Map.of("id", "1,2,3"))); assertThat(result).isInstanceOf(List.class); + @SuppressWarnings("unchecked") List> resultList = (List>) result; assertEquals(3, resultList.size()); @@ -332,6 +333,7 @@ class ApiScriptUtilsTest extends BaseTest Serializable asyncResult = apiScriptUtils.runProcess(TestUtils.PROCESS_NAME_TRANSFORM_PEOPLE, JsonUtils.toJson(Map.of("id", "1,2,3", "async", true))); assertThat(asyncResult).isInstanceOf(Map.class); + @SuppressWarnings("unchecked") String jobId = ValueUtils.getValueAsString(((Map) asyncResult).get("jobId")); assertNotNull(jobId); @@ -350,6 +352,7 @@ class ApiScriptUtilsTest extends BaseTest } assertThat(result).isInstanceOf(List.class); + @SuppressWarnings("unchecked") List> resultList = (List>) result; assertEquals(3, resultList.size()); diff --git a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/backend/javalin/QJavalinAccessLogger.java b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/backend/javalin/QJavalinAccessLogger.java index 755fcb52..c947bef4 100644 --- a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/backend/javalin/QJavalinAccessLogger.java +++ b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/backend/javalin/QJavalinAccessLogger.java @@ -383,11 +383,13 @@ public class QJavalinAccessLogger { if(runProcessOutput.getValues().containsKey(StreamedETLWithFrontendProcess.FIELD_PROCESS_SUMMARY)) { + @SuppressWarnings("unchecked") List processSummaryLines = (List) runProcessOutput.getValues().get(StreamedETLWithFrontendProcess.FIELD_PROCESS_SUMMARY); processSummaryListToLogPairs(logPairs, processSummaryLines); } else if(runProcessOutput.getValues().containsKey(StreamedETLWithFrontendProcess.FIELD_VALIDATION_SUMMARY)) { + @SuppressWarnings("unchecked") List processSummaryLines = (List) runProcessOutput.getValues().get(StreamedETLWithFrontendProcess.FIELD_VALIDATION_SUMMARY); processSummaryListToLogPairs(logPairs, processSummaryLines); } diff --git a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/backend/javalin/QJavalinImplementation.java b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/backend/javalin/QJavalinImplementation.java index 61fdc389..18c29fd5 100644 --- a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/backend/javalin/QJavalinImplementation.java +++ b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/backend/javalin/QJavalinImplementation.java @@ -28,6 +28,7 @@ import java.io.InputStream; import java.io.PipedInputStream; import java.io.PipedOutputStream; import java.io.Serializable; +import java.nio.charset.StandardCharsets; import java.time.Duration; import java.time.Instant; import java.util.ArrayList; @@ -41,6 +42,7 @@ import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.function.Supplier; +import com.fasterxml.jackson.core.type.TypeReference; import com.kingsrook.qqq.backend.core.actions.async.AsyncJobManager; import com.kingsrook.qqq.backend.core.actions.dashboard.RenderWidgetAction; import com.kingsrook.qqq.backend.core.actions.metadata.MetaDataAction; @@ -223,7 +225,7 @@ public class QJavalinImplementation public QJavalinImplementation(String qInstanceFilePath) throws IOException { LOG.info("Loading qInstance from file (assuming json): " + qInstanceFilePath); - String qInstanceJson = FileUtils.readFileToString(new File(qInstanceFilePath)); + String qInstanceJson = FileUtils.readFileToString(new File(qInstanceFilePath), StandardCharsets.UTF_8); QJavalinImplementation.qInstance = new QInstanceAdapter().jsonToQInstanceIncludingBackends(qInstanceJson); QJavalinImplementation.javalinMetaData = new QJavalinMetaData(); } @@ -1800,7 +1802,7 @@ public class QJavalinImplementation if(CollectionUtils.nullSafeHasContents(valuesParamList)) { String valuesParam = valuesParamList.get(0); - values = JsonUtils.toObject(valuesParam, Map.class); + values = JsonUtils.toObject(valuesParam, new TypeReference<>(){}); } } diff --git a/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/TestUtils.java b/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/TestUtils.java index 00a87d47..fd9eb11a 100644 --- a/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/TestUtils.java +++ b/qqq-middleware-javalin/src/test/java/com/kingsrook/qqq/backend/javalin/TestUtils.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.javalin; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.sql.Connection; import java.util.List; import java.util.Objects; @@ -119,7 +120,7 @@ public class TestUtils { InputStream primeTestDatabaseSqlStream = TestUtils.class.getResourceAsStream("/prime-test-database.sql"); assertNotNull(primeTestDatabaseSqlStream); - List lines = (List) IOUtils.readLines(primeTestDatabaseSqlStream); + List lines = IOUtils.readLines(primeTestDatabaseSqlStream, StandardCharsets.UTF_8); lines = lines.stream().filter(line -> !line.startsWith("-- ")).toList(); String joinedSQL = String.join("\n", lines); for(String sql : joinedSQL.split(";")) @@ -365,7 +366,7 @@ public class TestUtils .withOutputMetaData(new QFunctionOutputMetaData() .withRecordListMetaData(new QRecordListMetaData() .withTableName(TABLE_NAME_PERSON) - .addField(new QFieldMetaData("fullGreeting", QFieldType.STRING)) + .withField(new QFieldMetaData("fullGreeting", QFieldType.STRING)) ) .withFieldList(List.of(new QFieldMetaData("outputMessage", QFieldType.STRING)))) ); @@ -402,7 +403,7 @@ public class TestUtils .withOutputMetaData(new QFunctionOutputMetaData() .withRecordListMetaData(new QRecordListMetaData() .withTableName(TABLE_NAME_PERSON) - .addField(new QFieldMetaData("fullGreeting", QFieldType.STRING)) + .withField(new QFieldMetaData("fullGreeting", QFieldType.STRING)) ) .withFieldList(List.of(new QFieldMetaData("outputMessage", QFieldType.STRING)))) ) @@ -514,7 +515,7 @@ public class TestUtils .withName(SleeperStep.class.getName()) .withCodeType(QCodeType.JAVA)) .withInputData(new QFunctionInputMetaData() - .addField(new QFieldMetaData(SleeperStep.FIELD_SLEEP_MILLIS, QFieldType.INTEGER)))); + .withField(new QFieldMetaData(SleeperStep.FIELD_SLEEP_MILLIS, QFieldType.INTEGER)))); } } @@ -571,7 +572,7 @@ public class TestUtils .withName(ThrowerStep.class.getName()) .withCodeType(QCodeType.JAVA)) .withInputData(new QFunctionInputMetaData() - .addField(new QFieldMetaData(ThrowerStep.FIELD_SLEEP_MILLIS, QFieldType.INTEGER)))); + .withField(new QFieldMetaData(ThrowerStep.FIELD_SLEEP_MILLIS, QFieldType.INTEGER)))); } } diff --git a/qqq-middleware-picocli/src/main/java/com/kingsrook/qqq/frontend/picocli/QPicoCliImplementation.java b/qqq-middleware-picocli/src/main/java/com/kingsrook/qqq/frontend/picocli/QPicoCliImplementation.java index b0583cdb..d92372a2 100644 --- a/qqq-middleware-picocli/src/main/java/com/kingsrook/qqq/frontend/picocli/QPicoCliImplementation.java +++ b/qqq-middleware-picocli/src/main/java/com/kingsrook/qqq/frontend/picocli/QPicoCliImplementation.java @@ -29,6 +29,7 @@ import java.io.OutputStream; import java.io.PrintStream; import java.io.PrintWriter; import java.io.Serializable; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -129,7 +130,7 @@ public class QPicoCliImplementation if(args.length > 0 && args[0].startsWith("--qInstanceJsonFile=")) { String filePath = args[0].replaceFirst("--.*=", ""); - String qInstanceJson = FileUtils.readFileToString(new File(filePath)); + String qInstanceJson = FileUtils.readFileToString(new File(filePath), StandardCharsets.UTF_8); qInstance = new QInstanceAdapter().jsonToQInstanceIncludingBackends(qInstanceJson); String[] subArgs = Arrays.copyOfRange(args, 1, args.length); @@ -716,7 +717,7 @@ public class QPicoCliImplementation try { String path = subParseResult.matchedOptionValue("--jsonFile", ""); - String json = FileUtils.readFileToString(new File(path)); + String json = FileUtils.readFileToString(new File(path), StandardCharsets.UTF_8); recordList = new JsonToQRecordAdapter().buildRecordsFromJson(json, table, mapping); } catch(IOException e) @@ -729,7 +730,7 @@ public class QPicoCliImplementation try { String path = subParseResult.matchedOptionValue("--csvFile", ""); - String csv = FileUtils.readFileToString(new File(path)); + String csv = FileUtils.readFileToString(new File(path), StandardCharsets.UTF_8); recordList = new CsvToQRecordAdapter().buildRecordsFromCsv(csv, table, mapping); } catch(IOException e) diff --git a/qqq-middleware-picocli/src/test/java/com/kingsrook/qqq/frontend/picocli/QPicoCliImplementationTest.java b/qqq-middleware-picocli/src/test/java/com/kingsrook/qqq/frontend/picocli/QPicoCliImplementationTest.java index ba858384..49191f90 100644 --- a/qqq-middleware-picocli/src/test/java/com/kingsrook/qqq/frontend/picocli/QPicoCliImplementationTest.java +++ b/qqq-middleware-picocli/src/test/java/com/kingsrook/qqq/frontend/picocli/QPicoCliImplementationTest.java @@ -395,7 +395,7 @@ class QPicoCliImplementationTest File file = new File("/tmp/" + UUID.randomUUID() + ".json"); file.deleteOnExit(); - FileUtils.writeStringToFile(file, jsonContents); + FileUtils.writeStringToFile(file, jsonContents, StandardCharsets.UTF_8); TestOutput testOutput = testCli("person", "insert", mapping, "--jsonFile=" + file.getAbsolutePath()); JSONObject insertResult = JsonUtils.toJSONObject(testOutput.getOutput()); @@ -433,7 +433,7 @@ class QPicoCliImplementationTest File file = new File("/tmp/" + UUID.randomUUID() + ".csv"); file.deleteOnExit(); - FileUtils.writeStringToFile(file, csvContents); + FileUtils.writeStringToFile(file, csvContents, StandardCharsets.UTF_8); TestOutput testOutput = testCli("person", "insert", mapping, "--csvFile=" + file.getAbsolutePath()); JSONObject insertResult = JsonUtils.toJSONObject(testOutput.getOutput()); @@ -683,8 +683,7 @@ class QPicoCliImplementationTest assertTestOutputContains(testOutput, "Wrote 3 records to file " + filename); File file = new File(filename); - @SuppressWarnings("unchecked") - List list = FileUtils.readLines(file); + List list = FileUtils.readLines(file, StandardCharsets.UTF_8); assertEquals(4, list.size()); assertThat(list.get(0)).contains(""" "Id","Create Date","Modify Date\""""); @@ -710,8 +709,7 @@ class QPicoCliImplementationTest assertTestOutputContains(testOutput, "Wrote 4 records to file " + filename); File file = new File(filename); - @SuppressWarnings("unchecked") - List list = FileUtils.readLines(file); + List list = FileUtils.readLines(file, StandardCharsets.UTF_8); assertEquals(5, list.size()); assertThat(list.get(0)).contains(""" "Id","Create Date","Modify Date\""""); @@ -842,8 +840,7 @@ class QPicoCliImplementationTest TestOutput testOutput = testCli("person", "export", "--filename=" + filename, "--fieldNames=id,lastName,birthDate"); File file = new File(filename); - @SuppressWarnings("unchecked") - List list = FileUtils.readLines(file); + List list = FileUtils.readLines(file, StandardCharsets.UTF_8); assertEquals(6, list.size()); assertThat(list.get(0)).isEqualTo(""" "Id","Last Name","Birth Date\""""); diff --git a/qqq-middleware-picocli/src/test/java/com/kingsrook/qqq/frontend/picocli/TestUtils.java b/qqq-middleware-picocli/src/test/java/com/kingsrook/qqq/frontend/picocli/TestUtils.java index cb226925..8a9e0a6d 100644 --- a/qqq-middleware-picocli/src/test/java/com/kingsrook/qqq/frontend/picocli/TestUtils.java +++ b/qqq-middleware-picocli/src/test/java/com/kingsrook/qqq/frontend/picocli/TestUtils.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.frontend.picocli; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.sql.Connection; import java.util.List; import com.kingsrook.qqq.backend.core.model.metadata.QAuthenticationType; @@ -65,7 +66,7 @@ public class TestUtils { InputStream primeTestDatabaseSqlStream = TestUtils.class.getResourceAsStream("/prime-test-database.sql"); assertNotNull(primeTestDatabaseSqlStream); - List lines = (List) IOUtils.readLines(primeTestDatabaseSqlStream); + List lines = (List) IOUtils.readLines(primeTestDatabaseSqlStream, StandardCharsets.UTF_8); lines = lines.stream().filter(line -> !line.startsWith("-- ")).toList(); String joinedSQL = String.join("\n", lines); for(String sql : joinedSQL.split(";")) @@ -182,7 +183,7 @@ public class TestUtils .withOutputMetaData(new QFunctionOutputMetaData() .withRecordListMetaData(new QRecordListMetaData() .withTableName("person") - .addField(new QFieldMetaData("fullGreeting", QFieldType.STRING)) + .withField(new QFieldMetaData("fullGreeting", QFieldType.STRING)) ) .withFieldList(List.of(new QFieldMetaData("outputMessage", QFieldType.STRING)))) ); diff --git a/qqq-middleware-slack/src/main/java/com/kingsrook/qqq/slack/QSlackImplementation.java b/qqq-middleware-slack/src/main/java/com/kingsrook/qqq/slack/QSlackImplementation.java index 850491cc..4c1c17d2 100644 --- a/qqq-middleware-slack/src/main/java/com/kingsrook/qqq/slack/QSlackImplementation.java +++ b/qqq-middleware-slack/src/main/java/com/kingsrook/qqq/slack/QSlackImplementation.java @@ -115,7 +115,7 @@ public class QSlackImplementation public QSlackImplementation(String qInstanceFilePath) throws IOException { LOG.info("Loading qInstance from file (assuming json): " + qInstanceFilePath); - String qInstanceJson = FileUtils.readFileToString(new File(qInstanceFilePath)); + String qInstanceJson = FileUtils.readFileToString(new File(qInstanceFilePath), StandardCharsets.UTF_8); QSlackImplementation.qInstance = new QInstanceAdapter().jsonToQInstanceIncludingBackends(qInstanceJson); } diff --git a/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleMetaDataProviderTest.java b/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleMetaDataProviderTest.java index ec3355fe..411c78df 100644 --- a/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleMetaDataProviderTest.java +++ b/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleMetaDataProviderTest.java @@ -25,6 +25,7 @@ package com.kingsrook.sampleapp; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.nio.charset.StandardCharsets; import java.sql.Connection; import java.util.List; import java.util.UUID; @@ -117,7 +118,6 @@ public class SampleMetaDataProviderTest /******************************************************************************* ** *******************************************************************************/ - @SuppressWarnings("unchecked") public static void primeTestDatabase(String sqlFileName) throws Exception { ConnectionManager connectionManager = new ConnectionManager(); @@ -125,7 +125,7 @@ public class SampleMetaDataProviderTest { InputStream primeTestDatabaseSqlStream = SampleMetaDataProviderTest.class.getResourceAsStream("/" + sqlFileName); assertNotNull(primeTestDatabaseSqlStream); - List lines = (List) IOUtils.readLines(primeTestDatabaseSqlStream); + List lines = (List) IOUtils.readLines(primeTestDatabaseSqlStream, StandardCharsets.UTF_8); lines = lines.stream().filter(line -> !line.startsWith("-- ")).toList(); String joinedSQL = String.join("\n", lines); for(String sql : joinedSQL.split(";")) @@ -177,7 +177,7 @@ public class SampleMetaDataProviderTest id,name,state 1,Chester,IL 2,Red Bud,IL - 3,Sparta,IL"""); + 3,Sparta,IL""", StandardCharsets.UTF_8); return destinationFile; }