Renaming MiddlewareMetaData to SupplementalMetaData

This commit is contained in:
2023-06-08 18:24:56 -05:00
parent 4ccc726f2e
commit 6a01754479
18 changed files with 128 additions and 125 deletions

View File

@ -62,7 +62,7 @@ import com.kingsrook.qqq.backend.core.model.metadata.reporting.QReportMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.reporting.QReportView; import com.kingsrook.qqq.backend.core.model.metadata.reporting.QReportView;
import com.kingsrook.qqq.backend.core.model.metadata.tables.ExposedJoin; import com.kingsrook.qqq.backend.core.model.metadata.tables.ExposedJoin;
import com.kingsrook.qqq.backend.core.model.metadata.tables.QFieldSection; import com.kingsrook.qqq.backend.core.model.metadata.tables.QFieldSection;
import com.kingsrook.qqq.backend.core.model.metadata.tables.QMiddlewareTableMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QSupplementalTableMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.tables.Tier; import com.kingsrook.qqq.backend.core.model.metadata.tables.Tier;
import com.kingsrook.qqq.backend.core.processes.implementations.bulk.delete.BulkDeleteLoadStep; import com.kingsrook.qqq.backend.core.processes.implementations.bulk.delete.BulkDeleteLoadStep;
@ -261,9 +261,9 @@ public class QInstanceEnricher
{ {
table.getFields().values().forEach(this::enrichField); table.getFields().values().forEach(this::enrichField);
for(QMiddlewareTableMetaData middlewareTableMetaData : CollectionUtils.nonNullMap(table.getMiddlewareMetaData()).values()) for(QSupplementalTableMetaData supplementalTableMetaData : CollectionUtils.nonNullMap(table.getSupplementalMetaData()).values())
{ {
middlewareTableMetaData.enrich(table); supplementalTableMetaData.enrich(table);
} }
} }

View File

@ -48,7 +48,7 @@ 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.actions.tables.query.QueryJoin;
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.QInstance; import com.kingsrook.qqq.backend.core.model.metadata.QInstance;
import com.kingsrook.qqq.backend.core.model.metadata.QMiddlewareInstanceMetaData; import com.kingsrook.qqq.backend.core.model.metadata.QSupplementalInstanceMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeReference; import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeReference;
import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeType; import com.kingsrook.qqq.backend.core.model.metadata.code.QCodeType;
import com.kingsrook.qqq.backend.core.model.metadata.fields.AdornmentType; import com.kingsrook.qqq.backend.core.model.metadata.fields.AdornmentType;
@ -158,7 +158,7 @@ public class QInstanceValidator
validateQueuesAndProviders(qInstance); validateQueuesAndProviders(qInstance);
validateJoins(qInstance); validateJoins(qInstance);
validateSecurityKeyTypes(qInstance); validateSecurityKeyTypes(qInstance);
validateMiddlewareMetaData(qInstance); validateSupplementalMetaData(qInstance);
validateUniqueTopLevelNames(qInstance); validateUniqueTopLevelNames(qInstance);
} }
@ -182,11 +182,11 @@ public class QInstanceValidator
/******************************************************************************* /*******************************************************************************
** **
*******************************************************************************/ *******************************************************************************/
private void validateMiddlewareMetaData(QInstance qInstance) private void validateSupplementalMetaData(QInstance qInstance)
{ {
for(QMiddlewareInstanceMetaData middlewareInstanceMetaData : CollectionUtils.nonNullMap(qInstance.getMiddlewareMetaData()).values()) for(QSupplementalInstanceMetaData supplementalInstanceMetaData : CollectionUtils.nonNullMap(qInstance.getSupplementalMetaData()).values())
{ {
middlewareInstanceMetaData.validate(qInstance, this); supplementalInstanceMetaData.validate(qInstance, this);
} }
} }

View File

@ -91,7 +91,7 @@ public class QInstance
private Map<String, QQueueProviderMetaData> queueProviders = new LinkedHashMap<>(); private Map<String, QQueueProviderMetaData> queueProviders = new LinkedHashMap<>();
private Map<String, QQueueMetaData> queues = new LinkedHashMap<>(); private Map<String, QQueueMetaData> queues = new LinkedHashMap<>();
private Map<String, QMiddlewareInstanceMetaData> middlewareMetaData = new LinkedHashMap<>(); private Map<String, QSupplementalInstanceMetaData> supplementalMetaData = new LinkedHashMap<>();
private Map<String, String> environmentValues = new LinkedHashMap<>(); private Map<String, String> environmentValues = new LinkedHashMap<>();
private String defaultTimeZoneId = "UTC"; private String defaultTimeZoneId = "UTC";
@ -1083,60 +1083,60 @@ public class QInstance
/******************************************************************************* /*******************************************************************************
** Getter for middlewareMetaData ** Getter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public Map<String, QMiddlewareInstanceMetaData> getMiddlewareMetaData() public Map<String, QSupplementalInstanceMetaData> getSupplementalMetaData()
{ {
return (this.middlewareMetaData); return (this.supplementalMetaData);
} }
/******************************************************************************* /*******************************************************************************
** Getter for middlewareMetaData ** Getter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public QMiddlewareInstanceMetaData getMiddlewareMetaData(String type) public QSupplementalInstanceMetaData getSupplementalMetaData(String type)
{ {
if(this.middlewareMetaData == null) if(this.supplementalMetaData == null)
{ {
return (null); return (null);
} }
return this.middlewareMetaData.get(type); return this.supplementalMetaData.get(type);
} }
/******************************************************************************* /*******************************************************************************
** Setter for middlewareMetaData ** Setter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public void setMiddlewareMetaData(Map<String, QMiddlewareInstanceMetaData> middlewareMetaData) public void setSupplementalMetaData(Map<String, QSupplementalInstanceMetaData> supplementalMetaData)
{ {
this.middlewareMetaData = middlewareMetaData; this.supplementalMetaData = supplementalMetaData;
} }
/******************************************************************************* /*******************************************************************************
** Fluent setter for middlewareMetaData ** Fluent setter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public QInstance withMiddlewareMetaData(Map<String, QMiddlewareInstanceMetaData> middlewareMetaData) public QInstance withSupplementalMetaData(Map<String, QSupplementalInstanceMetaData> supplementalMetaData)
{ {
this.middlewareMetaData = middlewareMetaData; this.supplementalMetaData = supplementalMetaData;
return (this); return (this);
} }
/******************************************************************************* /*******************************************************************************
** Fluent setter for middlewareMetaData ** Fluent setter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public QInstance withMiddlewareMetaData(QMiddlewareInstanceMetaData middlewareMetaData) public QInstance withSupplementalMetaData(QSupplementalInstanceMetaData supplementalMetaData)
{ {
if(this.middlewareMetaData == null) if(this.supplementalMetaData == null)
{ {
this.middlewareMetaData = new HashMap<>(); this.supplementalMetaData = new HashMap<>();
} }
this.middlewareMetaData.put(middlewareMetaData.getType(), middlewareMetaData); this.supplementalMetaData.put(supplementalMetaData.getType(), supplementalMetaData);
return (this); return (this);
} }

View File

@ -27,9 +27,10 @@ import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
/******************************************************************************* /*******************************************************************************
** Base-class for instance-level meta-data defined for a specific middleware. ** Base-class for instance-level meta-data defined by some supplemental module, etc,
** outside of qqq core
*******************************************************************************/ *******************************************************************************/
public abstract class QMiddlewareInstanceMetaData public abstract class QSupplementalInstanceMetaData
{ {
protected String type; protected String type;
@ -58,7 +59,7 @@ public abstract class QMiddlewareInstanceMetaData
/******************************************************************************* /*******************************************************************************
** Fluent setter for type ** Fluent setter for type
*******************************************************************************/ *******************************************************************************/
public QMiddlewareInstanceMetaData withType(String type) public QSupplementalInstanceMetaData withType(String type)
{ {
this.type = type; this.type = type;
return (this); return (this);

View File

@ -85,7 +85,7 @@ public class QFieldMetaData implements Cloneable
private List<FieldAdornment> adornments; private List<FieldAdornment> adornments;
private Map<String, QMiddlewareFieldMetaData> middlewareMetaData; private Map<String, QSupplementalFieldMetaData> supplementalMetaData;
@ -840,60 +840,60 @@ public class QFieldMetaData implements Cloneable
/******************************************************************************* /*******************************************************************************
** Getter for middlewareMetaData ** Getter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public Map<String, QMiddlewareFieldMetaData> getMiddlewareMetaData() public Map<String, QSupplementalFieldMetaData> getSupplementalMetaData()
{ {
return (this.middlewareMetaData); return (this.supplementalMetaData);
} }
/******************************************************************************* /*******************************************************************************
** Getter for middlewareMetaData ** Getter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public QMiddlewareFieldMetaData getMiddlewareMetaData(String type) public QSupplementalFieldMetaData getSupplementalMetaData(String type)
{ {
if(this.middlewareMetaData == null) if(this.supplementalMetaData == null)
{ {
return (null); return (null);
} }
return this.middlewareMetaData.get(type); return this.supplementalMetaData.get(type);
} }
/******************************************************************************* /*******************************************************************************
** Setter for middlewareMetaData ** Setter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public void setMiddlewareMetaData(Map<String, QMiddlewareFieldMetaData> middlewareMetaData) public void setSupplementalMetaData(Map<String, QSupplementalFieldMetaData> supplementalMetaData)
{ {
this.middlewareMetaData = middlewareMetaData; this.supplementalMetaData = supplementalMetaData;
} }
/******************************************************************************* /*******************************************************************************
** Fluent setter for middlewareMetaData ** Fluent setter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public QFieldMetaData withMiddlewareMetaData(Map<String, QMiddlewareFieldMetaData> middlewareMetaData) public QFieldMetaData withSupplementalMetaData(Map<String, QSupplementalFieldMetaData> supplementalMetaData)
{ {
this.middlewareMetaData = middlewareMetaData; this.supplementalMetaData = supplementalMetaData;
return (this); return (this);
} }
/******************************************************************************* /*******************************************************************************
** Fluent setter for middlewareMetaData ** Fluent setter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public QFieldMetaData withMiddlewareMetaData(QMiddlewareFieldMetaData middlewareMetaData) public QFieldMetaData withSupplementalMetaData(QSupplementalFieldMetaData supplementalMetaData)
{ {
if(this.middlewareMetaData == null) if(this.supplementalMetaData == null)
{ {
this.middlewareMetaData = new HashMap<>(); this.supplementalMetaData = new HashMap<>();
} }
this.middlewareMetaData.put(middlewareMetaData.getType(), middlewareMetaData); this.supplementalMetaData.put(supplementalMetaData.getType(), supplementalMetaData);
return (this); return (this);
} }

View File

@ -23,9 +23,10 @@ package com.kingsrook.qqq.backend.core.model.metadata.fields;
/******************************************************************************* /*******************************************************************************
** Base-class for field-level meta-data defined for a specific middleware. ** Base-class for field-level meta-data defined by some supplemental module, etc,
** outside of qqq core
*******************************************************************************/ *******************************************************************************/
public abstract class QMiddlewareFieldMetaData public abstract class QSupplementalFieldMetaData
{ {
protected String type; protected String type;
@ -54,7 +55,7 @@ public abstract class QMiddlewareFieldMetaData
/******************************************************************************* /*******************************************************************************
** Fluent setter for type ** Fluent setter for type
*******************************************************************************/ *******************************************************************************/
public QMiddlewareFieldMetaData withType(String type) public QSupplementalFieldMetaData withType(String type)
{ {
this.type = type; this.type = type;
return (this); return (this);

View File

@ -23,9 +23,10 @@ package com.kingsrook.qqq.backend.core.model.metadata.tables;
/******************************************************************************* /*******************************************************************************
** Base-class for table-level meta-data defined for a specific middleware. ** Base-class for table-level meta-data defined by some supplemental module, etc,
** outside of qqq core
*******************************************************************************/ *******************************************************************************/
public abstract class QMiddlewareTableMetaData public abstract class QSupplementalTableMetaData
{ {
protected String type; protected String type;
@ -54,7 +55,7 @@ public abstract class QMiddlewareTableMetaData
/******************************************************************************* /*******************************************************************************
** Fluent setter for type ** Fluent setter for type
*******************************************************************************/ *******************************************************************************/
public QMiddlewareTableMetaData withType(String type) public QSupplementalTableMetaData withType(String type)
{ {
this.type = type; this.type = type;
return (this); return (this);

View File

@ -99,7 +99,7 @@ public class QTableMetaData implements QAppChildMetaData, Serializable, MetaData
private CacheOf cacheOf; private CacheOf cacheOf;
private Map<String, QMiddlewareTableMetaData> middlewareMetaData; private Map<String, QSupplementalTableMetaData> supplementalMetaData;
private List<ExposedJoin> exposedJoins; private List<ExposedJoin> exposedJoins;
@ -1189,60 +1189,60 @@ public class QTableMetaData implements QAppChildMetaData, Serializable, MetaData
/******************************************************************************* /*******************************************************************************
** Getter for middlewareMetaData ** Getter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public Map<String, QMiddlewareTableMetaData> getMiddlewareMetaData() public Map<String, QSupplementalTableMetaData> getSupplementalMetaData()
{ {
return (this.middlewareMetaData); return (this.supplementalMetaData);
} }
/******************************************************************************* /*******************************************************************************
** Getter for middlewareMetaData ** Getter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public QMiddlewareTableMetaData getMiddlewareMetaData(String type) public QSupplementalTableMetaData getSupplementalMetaData(String type)
{ {
if(this.middlewareMetaData == null) if(this.supplementalMetaData == null)
{ {
return (null); return (null);
} }
return this.middlewareMetaData.get(type); return this.supplementalMetaData.get(type);
} }
/******************************************************************************* /*******************************************************************************
** Setter for middlewareMetaData ** Setter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public void setMiddlewareMetaData(Map<String, QMiddlewareTableMetaData> middlewareMetaData) public void setSupplementalMetaData(Map<String, QSupplementalTableMetaData> supplementalMetaData)
{ {
this.middlewareMetaData = middlewareMetaData; this.supplementalMetaData = supplementalMetaData;
} }
/******************************************************************************* /*******************************************************************************
** Fluent setter for middlewareMetaData ** Fluent setter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public QTableMetaData withMiddlewareMetaData(Map<String, QMiddlewareTableMetaData> middlewareMetaData) public QTableMetaData withSupplementalMetaData(Map<String, QSupplementalTableMetaData> supplementalMetaData)
{ {
this.middlewareMetaData = middlewareMetaData; this.supplementalMetaData = supplementalMetaData;
return (this); return (this);
} }
/******************************************************************************* /*******************************************************************************
** Fluent setter for middlewareMetaData ** Fluent setter for supplementalMetaData
*******************************************************************************/ *******************************************************************************/
public QTableMetaData withMiddlewareMetaData(QMiddlewareTableMetaData middlewareMetaData) public QTableMetaData withSupplementalMetaData(QSupplementalTableMetaData supplementalMetaData)
{ {
if(this.middlewareMetaData == null) if(this.supplementalMetaData == null)
{ {
this.middlewareMetaData = new HashMap<>(); this.supplementalMetaData = new HashMap<>();
} }
this.middlewareMetaData.put(middlewareMetaData.getType(), middlewareMetaData); this.supplementalMetaData.put(supplementalMetaData.getType(), supplementalMetaData);
return (this); return (this);
} }

View File

@ -25,7 +25,7 @@ package com.kingsrook.qqq.api;
/******************************************************************************* /*******************************************************************************
** **
*******************************************************************************/ *******************************************************************************/
public interface ApiMiddlewareType public interface ApiSupplementType
{ {
String NAME = "api"; String NAME = "api";

View File

@ -24,17 +24,17 @@ package com.kingsrook.qqq.api.model.metadata;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import com.kingsrook.qqq.api.ApiMiddlewareType; import com.kingsrook.qqq.api.ApiSupplementType;
import com.kingsrook.qqq.backend.core.instances.QInstanceValidator; import com.kingsrook.qqq.backend.core.instances.QInstanceValidator;
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.QMiddlewareInstanceMetaData; import com.kingsrook.qqq.backend.core.model.metadata.QSupplementalInstanceMetaData;
import com.kingsrook.qqq.backend.core.utils.CollectionUtils; import com.kingsrook.qqq.backend.core.utils.CollectionUtils;
/******************************************************************************* /*******************************************************************************
** **
*******************************************************************************/ *******************************************************************************/
public class ApiInstanceMetaDataContainer extends QMiddlewareInstanceMetaData public class ApiInstanceMetaDataContainer extends QSupplementalInstanceMetaData
{ {
private Map<String, ApiInstanceMetaData> apis; private Map<String, ApiInstanceMetaData> apis;
@ -46,7 +46,7 @@ public class ApiInstanceMetaDataContainer extends QMiddlewareInstanceMetaData
*******************************************************************************/ *******************************************************************************/
public ApiInstanceMetaDataContainer() public ApiInstanceMetaDataContainer()
{ {
setType(ApiMiddlewareType.NAME); setType(ApiSupplementType.NAME);
} }
@ -56,7 +56,7 @@ public class ApiInstanceMetaDataContainer extends QMiddlewareInstanceMetaData
*******************************************************************************/ *******************************************************************************/
public static ApiInstanceMetaDataContainer of(QInstance qInstance) public static ApiInstanceMetaDataContainer of(QInstance qInstance)
{ {
return ((ApiInstanceMetaDataContainer) qInstance.getMiddlewareMetaData(ApiMiddlewareType.NAME)); return ((ApiInstanceMetaDataContainer) qInstance.getSupplementalMetaData(ApiSupplementType.NAME));
} }

View File

@ -24,15 +24,15 @@ package com.kingsrook.qqq.api.model.metadata.fields;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import com.kingsrook.qqq.api.ApiMiddlewareType; import com.kingsrook.qqq.api.ApiSupplementType;
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData; import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.fields.QMiddlewareFieldMetaData; import com.kingsrook.qqq.backend.core.model.metadata.fields.QSupplementalFieldMetaData;
/******************************************************************************* /*******************************************************************************
** **
*******************************************************************************/ *******************************************************************************/
public class ApiFieldMetaDataContainer extends QMiddlewareFieldMetaData public class ApiFieldMetaDataContainer extends QSupplementalFieldMetaData
{ {
private Map<String, ApiFieldMetaData> apis; private Map<String, ApiFieldMetaData> apis;
@ -54,7 +54,7 @@ public class ApiFieldMetaDataContainer extends QMiddlewareFieldMetaData
*******************************************************************************/ *******************************************************************************/
public static ApiFieldMetaDataContainer of(QFieldMetaData field) public static ApiFieldMetaDataContainer of(QFieldMetaData field)
{ {
return ((ApiFieldMetaDataContainer) field.getMiddlewareMetaData(ApiMiddlewareType.NAME)); return ((ApiFieldMetaDataContainer) field.getSupplementalMetaData(ApiSupplementType.NAME));
} }

View File

@ -27,7 +27,7 @@ import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import com.kingsrook.qqq.api.ApiMiddlewareType; import com.kingsrook.qqq.api.ApiSupplementType;
import com.kingsrook.qqq.api.model.APIVersionRange; import com.kingsrook.qqq.api.model.APIVersionRange;
import com.kingsrook.qqq.api.model.metadata.ApiOperation; import com.kingsrook.qqq.api.model.metadata.ApiOperation;
import com.kingsrook.qqq.api.model.metadata.fields.ApiFieldMetaData; import com.kingsrook.qqq.api.model.metadata.fields.ApiFieldMetaData;
@ -81,7 +81,7 @@ public class ApiTableMetaData implements ApiOperation.EnabledOperationsProvider
{ {
for(QFieldMetaData field : table.getFields().values()) for(QFieldMetaData field : table.getFields().values())
{ {
ApiFieldMetaData apiFieldMetaData = ensureFieldHasApiMiddlewareMetaData(apiName, field); ApiFieldMetaData apiFieldMetaData = ensureFieldHasApiSupplementalMetaData(apiName, field);
if(apiFieldMetaData.getInitialVersion() == null) if(apiFieldMetaData.getInitialVersion() == null)
{ {
apiFieldMetaData.setInitialVersion(initialVersion); apiFieldMetaData.setInitialVersion(initialVersion);
@ -90,7 +90,7 @@ public class ApiTableMetaData implements ApiOperation.EnabledOperationsProvider
for(QFieldMetaData field : CollectionUtils.nonNullList(removedApiFields)) for(QFieldMetaData field : CollectionUtils.nonNullList(removedApiFields))
{ {
ApiFieldMetaData apiFieldMetaData = ensureFieldHasApiMiddlewareMetaData(apiName, field); ApiFieldMetaData apiFieldMetaData = ensureFieldHasApiSupplementalMetaData(apiName, field);
if(apiFieldMetaData.getInitialVersion() == null) if(apiFieldMetaData.getInitialVersion() == null)
{ {
apiFieldMetaData.setInitialVersion(initialVersion); apiFieldMetaData.setInitialVersion(initialVersion);
@ -104,11 +104,11 @@ public class ApiTableMetaData implements ApiOperation.EnabledOperationsProvider
/******************************************************************************* /*******************************************************************************
** **
*******************************************************************************/ *******************************************************************************/
private static ApiFieldMetaData ensureFieldHasApiMiddlewareMetaData(String apiName, QFieldMetaData field) private static ApiFieldMetaData ensureFieldHasApiSupplementalMetaData(String apiName, QFieldMetaData field)
{ {
if(field.getMiddlewareMetaData(ApiMiddlewareType.NAME) == null) if(field.getSupplementalMetaData(ApiSupplementType.NAME) == null)
{ {
field.withMiddlewareMetaData(new ApiFieldMetaDataContainer()); field.withSupplementalMetaData(new ApiFieldMetaDataContainer());
} }
ApiFieldMetaDataContainer apiFieldMetaDataContainer = ApiFieldMetaDataContainer.of(field); ApiFieldMetaDataContainer apiFieldMetaDataContainer = ApiFieldMetaDataContainer.of(field);

View File

@ -24,8 +24,8 @@ package com.kingsrook.qqq.api.model.metadata.tables;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import com.kingsrook.qqq.api.ApiMiddlewareType; import com.kingsrook.qqq.api.ApiSupplementType;
import com.kingsrook.qqq.backend.core.model.metadata.tables.QMiddlewareTableMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QSupplementalTableMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData; import com.kingsrook.qqq.backend.core.model.metadata.tables.QTableMetaData;
import com.kingsrook.qqq.backend.core.utils.CollectionUtils; import com.kingsrook.qqq.backend.core.utils.CollectionUtils;
@ -33,7 +33,7 @@ import com.kingsrook.qqq.backend.core.utils.CollectionUtils;
/******************************************************************************* /*******************************************************************************
** **
*******************************************************************************/ *******************************************************************************/
public class ApiTableMetaDataContainer extends QMiddlewareTableMetaData public class ApiTableMetaDataContainer extends QSupplementalTableMetaData
{ {
private Map<String, ApiTableMetaData> apis; private Map<String, ApiTableMetaData> apis;
@ -55,7 +55,7 @@ public class ApiTableMetaDataContainer extends QMiddlewareTableMetaData
*******************************************************************************/ *******************************************************************************/
public static ApiTableMetaDataContainer of(QTableMetaData table) public static ApiTableMetaDataContainer of(QTableMetaData table)
{ {
return ((ApiTableMetaDataContainer) table.getMiddlewareMetaData(ApiMiddlewareType.NAME)); return ((ApiTableMetaDataContainer) table.getSupplementalMetaData(ApiSupplementType.NAME));
} }

View File

@ -105,7 +105,7 @@ public class TestUtils
qInstance.setAuthentication(new Auth0AuthenticationMetaData().withType(QAuthenticationType.FULLY_ANONYMOUS).withName("anonymous")); qInstance.setAuthentication(new Auth0AuthenticationMetaData().withType(QAuthenticationType.FULLY_ANONYMOUS).withName("anonymous"));
qInstance.withMiddlewareMetaData(new ApiInstanceMetaDataContainer() qInstance.withSupplementalMetaData(new ApiInstanceMetaDataContainer()
.withApiInstanceMetaData(new ApiInstanceMetaData() .withApiInstanceMetaData(new ApiInstanceMetaData()
.withName(API_NAME) .withName(API_NAME)
.withPath("/api/") .withPath("/api/")
@ -204,7 +204,7 @@ public class TestUtils
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// make some changes to this table in the "main" api (but leave it like the backend in the ALTERNATIVE_API_NAME) // // make some changes to this table in the "main" api (but leave it like the backend in the ALTERNATIVE_API_NAME) //
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
table.withMiddlewareMetaData(new ApiTableMetaDataContainer() table.withSupplementalMetaData(new ApiTableMetaDataContainer()
.withApiTableMetaData(API_NAME, new ApiTableMetaData() .withApiTableMetaData(API_NAME, new ApiTableMetaData()
.withInitialVersion(V2022_Q4) .withInitialVersion(V2022_Q4)
@ -212,7 +212,7 @@ public class TestUtils
// in 2022.Q4, this table had a "shoeCount" field. but for the 2023.Q1 version, we renamed it to noOfShoes! // // in 2022.Q4, this table had a "shoeCount" field. but for the 2023.Q1 version, we renamed it to noOfShoes! //
////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////
.withRemovedApiField(new QFieldMetaData("shoeCount", QFieldType.INTEGER).withDisplayFormat(DisplayFormat.COMMAS) .withRemovedApiField(new QFieldMetaData("shoeCount", QFieldType.INTEGER).withDisplayFormat(DisplayFormat.COMMAS)
.withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME, .withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME,
new ApiFieldMetaData().withFinalVersion(V2022_Q4).withReplacedByFieldName("noOfShoes")))) new ApiFieldMetaData().withFinalVersion(V2022_Q4).withReplacedByFieldName("noOfShoes"))))
) )
.withApiTableMetaData(ALTERNATIVE_API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4))); .withApiTableMetaData(ALTERNATIVE_API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4)));
@ -220,18 +220,18 @@ public class TestUtils
///////////////////////////////////////////////////// /////////////////////////////////////////////////////
// change the name for this field for the main api // // change the name for this field for the main api //
///////////////////////////////////////////////////// /////////////////////////////////////////////////////
table.getField("birthDate").withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME, new ApiFieldMetaData().withApiFieldName("birthDay"))); table.getField("birthDate").withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME, new ApiFieldMetaData().withApiFieldName("birthDay")));
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// See above - we renamed this field (in the backend) for the 2023_Q1 version // // See above - we renamed this field (in the backend) for the 2023_Q1 version //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
table.getField("noOfShoes").withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME, new ApiFieldMetaData().withInitialVersion(V2023_Q1))); table.getField("noOfShoes").withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME, new ApiFieldMetaData().withInitialVersion(V2023_Q1)));
///////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////
// 2 new fields - one will appear in a future version of the API, the other is always excluded // // 2 new fields - one will appear in a future version of the API, the other is always excluded //
///////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////
table.getField("cost").withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME, new ApiFieldMetaData().withInitialVersion(V2023_Q2))); table.getField("cost").withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME, new ApiFieldMetaData().withInitialVersion(V2023_Q2)));
table.getField("price").withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME, new ApiFieldMetaData().withIsExcluded(true))); table.getField("price").withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(API_NAME, new ApiFieldMetaData().withIsExcluded(true)));
return (table); return (table);
} }
@ -248,7 +248,7 @@ public class TestUtils
.withCustomizer(TableCustomizers.PRE_INSERT_RECORD.getRole(), new QCodeReference(OrderPreInsertCustomizer.class)) .withCustomizer(TableCustomizers.PRE_INSERT_RECORD.getRole(), new QCodeReference(OrderPreInsertCustomizer.class))
.withCustomizer(TableCustomizers.PRE_UPDATE_RECORD.getRole(), new QCodeReference(OrderPreUpdateCustomizer.class)) .withCustomizer(TableCustomizers.PRE_UPDATE_RECORD.getRole(), new QCodeReference(OrderPreUpdateCustomizer.class))
.withBackendName(MEMORY_BACKEND_NAME) .withBackendName(MEMORY_BACKEND_NAME)
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4))) .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4)))
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withAssociation(new Association().withName("orderLines").withAssociatedTableName(TABLE_NAME_LINE_ITEM).withJoinName("orderLineItem")) .withAssociation(new Association().withName("orderLines").withAssociatedTableName(TABLE_NAME_LINE_ITEM).withJoinName("orderLineItem"))
.withAssociation(new Association().withName("extrinsics").withAssociatedTableName(TABLE_NAME_ORDER_EXTRINSIC).withJoinName("orderOrderExtrinsic")) .withAssociation(new Association().withName("extrinsics").withAssociatedTableName(TABLE_NAME_ORDER_EXTRINSIC).withJoinName("orderOrderExtrinsic"))
@ -271,7 +271,7 @@ public class TestUtils
return new QTableMetaData() return new QTableMetaData()
.withName(TABLE_NAME_LINE_ITEM) .withName(TABLE_NAME_LINE_ITEM)
.withBackendName(MEMORY_BACKEND_NAME) .withBackendName(MEMORY_BACKEND_NAME)
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4))) .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4)))
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withAssociation(new Association().withName("extrinsics").withAssociatedTableName(TABLE_NAME_LINE_ITEM_EXTRINSIC).withJoinName("lineItemLineItemExtrinsic")) .withAssociation(new Association().withName("extrinsics").withAssociatedTableName(TABLE_NAME_LINE_ITEM_EXTRINSIC).withJoinName("lineItemLineItemExtrinsic"))
.withField(new QFieldMetaData("id", QFieldType.INTEGER).withIsEditable(false)) .withField(new QFieldMetaData("id", QFieldType.INTEGER).withIsEditable(false))
@ -293,7 +293,7 @@ public class TestUtils
return new QTableMetaData() return new QTableMetaData()
.withName(TABLE_NAME_LINE_ITEM_EXTRINSIC) .withName(TABLE_NAME_LINE_ITEM_EXTRINSIC)
.withBackendName(MEMORY_BACKEND_NAME) .withBackendName(MEMORY_BACKEND_NAME)
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4))) .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4)))
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER).withIsEditable(false)) .withField(new QFieldMetaData("id", QFieldType.INTEGER).withIsEditable(false))
.withField(new QFieldMetaData("createDate", QFieldType.DATE_TIME).withIsEditable(false)) .withField(new QFieldMetaData("createDate", QFieldType.DATE_TIME).withIsEditable(false))
@ -313,7 +313,7 @@ public class TestUtils
return new QTableMetaData() return new QTableMetaData()
.withName(TABLE_NAME_ORDER_EXTRINSIC) .withName(TABLE_NAME_ORDER_EXTRINSIC)
.withBackendName(MEMORY_BACKEND_NAME) .withBackendName(MEMORY_BACKEND_NAME)
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4))) .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion(V2022_Q4)))
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER).withIsEditable(false)) .withField(new QFieldMetaData("id", QFieldType.INTEGER).withIsEditable(false))
.withField(new QFieldMetaData("createDate", QFieldType.DATE_TIME).withIsEditable(false)) .withField(new QFieldMetaData("createDate", QFieldType.DATE_TIME).withIsEditable(false))

View File

@ -120,7 +120,7 @@ class GenerateOpenApiSpecActionTest extends BaseTest
.withBackendName(TestUtils.MEMORY_BACKEND_NAME) .withBackendName(TestUtils.MEMORY_BACKEND_NAME)
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER)) .withField(new QFieldMetaData("id", QFieldType.INTEGER))
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData() .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData()
.withInitialVersion(TestUtils.V2022_Q4)))); .withInitialVersion(TestUtils.V2022_Q4))));
qInstance.addTable(new QTableMetaData() qInstance.addTable(new QTableMetaData()
@ -129,7 +129,7 @@ class GenerateOpenApiSpecActionTest extends BaseTest
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER)) .withField(new QFieldMetaData("id", QFieldType.INTEGER))
.withIsHidden(true) .withIsHidden(true)
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData() .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData()
.withInitialVersion(TestUtils.V2022_Q4)))); .withInitialVersion(TestUtils.V2022_Q4))));
qInstance.addTable(new QTableMetaData() qInstance.addTable(new QTableMetaData()
@ -137,7 +137,7 @@ class GenerateOpenApiSpecActionTest extends BaseTest
.withBackendName(TestUtils.MEMORY_BACKEND_NAME) .withBackendName(TestUtils.MEMORY_BACKEND_NAME)
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER)) .withField(new QFieldMetaData("id", QFieldType.INTEGER))
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData() .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData()
.withIsExcluded(true)))); .withIsExcluded(true))));
qInstance.addTable(new QTableMetaData() qInstance.addTable(new QTableMetaData()
@ -151,7 +151,7 @@ class GenerateOpenApiSpecActionTest extends BaseTest
.withBackendName(TestUtils.MEMORY_BACKEND_NAME) .withBackendName(TestUtils.MEMORY_BACKEND_NAME)
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER)) .withField(new QFieldMetaData("id", QFieldType.INTEGER))
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData() .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData()
.withInitialVersion(TestUtils.V2023_Q2)))); .withInitialVersion(TestUtils.V2023_Q2))));
qInstance.addTable(new QTableMetaData() qInstance.addTable(new QTableMetaData()
@ -159,7 +159,7 @@ class GenerateOpenApiSpecActionTest extends BaseTest
.withBackendName(TestUtils.MEMORY_BACKEND_NAME) .withBackendName(TestUtils.MEMORY_BACKEND_NAME)
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER)) .withField(new QFieldMetaData("id", QFieldType.INTEGER))
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData() .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData()
.withInitialVersion(TestUtils.V2022_Q4) .withInitialVersion(TestUtils.V2022_Q4)
.withFinalVersion(TestUtils.V2022_Q4)))); .withFinalVersion(TestUtils.V2022_Q4))));
@ -169,7 +169,7 @@ class GenerateOpenApiSpecActionTest extends BaseTest
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER)) .withField(new QFieldMetaData("id", QFieldType.INTEGER))
.withoutCapabilities(Capability.TABLE_QUERY, Capability.TABLE_GET, Capability.TABLE_INSERT, Capability.TABLE_UPDATE, Capability.TABLE_DELETE) .withoutCapabilities(Capability.TABLE_QUERY, Capability.TABLE_GET, Capability.TABLE_INSERT, Capability.TABLE_UPDATE, Capability.TABLE_DELETE)
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData() .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData()
.withInitialVersion(TestUtils.V2022_Q4)))); .withInitialVersion(TestUtils.V2022_Q4))));
GenerateOpenApiSpecOutput output = new GenerateOpenApiSpecAction().execute(new GenerateOpenApiSpecInput().withVersion(TestUtils.CURRENT_API_VERSION).withApiName(TestUtils.API_NAME)); GenerateOpenApiSpecOutput output = new GenerateOpenApiSpecAction().execute(new GenerateOpenApiSpecInput().withVersion(TestUtils.CURRENT_API_VERSION).withApiName(TestUtils.API_NAME));
@ -198,7 +198,7 @@ class GenerateOpenApiSpecActionTest extends BaseTest
.withBackendName(TestUtils.MEMORY_BACKEND_NAME) .withBackendName(TestUtils.MEMORY_BACKEND_NAME)
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER)) .withField(new QFieldMetaData("id", QFieldType.INTEGER))
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData() .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData()
.withApiTableName("externalName") .withApiTableName("externalName")
.withInitialVersion(TestUtils.V2022_Q4)))); .withInitialVersion(TestUtils.V2022_Q4))));

View File

@ -74,11 +74,11 @@ class GetTableApiFieldsActionTest extends BaseTest
QInstance qInstance = QContext.getQInstance(); QInstance qInstance = QContext.getQInstance();
qInstance.addTable(new QTableMetaData() qInstance.addTable(new QTableMetaData()
.withName(TABLE_NAME) .withName(TABLE_NAME)
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("1"))) .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("1")))
.withField(new QFieldMetaData("a", STRING)) // inherit versionRange from the table .withField(new QFieldMetaData("a", STRING)) // inherit versionRange from the table
.withField(new QFieldMetaData("b", STRING).withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("1")))) .withField(new QFieldMetaData("b", STRING).withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("1"))))
.withField(new QFieldMetaData("c", STRING).withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("2")))) .withField(new QFieldMetaData("c", STRING).withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("2"))))
.withField(new QFieldMetaData("d", STRING).withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("3")))) .withField(new QFieldMetaData("d", STRING).withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("3"))))
); );
new QInstanceEnricher(qInstance).enrich(); new QInstanceEnricher(qInstance).enrich();
@ -98,13 +98,13 @@ class GetTableApiFieldsActionTest extends BaseTest
QInstance qInstance = QContext.getQInstance(); QInstance qInstance = QContext.getQInstance();
qInstance.addTable(new QTableMetaData() qInstance.addTable(new QTableMetaData()
.withName(TABLE_NAME) .withName(TABLE_NAME)
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("1") .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("1")
.withRemovedApiField(new QFieldMetaData("c", STRING).withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("1").withFinalVersion("2")))) .withRemovedApiField(new QFieldMetaData("c", STRING).withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("1").withFinalVersion("2"))))
)) ))
.withField(new QFieldMetaData("a", STRING)) // inherit versionRange from the table .withField(new QFieldMetaData("a", STRING)) // inherit versionRange from the table
.withField(new QFieldMetaData("b", STRING).withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("1")))) .withField(new QFieldMetaData("b", STRING).withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("1"))))
// we used to have "c" here... now it's in the removed list above! // we used to have "c" here... now it's in the removed list above!
.withField(new QFieldMetaData("d", STRING).withMiddlewareMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("3")))) .withField(new QFieldMetaData("d", STRING).withSupplementalMetaData(new ApiFieldMetaDataContainer().withApiFieldMetaData(TestUtils.API_NAME, new ApiFieldMetaData().withInitialVersion("3"))))
); );
new QInstanceEnricher(qInstance).enrich(); new QInstanceEnricher(qInstance).enrich();

View File

@ -98,7 +98,7 @@ class QJavalinApiHandlerTest extends BaseTest
.withBackendName(TestUtils.MEMORY_BACKEND_NAME) .withBackendName(TestUtils.MEMORY_BACKEND_NAME)
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withField(new QFieldMetaData("id", QFieldType.INTEGER)) .withField(new QFieldMetaData("id", QFieldType.INTEGER))
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData() .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData()
.withApiTableName("externalName") .withApiTableName("externalName")
.withInitialVersion(TestUtils.V2022_Q4)))); .withInitialVersion(TestUtils.V2022_Q4))));

View File

@ -114,11 +114,11 @@ class ApiInstanceMetaDataTest
qInstance.addTable(new QTableMetaData() qInstance.addTable(new QTableMetaData()
.withName("myValidTable") .withName("myValidTable")
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("2023.Q1")))); .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("2023.Q1"))));
qInstance.addTable(new QTableMetaData() qInstance.addTable(new QTableMetaData()
.withName("myInvalidTable") .withName("myInvalidTable")
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("notAVersion")))); .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("notAVersion"))));
assertValidationErrors(qInstance, makeBaselineValidApiInstanceMetaData() assertValidationErrors(qInstance, makeBaselineValidApiInstanceMetaData()
.withCurrentVersion(new APIVersion("2023.Q1")) .withCurrentVersion(new APIVersion("2023.Q1"))
@ -127,7 +127,7 @@ class ApiInstanceMetaDataTest
qInstance.addTable(new QTableMetaData() qInstance.addTable(new QTableMetaData()
.withName("myFutureValidTable") .withName("myFutureValidTable")
.withMiddlewareMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("2024.Q1")))); .withSupplementalMetaData(new ApiTableMetaDataContainer().withApiTableMetaData(TestUtils.API_NAME, new ApiTableMetaData().withInitialVersion("2024.Q1"))));
assertValidationErrors(qInstance, makeBaselineValidApiInstanceMetaData() assertValidationErrors(qInstance, makeBaselineValidApiInstanceMetaData()
.withCurrentVersion(new APIVersion("2023.Q1")) .withCurrentVersion(new APIVersion("2023.Q1"))
@ -195,7 +195,7 @@ class ApiInstanceMetaDataTest
*******************************************************************************/ *******************************************************************************/
private void assertValidationErrors(QInstance qInstance, ApiInstanceMetaData apiInstanceMetaData, List<String> expectedErrors) private void assertValidationErrors(QInstance qInstance, ApiInstanceMetaData apiInstanceMetaData, List<String> expectedErrors)
{ {
qInstance.withMiddlewareMetaData(new ApiInstanceMetaDataContainer().withApiInstanceMetaData(apiInstanceMetaData)); qInstance.withSupplementalMetaData(new ApiInstanceMetaDataContainer().withApiInstanceMetaData(apiInstanceMetaData));
QInstanceValidator validator = new QInstanceValidator(); QInstanceValidator validator = new QInstanceValidator();
apiInstanceMetaData.validate(apiInstanceMetaData.getName(), qInstance, validator); apiInstanceMetaData.validate(apiInstanceMetaData.getName(), qInstance, validator);