package eu.eudat.model.persist.referencetypedefinition; import eu.eudat.commons.enums.ReferenceTypeExternalApiHTTPMethodType; import eu.eudat.commons.validation.ValidatorFactory; import eu.eudat.commons.validation.old.ValidEnum; import eu.eudat.commons.validation.specification.Specification; import eu.eudat.convention.ConventionService; import eu.eudat.errorcode.ErrorThesaurusProperties; import jakarta.validation.Valid; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.MessageSource; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import java.util.Arrays; import java.util.List; public class ReferenceTypeSourceExternalApiConfigurationPersist extends ReferenceTypeSourceBaseConfigurationPersist { private String url; public static final String _uri = "uri"; private ResultsConfigurationPersist results; public static final String _results = "results"; private String paginationPath; public static final String _paginationPath = "paginationPath"; private String contentType; public static final String _contentType = "contentType"; private String firstPage; public static final String _firstPage = "firstPage"; private ReferenceTypeExternalApiHTTPMethodType httpMethod; public static final String _httpMethod = "httpMethod"; private String requestBody = ""; private String filterType = "remote"; private AuthenticationConfigurationPersist auth; public static final String _auth = "auth"; private List queries; public static final String _queries = "queries"; public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public ResultsConfigurationPersist getResults() { return results; } public void setResults(ResultsConfigurationPersist results) { this.results = results; } public String getPaginationPath() { return paginationPath; } public void setPaginationPath(String paginationPath) { this.paginationPath = paginationPath; } public String getContentType() { return contentType; } public void setContentType(String contentType) { this.contentType = contentType; } public String getFirstPage() { return firstPage; } public void setFirstPage(String firstPage) { this.firstPage = firstPage; } public ReferenceTypeExternalApiHTTPMethodType getHttpMethod() { return httpMethod; } public void setHttpMethod(ReferenceTypeExternalApiHTTPMethodType httpMethod) { this.httpMethod = httpMethod; } public String getRequestBody() { return requestBody; } public void setRequestBody(String requestBody) { this.requestBody = requestBody; } public String getFilterType() { return filterType; } public void setFilterType(String filterType) { this.filterType = filterType; } public AuthenticationConfigurationPersist getAuth() { return auth; } public void setAuth(AuthenticationConfigurationPersist auth) { this.auth = auth; } public List getQueries() { return queries; } public void setQueries(List queries) { this.queries = queries; } @Component(ReferenceTypeSourceExternalApiConfigurationPersistValidator.ValidatorName) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public static class ReferenceTypeSourceExternalApiConfigurationPersistValidator extends ReferenceTypeSourceBaseConfigurationPersistValidator { public static final String ValidatorName = "ReferenceTypeSourceExternalApiConfigurationPersistValidator"; protected ReferenceTypeSourceExternalApiConfigurationPersistValidator(ConventionService conventionService, ErrorThesaurusProperties errors, MessageSource messageSource, ValidatorFactory validatorFactory) { super(conventionService, errors, messageSource, validatorFactory); } @Override protected Class modelClass() { return ReferenceTypeSourceExternalApiConfigurationPersist.class; } @Override protected List specifications(ReferenceTypeSourceExternalApiConfigurationPersist item) { List specifications = getBaseSpecifications(item); specifications.addAll(Arrays.asList( )); return specifications; } } }