QQQ-21 updated per updated backend-core - process function -> step renames

This commit is contained in:
2022-07-06 13:57:48 -05:00
parent 933cd2a6ed
commit cab8a4b794
2 changed files with 62 additions and 16 deletions

View File

@ -24,7 +24,7 @@ package com.kingsrook.sampleapp;
import java.util.List; import java.util.List;
import com.kingsrook.qqq.backend.core.exceptions.QException; import com.kingsrook.qqq.backend.core.exceptions.QException;
import com.kingsrook.qqq.backend.core.interfaces.mock.MockFunctionBody; import com.kingsrook.qqq.backend.core.interfaces.mock.MockBackendStep;
import com.kingsrook.qqq.backend.core.model.metadata.QAuthenticationMetaData; import com.kingsrook.qqq.backend.core.model.metadata.QAuthenticationMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.QBackendMetaData; import com.kingsrook.qqq.backend.core.model.metadata.QBackendMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.QCodeReference; import com.kingsrook.qqq.backend.core.model.metadata.QCodeReference;
@ -34,8 +34,9 @@ import com.kingsrook.qqq.backend.core.model.metadata.QFieldMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.QFieldType; import com.kingsrook.qqq.backend.core.model.metadata.QFieldType;
import com.kingsrook.qqq.backend.core.model.metadata.QInstance; import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
import com.kingsrook.qqq.backend.core.model.metadata.QTableMetaData; import com.kingsrook.qqq.backend.core.model.metadata.QTableMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.processes.QBackendStepMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.processes.QFrontendStepMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.processes.QFunctionInputMetaData; import com.kingsrook.qqq.backend.core.model.metadata.processes.QFunctionInputMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.processes.QFunctionMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.processes.QFunctionOutputMetaData; import com.kingsrook.qqq.backend.core.model.metadata.processes.QFunctionOutputMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.processes.QProcessMetaData; import com.kingsrook.qqq.backend.core.model.metadata.processes.QProcessMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.processes.QRecordListMetaData; import com.kingsrook.qqq.backend.core.model.metadata.processes.QRecordListMetaData;
@ -51,9 +52,10 @@ import com.kingsrook.qqq.backend.module.rdbms.model.metadata.RDBMSBackendMetaDat
*******************************************************************************/ *******************************************************************************/
public class SampleMetaDataProvider public class SampleMetaDataProvider
{ {
public static final String MYSQL_BACKEND_NAME = "mysql"; public static final String MYSQL_BACKEND_NAME = "mysql";
public static final String FILESYSTEM_BACKEND_NAME = "filesystem"; public static final String FILESYSTEM_BACKEND_NAME = "filesystem";
public static final String PROCESS_NAME_GREET = "greet"; public static final String PROCESS_NAME_GREET = "greet";
public static final String PROCESS_NAME_GREET_INTERACTIVE = "greetInteractive";
@ -64,13 +66,14 @@ public class SampleMetaDataProvider
{ {
QInstance qInstance = new QInstance(); QInstance qInstance = new QInstance();
qInstance.setAuthentication(SampleMetaDataProvider.defineAuthentication()); qInstance.setAuthentication(defineAuthentication());
qInstance.addBackend(SampleMetaDataProvider.defineMysqlBackend()); qInstance.addBackend(defineMysqlBackend());
qInstance.addBackend(SampleMetaDataProvider.defineFilesystemBackend()); qInstance.addBackend(defineFilesystemBackend());
qInstance.addTable(SampleMetaDataProvider.defineTableCarrier()); qInstance.addTable(defineTableCarrier());
qInstance.addTable(SampleMetaDataProvider.defineTablePerson()); qInstance.addTable(defineTablePerson());
qInstance.addTable(SampleMetaDataProvider.defineTableCityFile()); qInstance.addTable(defineTableCityFile());
qInstance.addProcess(SampleMetaDataProvider.defineProcessGreetPeople()); qInstance.addProcess(defineProcessGreetPeople());
qInstance.addProcess(defineProcessGreetPeopleInteractive());
return (qInstance); return (qInstance);
} }
@ -195,10 +198,10 @@ public class SampleMetaDataProvider
.withName(PROCESS_NAME_GREET) .withName(PROCESS_NAME_GREET)
.withLabel("Greet People") .withLabel("Greet People")
.withTableName("person") .withTableName("person")
.addFunction(new QFunctionMetaData() .addStep(new QBackendStepMetaData()
.withName("prepare") .withName("prepare")
.withCode(new QCodeReference() .withCode(new QCodeReference()
.withName(MockFunctionBody.class.getName()) .withName(MockBackendStep.class.getName())
.withCodeType(QCodeType.JAVA) .withCodeType(QCodeType.JAVA)
.withCodeUsage(QCodeUsage.FUNCTION)) // todo - needed, or implied in this context? .withCodeUsage(QCodeUsage.FUNCTION)) // todo - needed, or implied in this context?
.withInputData(new QFunctionInputMetaData() .withInputData(new QFunctionInputMetaData()
@ -216,4 +219,46 @@ public class SampleMetaDataProvider
); );
} }
/*******************************************************************************
** Define an interactive version of the 'greet people' process
*******************************************************************************/
private static QProcessMetaData defineProcessGreetPeopleInteractive()
{
return new QProcessMetaData()
.withName(PROCESS_NAME_GREET_INTERACTIVE)
.withTableName("person")
.addStep(new QFrontendStepMetaData()
.withName("setup")
.withFormField(new QFieldMetaData("greetingPrefix", QFieldType.STRING))
.withFormField(new QFieldMetaData("greetingSuffix", QFieldType.STRING))
)
.addStep(new QBackendStepMetaData()
.withName("doWork")
.withCode(new QCodeReference()
.withName(MockBackendStep.class.getName())
.withCodeType(QCodeType.JAVA)
.withCodeUsage(QCodeUsage.FUNCTION)) // todo - needed, or implied in this context?
.withInputData(new QFunctionInputMetaData()
.withRecordListMetaData(new QRecordListMetaData().withTableName("person"))
.withFieldList(List.of(
new QFieldMetaData("greetingPrefix", QFieldType.STRING),
new QFieldMetaData("greetingSuffix", QFieldType.STRING)
)))
.withOutputMetaData(new QFunctionOutputMetaData()
.withRecordListMetaData(new QRecordListMetaData()
.withTableName("person")
.addField(new QFieldMetaData("fullGreeting", QFieldType.STRING))
)
.withFieldList(List.of(new QFieldMetaData("outputMessage", QFieldType.STRING))))
)
.addStep(new QFrontendStepMetaData()
.withName("results")
.withFormField(new QFieldMetaData("outputMessage", QFieldType.STRING))
);
}
} }

View File

@ -27,6 +27,7 @@ import java.io.IOException;
import java.util.UUID; import java.util.UUID;
import com.kingsrook.qqq.backend.core.actions.QueryAction; import com.kingsrook.qqq.backend.core.actions.QueryAction;
import com.kingsrook.qqq.backend.core.actions.RunProcessAction; import com.kingsrook.qqq.backend.core.actions.RunProcessAction;
import com.kingsrook.qqq.backend.core.interfaces.mock.MockBackendStep;
import com.kingsrook.qqq.backend.core.model.actions.processes.RunProcessRequest; import com.kingsrook.qqq.backend.core.model.actions.processes.RunProcessRequest;
import com.kingsrook.qqq.backend.core.model.actions.processes.RunProcessResult; import com.kingsrook.qqq.backend.core.model.actions.processes.RunProcessResult;
import com.kingsrook.qqq.backend.core.model.actions.query.QueryRequest; import com.kingsrook.qqq.backend.core.model.actions.query.QueryRequest;
@ -113,8 +114,8 @@ class SampleMetaDataProviderTest
QueryResult queryResult = new QueryAction().execute(queryRequest); QueryResult queryResult = new QueryAction().execute(queryRequest);
request.setRecords(queryResult.getRecords()); request.setRecords(queryResult.getRecords());
request.addValue("greetingPrefix", "Hello"); request.addValue(MockBackendStep.FIELD_GREETING_PREFIX, "Hello");
request.addValue("greetingSuffix", "there"); request.addValue(MockBackendStep.FIELD_GREETING_SUFFIX, "there");
RunProcessResult result = new RunProcessAction().execute(request); RunProcessResult result = new RunProcessAction().execute(request);
assertNotNull(result); assertNotNull(result);