From f9cd4373aa0180f5d3240100f119313da25e3898 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 3 Jan 2025 16:33:50 -0600 Subject: [PATCH 1/9] Update RDBMS Aggregates to return INTEGER for COUNT on temporal field types --- .../model/metadata/fields/QFieldType.java | 10 ++ .../rdbms/actions/RDBMSAggregateAction.java | 4 + .../actions/RDBMSAggregateActionTest.java | 130 ++++++++++++------ 3 files changed, 99 insertions(+), 45 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/QFieldType.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/QFieldType.java index b0e8f8e7..69d80c1d 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/QFieldType.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/metadata/fields/QFieldType.java @@ -120,6 +120,16 @@ public enum QFieldType + /******************************************************************************* + ** + *******************************************************************************/ + public boolean isTemporal() + { + return this == QFieldType.DATE || this == QFieldType.DATE_TIME || this == QFieldType.TIME; + } + + + /******************************************************************************* ** *******************************************************************************/ diff --git a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateAction.java b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateAction.java index 5a900351..5c2f8710 100644 --- a/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateAction.java +++ b/qqq-backend-module-rdbms/src/main/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateAction.java @@ -159,6 +159,10 @@ public class RDBMSAggregateAction extends AbstractRDBMSAction implements Aggrega { fieldType = QFieldType.DECIMAL; } + else if(field.getType().isTemporal() && (aggregate.getOperator().equals(AggregateOperator.COUNT)) || aggregate.getOperator().equals(AggregateOperator.COUNT_DISTINCT)) + { + fieldType = QFieldType.INTEGER; + } } if(fieldType != null) diff --git a/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateActionTest.java b/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateActionTest.java index 15165b24..a463111f 100644 --- a/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateActionTest.java +++ b/qqq-backend-module-rdbms/src/test/java/com/kingsrook/qqq/backend/module/rdbms/actions/RDBMSAggregateActionTest.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.module.rdbms.actions; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import com.kingsrook.qqq.backend.core.actions.tables.InsertAction; @@ -42,13 +43,16 @@ import com.kingsrook.qqq.backend.core.model.actions.tables.query.QFilterOrderBy; import com.kingsrook.qqq.backend.core.model.actions.tables.query.QQueryFilter; import com.kingsrook.qqq.backend.core.model.actions.tables.query.QueryJoin; import com.kingsrook.qqq.backend.core.model.data.QRecord; +import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData; import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldType; import com.kingsrook.qqq.backend.core.model.session.QSession; +import com.kingsrook.qqq.backend.core.utils.ExceptionUtils; import com.kingsrook.qqq.backend.module.rdbms.TestUtils; -import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; @@ -83,20 +87,56 @@ public class RDBMSAggregateActionTest extends RDBMSActionTest Aggregate averageOfDaysWorked = new Aggregate("daysWorked", AggregateOperator.AVG); Aggregate maxAnnualSalary = new Aggregate("annualSalary", AggregateOperator.MAX); Aggregate minFirstName = new Aggregate("firstName", AggregateOperator.MIN); + Aggregate countOfBirthDate = new Aggregate("birthDate", AggregateOperator.COUNT); aggregateInput.withAggregate(countOfId); aggregateInput.withAggregate(sumOfId); aggregateInput.withAggregate(averageOfDaysWorked); aggregateInput.withAggregate(maxAnnualSalary); aggregateInput.withAggregate(minFirstName); + aggregateInput.withAggregate(countOfBirthDate); AggregateOutput aggregateOutput = new RDBMSAggregateAction().execute(aggregateInput); AggregateResult aggregateResult = aggregateOutput.getResults().get(0); - Assertions.assertEquals(5, aggregateResult.getAggregateValue(countOfId)); - Assertions.assertEquals(15, aggregateResult.getAggregateValue(sumOfId)); - Assertions.assertEquals(new BigDecimal("96.4"), aggregateResult.getAggregateValue(averageOfDaysWorked)); - Assertions.assertEquals(new BigDecimal("1000000.00"), aggregateResult.getAggregateValue(maxAnnualSalary)); - Assertions.assertEquals("Darin", aggregateResult.getAggregateValue(minFirstName)); + assertEquals(5, aggregateResult.getAggregateValue(countOfId)); + assertEquals(15, aggregateResult.getAggregateValue(sumOfId)); + assertEquals(new BigDecimal("96.4"), aggregateResult.getAggregateValue(averageOfDaysWorked)); + assertEquals(new BigDecimal("1000000.00"), aggregateResult.getAggregateValue(maxAnnualSalary)); + assertEquals("Darin", aggregateResult.getAggregateValue(minFirstName)); + assertEquals(4, aggregateResult.getAggregateValue(countOfBirthDate)); + } + + + + /******************************************************************************* + ** + *******************************************************************************/ + @Test + @Disabled("Interesting to see effects of all operators on all types, but failures are expected (e.g., avg(string), so not for CI.") + void testOperatorsCrossTypes() + { + List failures = new ArrayList<>(); + for(QFieldMetaData field : QContext.getQInstance().getTable(TestUtils.TABLE_NAME_PERSON).getFields().values()) + { + for(AggregateOperator aggregateOperator : AggregateOperator.values()) + { + try + { + AggregateInput aggregateInput = initAggregateRequest(); + Aggregate aggregate = new Aggregate(field.getName(), aggregateOperator); + aggregateInput.withAggregate(aggregate); + AggregateOutput aggregateOutput = new RDBMSAggregateAction().execute(aggregateInput); + AggregateResult aggregateResult = aggregateOutput.getResults().get(0); + assertNotNull(aggregateResult.getAggregateValue(aggregate)); + } + catch(Exception e) + { + failures.add(ExceptionUtils.getRootException(e).getMessage()); + } + } + } + + failures.forEach(System.out::println); } @@ -123,11 +163,11 @@ public class RDBMSAggregateActionTest extends RDBMSActionTest AggregateOutput aggregateOutput = new RDBMSAggregateAction().execute(aggregateInput); AggregateResult aggregateResult = aggregateOutput.getResults().get(0); - Assertions.assertEquals(2, aggregateResult.getAggregateValue(countOfId)); - Assertions.assertEquals(5, aggregateResult.getAggregateValue(sumOfId)); - Assertions.assertEquals(new BigDecimal("62.0"), aggregateResult.getAggregateValue(averageOfDaysWorked)); - Assertions.assertEquals(new BigDecimal("26000.00"), aggregateResult.getAggregateValue(maxAnnualSalary)); - Assertions.assertEquals("James", aggregateResult.getAggregateValue(minFirstName)); + assertEquals(2, aggregateResult.getAggregateValue(countOfId)); + assertEquals(5, aggregateResult.getAggregateValue(sumOfId)); + assertEquals(new BigDecimal("62.0"), aggregateResult.getAggregateValue(averageOfDaysWorked)); + assertEquals(new BigDecimal("26000.00"), aggregateResult.getAggregateValue(maxAnnualSalary)); + assertEquals("James", aggregateResult.getAggregateValue(minFirstName)); } @@ -156,15 +196,15 @@ public class RDBMSAggregateActionTest extends RDBMSActionTest AggregateOutput aggregateOutput = new RDBMSAggregateAction().execute(aggregateInput); { AggregateResult aggregateResult = aggregateOutput.getResults().get(0); - Assertions.assertEquals("Chamberlain", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals(2, aggregateResult.getAggregateValue(countOfId)); - Assertions.assertEquals(17, aggregateResult.getAggregateValue(sumOfDaysWorked)); + assertEquals("Chamberlain", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals(2, aggregateResult.getAggregateValue(countOfId)); + assertEquals(17, aggregateResult.getAggregateValue(sumOfDaysWorked)); } { AggregateResult aggregateResult = aggregateOutput.getResults().get(1); - Assertions.assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals(4, aggregateResult.getAggregateValue(countOfId)); - Assertions.assertEquals(11364, aggregateResult.getAggregateValue(sumOfDaysWorked)); + assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals(4, aggregateResult.getAggregateValue(countOfId)); + assertEquals(11364, aggregateResult.getAggregateValue(sumOfDaysWorked)); } } @@ -201,29 +241,29 @@ public class RDBMSAggregateActionTest extends RDBMSActionTest AggregateResult aggregateResult; aggregateResult = iterator.next(); - Assertions.assertEquals("Chamberlain", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals("Donny", aggregateResult.getGroupByValue(firstNameGroupBy)); - Assertions.assertEquals(1, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Chamberlain", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals("Donny", aggregateResult.getGroupByValue(firstNameGroupBy)); + assertEquals(1, aggregateResult.getAggregateValue(countOfId)); aggregateResult = iterator.next(); - Assertions.assertEquals("Chamberlain", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals("Tim", aggregateResult.getGroupByValue(firstNameGroupBy)); - Assertions.assertEquals(1, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Chamberlain", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals("Tim", aggregateResult.getGroupByValue(firstNameGroupBy)); + assertEquals(1, aggregateResult.getAggregateValue(countOfId)); aggregateResult = iterator.next(); - Assertions.assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals("Aaron", aggregateResult.getGroupByValue(firstNameGroupBy)); - Assertions.assertEquals(1, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals("Aaron", aggregateResult.getGroupByValue(firstNameGroupBy)); + assertEquals(1, aggregateResult.getAggregateValue(countOfId)); aggregateResult = iterator.next(); - Assertions.assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals("Darin", aggregateResult.getGroupByValue(firstNameGroupBy)); - Assertions.assertEquals(2, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals("Darin", aggregateResult.getGroupByValue(firstNameGroupBy)); + assertEquals(2, aggregateResult.getAggregateValue(countOfId)); aggregateResult = iterator.next(); - Assertions.assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals("Trevor", aggregateResult.getGroupByValue(firstNameGroupBy)); - Assertions.assertEquals(1, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals("Trevor", aggregateResult.getGroupByValue(firstNameGroupBy)); + assertEquals(1, aggregateResult.getAggregateValue(countOfId)); } @@ -255,24 +295,24 @@ public class RDBMSAggregateActionTest extends RDBMSActionTest AggregateResult aggregateResult; aggregateResult = iterator.next(); - Assertions.assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals(4, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Kelkhoff", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals(4, aggregateResult.getAggregateValue(countOfId)); aggregateResult = iterator.next(); - Assertions.assertEquals("Richardson", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals(1, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Richardson", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals(1, aggregateResult.getAggregateValue(countOfId)); aggregateResult = iterator.next(); - Assertions.assertEquals("Maes", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals(1, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Maes", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals(1, aggregateResult.getAggregateValue(countOfId)); aggregateResult = iterator.next(); - Assertions.assertEquals("Samples", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals(1, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Samples", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals(1, aggregateResult.getAggregateValue(countOfId)); aggregateResult = iterator.next(); - Assertions.assertEquals("Chamberlain", aggregateResult.getGroupByValue(lastNameGroupBy)); - Assertions.assertEquals(2, aggregateResult.getAggregateValue(countOfId)); + assertEquals("Chamberlain", aggregateResult.getGroupByValue(lastNameGroupBy)); + assertEquals(2, aggregateResult.getAggregateValue(countOfId)); } @@ -293,7 +333,7 @@ public class RDBMSAggregateActionTest extends RDBMSActionTest //////////////////////////////////////////////////////////// AggregateOutput aggregateOutput = new RDBMSAggregateAction().execute(aggregateInput); AggregateResult aggregateResult = aggregateOutput.getResults().get(0); - Assertions.assertEquals(0, aggregateResult.getAggregateValue(countOfId)); + assertEquals(0, aggregateResult.getAggregateValue(countOfId)); ///////////////////////////////////////////////////////////////////////////////////////// // but re-run w/ a group-by -- then, if no rows are found, there are 0 result objects. // @@ -324,12 +364,12 @@ public class RDBMSAggregateActionTest extends RDBMSActionTest QContext.setQSession(new QSession().withSecurityKeyValue(TestUtils.SECURITY_KEY_STORE_ALL_ACCESS, true)); aggregateOutput = new RDBMSAggregateAction().execute(aggregateInput); aggregateResult = aggregateOutput.getResults().get(0); - Assertions.assertEquals(43, aggregateResult.getAggregateValue(sumOfQuantity)); + assertEquals(43, aggregateResult.getAggregateValue(sumOfQuantity)); QContext.setQSession(new QSession().withSecurityKeyValue(TestUtils.TABLE_NAME_STORE, 1)); aggregateOutput = new RDBMSAggregateAction().execute(aggregateInput); aggregateResult = aggregateOutput.getResults().get(0); - Assertions.assertEquals(33, aggregateResult.getAggregateValue(sumOfQuantity)); + assertEquals(33, aggregateResult.getAggregateValue(sumOfQuantity)); } From 8d108b671a3fe381aa045c656cf48c7c8633de87 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 3 Jan 2025 16:43:08 -0600 Subject: [PATCH 2/9] Turn off upload of docs to (now retired server that used to host) justinsgotskinnylegs.com --- .circleci/config.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4fffc467..4168e16e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -127,14 +127,9 @@ commands: command: | cd docs asciidoctor -a docinfo=shared index.adoc - - upload_docs_site: - steps: - - run: - name: scp html to justinsgotskinnylegs.com - command: | - cd docs - scp index.html dkelkhoff@45.79.44.221:/mnt/first-volume/dkelkhoff/nginx/html/justinsgotskinnylegs.com/qqq-docs.html + - store_artifacts: + path: index.adoc + when: always jobs: mvn_test: @@ -159,7 +154,6 @@ jobs: steps: - install_asciidoctor - run_asciidoctor - - upload_docs_site workflows: test_only: From 5ecae928acb8a83fed9e4601b95b0c3c77fa5869 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 3 Jan 2025 16:51:44 -0600 Subject: [PATCH 3/9] Fix path to asciidoc generataed index.html to be stored --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4168e16e..b7346832 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -128,7 +128,7 @@ commands: cd docs asciidoctor -a docinfo=shared index.adoc - store_artifacts: - path: index.adoc + path: docs/index.html when: always jobs: From 719be86e94a9ac865ec231573a635509844d27a2 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Mon, 6 Jan 2025 08:36:23 -0600 Subject: [PATCH 4/9] Add guard around serving of material-dashboard-overlay, to allow server to start up without that path existing --- .../javalin/QApplicationJavalinServer.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/QApplicationJavalinServer.java b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/QApplicationJavalinServer.java index d18a6a03..eb633f4d 100644 --- a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/QApplicationJavalinServer.java +++ b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/QApplicationJavalinServer.java @@ -38,6 +38,7 @@ import com.kingsrook.qqq.middleware.javalin.specs.v1.MiddlewareVersionV1; import io.javalin.Javalin; import io.javalin.http.Context; import org.apache.commons.lang.BooleanUtils; +import org.eclipse.jetty.util.resource.Resource; /******************************************************************************* @@ -102,17 +103,23 @@ public class QApplicationJavalinServer { //////////////////////////////////////////////////////////////////////////////////////// // If you have any assets to add to the web server (e.g., logos, icons) place them at // - // src/main/resources/material-dashboard-overlay (or a directory of your choice // - // under src/main/resources) and use this line of code to tell javalin about it. // - // Make sure to add your app-specific directory to the javalin config before the core // - // material-dashboard directory, so in case the same file exists in both (e.g., // - // favicon.png), the app-specific one will be used. // + // src/main/resources/material-dashboard-overlay // + // we'll use the same check that javalin (jetty?) internally uses to see if this // + // directory exists - because if it doesn't, then it'll fail to start the server... // + // note that that Resource object is auto-closable, hence the try-with-resources // //////////////////////////////////////////////////////////////////////////////////////// - config.staticFiles.add("/material-dashboard-overlay"); + try(Resource resource = Resource.newClassPathResource("/material-dashboard-overlay")) + { + if(resource !=null) + { + config.staticFiles.add("/material-dashboard-overlay"); + } + } - ///////////////////////////////////////////////////////////////////// - // tell javalin where to find material-dashboard static web assets // - ///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////// + // tell javalin where to find material-dashboard static web assets // + // in this case, this path is coming from the qqq-frontend-material-dashboard jar // + //////////////////////////////////////////////////////////////////////////////////// config.staticFiles.add("/material-dashboard"); //////////////////////////////////////////////////////////// From 37aaea3452e3e8ad880dd3ac2f6d5e110a79f16c Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Mon, 6 Jan 2025 08:39:45 -0600 Subject: [PATCH 5/9] Update to extend AbstractQQQApplication; set custom logo --- .../metadata/SampleMetaDataProvider.java | 16 ++++++++++++++-- .../samples-logo.png | Bin 0 -> 131953 bytes 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 qqq-sample-project/src/main/resources/material-dashboard-overlay/samples-logo.png diff --git a/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/metadata/SampleMetaDataProvider.java b/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/metadata/SampleMetaDataProvider.java index ec2aa618..03a3c934 100644 --- a/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/metadata/SampleMetaDataProvider.java +++ b/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/metadata/SampleMetaDataProvider.java @@ -31,6 +31,7 @@ import com.kingsrook.qqq.backend.core.actions.dashboard.widgets.QuickSightChartR import com.kingsrook.qqq.backend.core.actions.processes.BackendStep; import com.kingsrook.qqq.backend.core.exceptions.QException; import com.kingsrook.qqq.backend.core.exceptions.QValueException; +import com.kingsrook.qqq.backend.core.instances.AbstractQQQApplication; import com.kingsrook.qqq.backend.core.instances.QInstanceEnricher; import com.kingsrook.qqq.backend.core.instances.QMetaDataVariableInterpreter; import com.kingsrook.qqq.backend.core.model.actions.processes.RunBackendStepInput; @@ -78,7 +79,7 @@ import com.kingsrook.sampleapp.processes.clonepeople.ClonePeopleTransformStep; /******************************************************************************* ** *******************************************************************************/ -public class SampleMetaDataProvider +public class SampleMetaDataProvider extends AbstractQQQApplication { public static boolean USE_MYSQL = true; @@ -108,6 +109,17 @@ public class SampleMetaDataProvider + + /*************************************************************************** + ** + ***************************************************************************/ + @Override + public QInstance defineQInstance() throws QException + { + return (defineInstance()); + } + + /******************************************************************************* ** *******************************************************************************/ @@ -145,7 +157,7 @@ public class SampleMetaDataProvider private static void defineBranding(QInstance qInstance) { qInstance.setBranding(new QBrandingMetaData() - .withLogo("/kr-logo.png") + .withLogo("/samples-logo.png") .withIcon("/kr-icon.png")); } diff --git a/qqq-sample-project/src/main/resources/material-dashboard-overlay/samples-logo.png b/qqq-sample-project/src/main/resources/material-dashboard-overlay/samples-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4c135cbf9fc20d6123ce09e1ba397f65bf20c13e GIT binary patch literal 131953 zcmZ5{bx@qavn|fzi!AO0SR}Cc;_mJeY;kvYcXxM(1P#I6f;&Ni1}8WP5FjtV`)=L) z>iscO({uVeQ+=jtYNo5dSTz+{EOb(II5;>gc{wQ!I5-6Sf8#0u%D>)J5Niq!4!+P< zOV2}3SxLa$*^v!q;cRBf=Huw{4~K&j67_L`ncG`>P@7p=+d2u;UUm1=QrlVx)9Ugl zLzG=4Ep2S&{M;-x{ZzEf{p`*8EoenW(1m;i{t-A@dcdfC937n81$=~Q|BF}P-}pb% z?6lPX<>Fy4Osl7?MlI>=W=YM<24REHil9>qxmj2VXh_NY_s9P%VOkpx4;KM;c5iQQ zHg7IAXE$qh4t{=qb_gdsC+GWr9`D_KojhPZ@15M~{zLJ9IixJz&E0HWJZznvsQ<$W zGjsOz5T>R5hg1JIxuuWo|FS!||9ANRgkb*;4DO*QNC-;9#3Dfd${r{-`|ATVy^3t;ZCrtMLj`N>j?EjGgm!6pAt%w58cUHx6UQ50)aQe8SRXdSVGb!hO0{%*4-7Tpi|)`JHO{#BNidcWB3) zDK85Rrd5gcKV9zLE05Xto`T@8P5$EaHAEP;6n-Aizo*;dYU2KZ*uUoje0cD`VaW^? zndJVsV@oy6YL8ie+QYo7^BDERGHn2a!*49rjIzvf%+!Fm%al3sem_}bMF`1|*ey+~ z>{W?TL$+L_?uPB+Iz{WFPAFqPj=W@ooINEdXb2w?{=3Hchl25&=wP9~HF>V}7)NA! zmJK)0&cvpWV*AIRqHk8)!>Nu+y`AypG3Vam&4C}~LU3kMvL8tkT&=nWR3i|DJDU0N zeDy#1<{1NRVnUROvB+;4Q@$G&)z&hQ?&H-(mGblE^N|y2hFvWexRMgi(aE`bbo7Z^lqX$g z{I#w3voy)8$K{KgK~Ax1Vfe7e>FuG1vnLP5uP$4Ef4)LNciztiKifWkP8aD5Vl?Xg zoF~(EyllbcnT)--<-yYXym-jXwXWi6v-k3JSGy!Ar^%%`pr;_}`^sqR3&s`l0{tRrOlXvA1R&@9EMmd_%~C zO|jTE*DuDCJ*EK*QC|aJQDhe?e#H;>H|zq)--xRZ_`4<#tnZZLtU-u)fhg?l79c}=P0YI_TFx7mi2CIeAyYN#{A2~)b*~4b0AiT}iC7>9J@;S%?^q{g8#+bM=Nc#yv%MlX%xThL3m$d32##r;KzE?0m0 z_w2>;EZ&zD*(QFmj}Ob#iA~r^sP_vhd3iQf<~F+_B0c?IvNs0Yj<%k-<8Pb3bmtza zsa>>o`)}I%TXVgiWsfvlMEGn_R2THprL1u+s(JFcHMEDJ32M$9c%| z11KB%Bw%c!lnY0K?AG@w=1G9N9rFUV7ONKcZ5$9TNn1lpIVn}St~k2jBOiX*<^pIPB|tW zOp#{*s>=+(rSpJuSiNP}aOrQ`+4hwtBE?H>h{J3e0K~e76TjfmJz_;58VuKCC+p5q zZV~o~S-=fy+)_=+6kR&1I4ux$Az>M2eVh!Myom-&$kT^pA-lB}Q+Y^mgce{$EF}*8 zrV{6_$&f7*VJUYkFSa`bM=AmVHaqf#62UI$8!kb!P(0Bd=T6x+`b0{qav<`41j71}$aXmC$JN4?!GRWYT>hK8I*R|m?a(xef-1K&~W zH_Wz-P>gdLB?I35eJ3M@g`_9`$>Z`p31*`OJRx`u-<�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

gDp9bID5-ORn)uOMahcDq}vobY- zyD{We>Y>WTetFH8%z`iH!~0duI#=>sR$RooIvyoCN<#{ZTP8oSxQKWQy{ralMTkd+ zQFoj}5@1k|ji>@D(M^tH{~(c-2rE9(=l;aW9+0;<4(S6~*{U#nWEoI*5cLlxqnwk< zmX>zXbdN+(m1zQAo$Z~4aY1JWlb~@Xj2N62fVHz7hQTCExPWOz3@0@{f(nLEk@M6K zB*Rg{DVEHq{?SwD?{ew(J8w;AdQKCvn-eO7Z$`g2MBIzMKB8E%A*$&2JhmU|ii~W> zxKYy}`a~pDPGFM?xNLKA7(V-{Cl6pq+Jow&jLKY1eBK&bi6ouN`$Mhu;6-kOT{-NSep z3*)_9r2r&fbPb_YF%F&YJqhEFOE>#}nZ4EVuYM?1Z{2;ln!fDy=75(Hn6cu`9c&^b zTOwsnYJM-OUt7ZS^PdCnNqjD#81~-1yjGd(CbrH144jA>!X<()M!i#U_nT71{yPvS zZ@gkKtmLM4b4zMRdSLqS;}3ob18kyTBAqOTpefan0BYAEBO&3HD3yY96{q`~;oyt$ z%%}lBS2b-(OKrQ;_V0dws@;2i7#puOAD8lX1MhXc?u}{Z+ulhSb|T!KI2uwvB@ig{ zAe^gq42(-68d6q>W!{@6RCSC~=D?q_kEb(X^X%GfAffuz$Uk}Mb^>vBzW`PE3& zXM;%qrh);W0^e;{%|jTNifb5`_xT$WLp?Iune;*i(&88$T=d<}@!4xdqx~=pwR6}Y zG?LR|ERA71FiBY779w5(Dyi>mf0{CTCfuY^DEoRx6P}sr=3BR8OL2YbIdhhKhEQwB zt(rEO@Y_f-DrE?mnn8496?~qZS|ao34EZpyG?f`);;I)MrSwC0 z0Q?!eJol&PeJ(@~Ux3sKzo_7xb2WrP@3@AwLt1gQ3jm#KY=_9UrX^1E%YEH&{d7u^ zX6OEtL-q2CEietmJ8n!xoiJ=lhOS^K<|JI$)|D1N@h55i^zqd4&i5hRfsy$qPzqs! z%kTY;G=J>zGoGCJ%zh*l6;aCI;itIUOJ0~sO3@})3u4Y!eXch9X-qxDY3WxKCtOGmo@ z7k?!Ue%}wK&;Im}rG8Q;SUf<_uG#<;N=%_a8e7UtCAezrX`sJJkY!3j+CT*ge~V$ngoi2Ap26tQ7Y|5b z{0VNGMJnqvd1;XE79|Z{x9>i0hFuvwy)a}HlwKGF&)+;;2fR^lp21M+;&0J8u4lGV z*#XVvv%fy$?@Dis(^Hsg(+67GHbii!<0sDHy)lX8pbC3~+E7b)lAk6OxN3>c&d!M1 zw|O&JAPIME)W~zHFqq8xjrhi+8|pc&dVsj-819@WZTJ!v{2Di|K(uw^GL5i?C9~9N zTzn5!8l$L+Fm8C6x?`jp<47o~VL}Ye?ZhqOTC!5Slsb0Qr_Qa-;WDP5^7!O<7{Qz+ zX_)p9y4;nq03n`2A7}J7y+V|33=HuWLPY zC4UEAa-8N1s_P?dasf6QMJ-#eWDhP|TVeZg*=m2`ip}0w4pUKrc)bk9;-6FjDHfu> zD^$`0VlTukajkMWB@^?fj$nv8lqz=aO||!bJ5mW$i!YO+q@v@tyHm%jUYq(KNA-cR zd${Ow`thKqq(VusL{gQqQi%=Ny=;Ha52vzD5LFPMm&su0MkSJpJ>U8r9EOV0=`Vkg z^+!E{WC0YyIV2<65={xKk^nzT)E$Q7RSM%ZZ4ScdlJ^Kir(^)y6NbgqX{;0PnL%yj zHHmc?b$i<3d7m+&v%krhS${|pd=~0$e`FM70yO@N?4b0IpX0i}>6sLgL&hcZXW#e~ zFX^HG97jkNcrM&rVRo`HDV1O!1T&J2QN|)96g(G_8Gcs^;`6FCq8@6O`B9=$SiPm_ z1C?YBHE+8vI4v!$VR@>}K<{ZSZi`Yqb`+Z$>a)mwbf&4P4r0siXJ9n⊚^UeDh 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 literal 0 HcmV?d00001 From 8601347d972cd55f8b282bcacb79d8cb802fbbc9 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Mon, 6 Jan 2025 08:40:30 -0600 Subject: [PATCH 6/9] Update to use QApplicationJavalinServer instead of QJavalinImplementation --- .../sampleapp/SampleJavalinServer.java | 55 ++----------------- .../sampleapp/SampleJavalinServerTest.java | 3 +- 2 files changed, 5 insertions(+), 53 deletions(-) diff --git a/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/SampleJavalinServer.java b/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/SampleJavalinServer.java index 2db652d5..4ab4f375 100644 --- a/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/SampleJavalinServer.java +++ b/qqq-sample-project/src/main/java/com/kingsrook/sampleapp/SampleJavalinServer.java @@ -23,10 +23,8 @@ package com.kingsrook.sampleapp; import com.kingsrook.qqq.backend.core.logging.QLogger; -import com.kingsrook.qqq.backend.core.model.metadata.QInstance; -import com.kingsrook.qqq.backend.javalin.QJavalinImplementation; +import com.kingsrook.qqq.middleware.javalin.QApplicationJavalinServer; import com.kingsrook.sampleapp.metadata.SampleMetaDataProvider; -import io.javalin.Javalin; /******************************************************************************* @@ -36,12 +34,6 @@ public class SampleJavalinServer { private static final QLogger LOG = QLogger.getLogger(SampleJavalinServer.class); - private static final int PORT = 8000; - - private QInstance qInstance; - - private Javalin javalinService; - /******************************************************************************* @@ -49,7 +41,7 @@ public class SampleJavalinServer *******************************************************************************/ public static void main(String[] args) { - new SampleJavalinServer().startJavalinServer(); + new SampleJavalinServer().start(); } @@ -57,38 +49,11 @@ public class SampleJavalinServer /******************************************************************************* ** *******************************************************************************/ - public void startJavalinServer() + public void start() { try { - qInstance = SampleMetaDataProvider.defineInstance(); - - QJavalinImplementation qJavalinImplementation = new QJavalinImplementation(qInstance); - javalinService = Javalin.create(config -> - { - config.router.apiBuilder(qJavalinImplementation.getRoutes()); - // todo - not all? - config.bundledPlugins.enableCors(cors -> cors.addRule(corsRule -> corsRule.anyHost())); - }).start(PORT); - - ///////////////////////////////////////////////////////////////// - // set the server to hot-swap the q instance before all routes // - ///////////////////////////////////////////////////////////////// - QJavalinImplementation.setQInstanceHotSwapSupplier(() -> - { - try - { - return (SampleMetaDataProvider.defineInstance()); - } - catch(Exception e) - { - LOG.warn("Error hot-swapping meta data", e); - return (null); - } - }); - javalinService.before(QJavalinImplementation::hotSwapQInstance); - - javalinService.after(ctx -> ctx.res().setHeader("Access-Control-Allow-Origin", "http://localhost:3000")); + new QApplicationJavalinServer(new SampleMetaDataProvider()).start(); } catch(Exception e) { @@ -96,16 +61,4 @@ public class SampleJavalinServer } } - - - /******************************************************************************* - ** - *******************************************************************************/ - public void stopJavalinServer() - { - if(javalinService != null) - { - javalinService.stop(); - } - } } diff --git a/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleJavalinServerTest.java b/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleJavalinServerTest.java index 0c6310d7..54722ff9 100644 --- a/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleJavalinServerTest.java +++ b/qqq-sample-project/src/test/java/com/kingsrook/sampleapp/SampleJavalinServerTest.java @@ -38,8 +38,7 @@ class SampleJavalinServerTest void testStartStop() { SampleJavalinServer sampleJavalinServer = new SampleJavalinServer(); - sampleJavalinServer.startJavalinServer(); - sampleJavalinServer.stopJavalinServer(); + sampleJavalinServer.start(); } } \ No newline at end of file From 86bf82f59098d7727691b45bf666b47eb2c2cc60 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Mon, 6 Jan 2025 08:56:01 -0600 Subject: [PATCH 7/9] Update assembly plugin config to work for building a jar-with-deps that works for launching javalin server; update qfmd to 0.24.0 --- qqq-sample-project/pom.xml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/qqq-sample-project/pom.xml b/qqq-sample-project/pom.xml index d7e8e2bf..3d23493d 100644 --- a/qqq-sample-project/pom.xml +++ b/qqq-sample-project/pom.xml @@ -68,7 +68,7 @@ com.kingsrook.qqq qqq-frontend-material-dashboard - 0.20.0 + 0.24.0-SNAPSHOT com.h2database @@ -119,12 +119,16 @@ jar-with-dependencies - - - com.kingsrook.sampleapp.SampleCli - - + + + make-assembly + package + + single + + + From b8ef480804f45596df0e4a4683453c8f296a0002 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Sat, 11 Jan 2025 20:30:45 -0600 Subject: [PATCH 8/9] minor grammar and typos [skip ci] --- docs/metaData/MetaDataProduction.adoc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/metaData/MetaDataProduction.adoc b/docs/metaData/MetaDataProduction.adoc index f19babf9..da872485 100644 --- a/docs/metaData/MetaDataProduction.adoc +++ b/docs/metaData/MetaDataProduction.adoc @@ -147,8 +147,8 @@ public class BackendMetaDataProvider As the size of your application grows, if you're doing per-object meta-data providers, you may find it burdensome, when adding a new object to your instance, to have to write code for it in two places - that is - a new class to produce that meta-data object, AND a single line of code to add that object -to your `QInstance`. As such, a mechanism to avoid that line-of-code to add the object to the -`QInstance` exists. +to your `QInstance`. As such, a mechanism exists to let you avoid that line-of-code for adding the object +to the `QInstance`. This mechanism involves adding the `MetaDataProducerInterface` to all of your classes that produce a meta-data object. This interface is generic, with a type parameter that will typically be the type of @@ -204,7 +204,7 @@ that are all related, and it's only a handful of lines of code for each one, may produce them all in the same class. Or maybe when you define a table, you'd like to define its joins and widgets at the same time. -This approach can be accomplished by making your `MetaDataProducerInterface`'s type argument by +This approach can be accomplished by making the type argument for your `MetaDataProducerInterface` be `MetaDataProducerMultiOutput` - a simple class that just wraps a list of other `MetaDataProducerOutput` objects. @@ -238,12 +238,13 @@ be specified in their meta-data object. At the same time, if you're writing any custom code in your QQQ application (e.g., any processes or table customizers), where you're working with records from tables, you may prefer being able to work with entity beans (e.g., java classes with typed getter & setter methods), -rather than the default object type that QQQ's ORM actions return, the `QRecord`, which carriers all -of its values in a `Map`. QQQ has a mechanism for dealing with this - in the form of the `QRecordEntity` -class. +rather than the default object type that QQQ's ORM actions return, the `QRecord`, which carries all +of its values in a `Map` (where you don't get compile-time checks of field names or data types). +QQQ has a mechanism for dealing with this - in the form of the `QRecordEntity` class. So - if you want to build your application using entity beans (which is recommended, for the compile-time -safety that they provide in custom code), you will be writing a `QRecordEntity` class, which will look like: +safety that they provide in custom code), you will be writing a `QRecordEntity` class for each of your tables, +which will look like: [source,java] .QRecordEntity example @@ -280,7 +281,7 @@ public QTableMetaData produce(QInstance qInstance) throws QExcpetion ---- That `withFieldsFromEntity` call is one of the biggest benefits of this technique. It allows you to avoid defining -all of the field in you table in two place (the entity and the table meta-data). +all of the fields in you table in two places (the entity and the table meta-data). == MetaData Producing Annotations for Entities From 64de5c9913f0642e1658dda4b82d6874ddb039ae Mon Sep 17 00:00:00 2001 From: Tim Chamberlain Date: Wed, 15 Jan 2025 14:30:34 -0600 Subject: [PATCH 9/9] downgrade some logs --- .../qqq/backend/core/actions/async/AsyncRecordPipeLoop.java | 2 +- .../etl/streamedwithfrontend/StreamedETLExecuteStep.java | 2 +- .../tablesync/AbstractTableSyncTransformStep.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/async/AsyncRecordPipeLoop.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/async/AsyncRecordPipeLoop.java index cbcb6397..f913a5b3 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/async/AsyncRecordPipeLoop.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/async/AsyncRecordPipeLoop.java @@ -186,7 +186,7 @@ public class AsyncRecordPipeLoop if(recordCount > 0) { - LOG.info("End of job summary", logPair("recordCount", recordCount), logPair("jobName", jobName), logPair("millis", endTime - jobStartTime), logPair("recordsPerSecond", 1000d * (recordCount / (.001d + (endTime - jobStartTime))))); + LOG.debug("End of job summary", logPair("recordCount", recordCount), logPair("jobName", jobName), logPair("millis", endTime - jobStartTime), logPair("recordsPerSecond", 1000d * (recordCount / (.001d + (endTime - jobStartTime))))); } return (recordCount); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/StreamedETLExecuteStep.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/StreamedETLExecuteStep.java index 4dc9d6d3..46bfba94 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/StreamedETLExecuteStep.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/processes/implementations/etl/streamedwithfrontend/StreamedETLExecuteStep.java @@ -189,7 +189,7 @@ public class StreamedETLExecuteStep extends BaseStreamedETLStep implements Backe if(recordCount > 0) { - LOG.info("Processed [" + recordCount + "] records."); + LOG.debug("Processed [" + recordCount + "] records."); } ////////////////////////////////////////////////////////////////////////////// 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 ca998f4f..b14847f7 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 @@ -223,7 +223,7 @@ public abstract class AbstractTableSyncTransformStep extends AbstractTransformSt { if(CollectionUtils.nullSafeIsEmpty(runBackendStepInput.getRecords())) { - LOG.info("No input records were found."); + LOG.debug("No input records were found."); return; }