diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/automation/RunRecordScriptAutomationHandler.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/automation/RunRecordScriptAutomationHandler.java index 1b4d997d..2f77c623 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/automation/RunRecordScriptAutomationHandler.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/automation/RunRecordScriptAutomationHandler.java @@ -83,7 +83,7 @@ public class RunRecordScriptAutomationHandler extends RecordAutomationHandler } QRecord scriptRevision = queryOutput.getRecords().get(0); - LOG.info("Running script against records", logPair("scriptRevisionId", scriptRevision.getValue("id")), logPair("scriptId", scriptRevision.getValue("scriptIdd"))); + LOG.debug("Running script against records", logPair("scriptRevisionId", scriptRevision.getValue("id")), logPair("scriptId", scriptRevision.getValue("scriptIdd"))); RunAdHocRecordScriptInput input = new RunAdHocRecordScriptInput(); input.setCodeReference(new AdHocScriptCodeReference().withScriptRevisionRecord(scriptRevision)); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/AbstractTableSyncTransformStep.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/AbstractTableSyncTransformStep.java index c8f6b82e..1565d3f3 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/AbstractTableSyncTransformStep.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/tablesync/AbstractTableSyncTransformStep.java @@ -356,12 +356,12 @@ public abstract class AbstractTableSyncTransformStep extends AbstractTransformSt { if(existingRecord != null) { - LOG.info("Skipping storing existing record because this sync process is set to not perform updates"); + LOG.debug("Skipping storing existing record because this sync process is set to not perform updates"); willNotInsert.incrementCountAndAddPrimaryKey(sourcePrimaryKey); } else { - LOG.info("Skipping storing new record because this sync process is set to not perform inserts"); + LOG.debug("Skipping storing new record because this sync process is set to not perform inserts"); willNotUpdate.incrementCountAndAddPrimaryKey(sourcePrimaryKey); } continue; diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java index 78e3ed81..27a369c5 100755 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/utils/StringUtils.java @@ -475,4 +475,31 @@ public class StringUtils return (s); } + + + /*************************************************************************** + ** + ***************************************************************************/ + public static String appendIncrementingSuffix(String input) + { + //////////////////////////////// + // remove any existing suffix // + //////////////////////////////// + String base = input.replaceAll(" \\(\\d+\\)$", ""); + if(input.matches(".* \\(\\d+\\)$")) + { + ////////////////////////// + // increment if matches // + ////////////////////////// + int current = Integer.parseInt(input.replaceAll(".* \\((\\d+)\\)$", "$1")); + return base + " (" + (current + 1) + ")"; + } + else + { + //////////////////////////////////// + // no match so put a 1 at the end // + //////////////////////////////////// + return base + " (1)"; + } + } } diff --git a/qqq-backend-core/src/main/resources/log4j2.xml b/qqq-backend-core/src/main/resources/log4j2.xml index 8883de80..60ffc1f6 100644 --- a/qqq-backend-core/src/main/resources/log4j2.xml +++ b/qqq-backend-core/src/main/resources/log4j2.xml @@ -18,21 +18,13 @@ - - - - - - - - + + + - - - - - - + + + diff --git a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/StringUtilsTest.java b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/StringUtilsTest.java index bc08293f..ae8ce0d3 100644 --- a/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/StringUtilsTest.java +++ b/qqq-backend-core/src/test/java/com/kingsrook/qqq/backend/core/utils/StringUtilsTest.java @@ -334,4 +334,20 @@ class StringUtilsTest extends BaseTest assertEquals("a", StringUtils.emptyToNull("a")); } + + + /******************************************************************************* + ** + *******************************************************************************/ + @Test + void testAppendIncrementingSuffix() + { + assertEquals("test (1)", StringUtils.appendIncrementingSuffix("test")); + assertEquals("test (2)", StringUtils.appendIncrementingSuffix("test (1)")); + assertEquals("test (a) (1)", StringUtils.appendIncrementingSuffix("test (a)")); + assertEquals("test (a32) (1)", StringUtils.appendIncrementingSuffix("test (a32)")); + assertEquals("test ((2)) (1)", StringUtils.appendIncrementingSuffix("test ((2))")); + assertEquals("test ((2)) (101)", StringUtils.appendIncrementingSuffix("test ((2)) (100)")); + } + } 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 ee1f69f1..6738ac31 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 @@ -362,4 +362,4 @@ class ValueUtilsTest extends BaseTest assertEquals(QFieldType.TIME, ValueUtils.inferQFieldTypeFromValue(LocalTime.now(), null)); } -} \ No newline at end of file +} 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 c4b478ab..300a60b7 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 @@ -39,6 +39,7 @@ import java.util.function.Supplier; import com.kingsrook.qqq.backend.core.actions.tables.InsertAction; import com.kingsrook.qqq.backend.core.context.QContext; import com.kingsrook.qqq.backend.core.exceptions.QException; +import com.kingsrook.qqq.backend.core.exceptions.QNotFoundException; import com.kingsrook.qqq.backend.core.exceptions.QUserFacingException; import com.kingsrook.qqq.backend.core.logging.QLogger; import com.kingsrook.qqq.backend.core.model.actions.AbstractTableActionInput; @@ -208,6 +209,11 @@ public class BaseAPIActionUtil return rs; } + catch(QNotFoundException qnfe) + { + LOG.info("Not found", qnfe); + throw (qnfe); + } catch(Exception e) { LOG.error("Error in API get", e);