Updated dependencies and resolving CVEs, bumped SpringBoot to 3.3.5 (#6449)

* Updated dependencies, bumped SpringBoot to 3.3.5

* Fixing compilation issues, added changelog

* Fixing compilation issues, updated changelog, Postgres and Oracle drivers

* Fixing version conflicts for jboss-logging, fixing tests

* Test fix

* Spotless

* Add bumps

* Downgrading lucene

* Update changes.yaml

* HAPI version bump

* License headers

* Cleanup

* Build fixes

* Test fixes

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
This commit is contained in:
Michele Adduci 2024-12-09 12:41:45 +01:00 committed by GitHub
parent 7afc177b7e
commit 3a2f4e57ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
122 changed files with 472 additions and 179 deletions

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-bom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<packaging>pom</packaging>
<name>HAPI FHIR BOM</name>
@ -12,7 +12,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-cli</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -1,6 +1,6 @@
/*
* #%L
* HAPI FHIR - Client Framework
* HAPI FHIR - Client Framework using Apache HttpClient 5
* %%
* Copyright (C) 2014 - 2024 Smile CDR, Inc.
* %%

View File

@ -1,6 +1,6 @@
/*
* #%L
* HAPI FHIR - Client Framework
* HAPI FHIR - Client Framework using Apache HttpClient 5
* %%
* Copyright (C) 2014 - 2024 Smile CDR, Inc.
* %%

View File

@ -1,6 +1,6 @@
/*
* #%L
* HAPI FHIR - Client Framework
* HAPI FHIR - Client Framework using Apache HttpClient 5
* %%
* Copyright (C) 2014 - 2024 Smile CDR, Inc.
* %%

View File

@ -1,6 +1,6 @@
/*-
* #%L
* HAPI FHIR - Client Framework
* HAPI FHIR - Client Framework using Apache HttpClient 5
* %%
* Copyright (C) 2014 - 2024 Smile CDR, Inc.
* %%

View File

@ -1,6 +1,6 @@
/*
* #%L
* HAPI FHIR - Client Framework
* HAPI FHIR - Client Framework using Apache HttpClient 5
* %%
* Copyright (C) 2014 - 2024 Smile CDR, Inc.
* %%

View File

@ -1,6 +1,6 @@
/*
* #%L
* HAPI FHIR - Client Framework
* HAPI FHIR - Client Framework using Apache HttpClient 5
* %%
* Copyright (C) 2014 - 2024 Smile CDR, Inc.
* %%

View File

@ -1,6 +1,6 @@
/*
* #%L
* HAPI FHIR - Client Framework
* HAPI FHIR - Client Framework using Apache HttpClient 5
* %%
* Copyright (C) 2014 - 2024 Smile CDR, Inc.
* %%

View File

@ -1,6 +1,6 @@
/*-
* #%L
* HAPI FHIR - Client Framework
* HAPI FHIR - Client Framework using Apache HttpClient 5
* %%
* Copyright (C) 2014 - 2024 Smile CDR, Inc.
* %%

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,4 +5,40 @@
(dependent HAPI modules listed in brackets):
<ul>
<li>org.hl7.fhir.core (Base): 6.3.25 -&gt; 6.4.0</li>
<li>spring-boot-bom (Base): 3.2.6 -&gt; 3.3.5</li>
<li>spring-retry (Base): 2.0.6 -&gt; 2.0.10</li>
<li>spring-data-bom (Base): 2023.1.6 -&gt; 2024.0.5</li>
<li>spring (Base): 6.1.8 -&gt; 6.1.14</li>
<li>slf4j-api (Base): 2.0.13 -&gt; 2.0.16</li>
<li>log4j-to-slf4j (Base): 2.19.0 -&gt; 2.24.1</li>
<li>jackson (Base): 2.17.1 -&gt; 2.18.1</li>
<li>jackson-databind (Base): 2.17.1 -&gt; 2.18.1</li>
<li>opentelemetry-instrumentation-bom (Base): 2.8.0 -&gt; 2.9.0</li>
<li>resteasy (Base): 6.2.9.Final -&gt; 6.2.10.Final</li>
<li>logback-classic (Base): 1.4.14 -&gt; 1.5.12</li>
<li>owasp-java-html-sanitizer (Base): 20211018.2 -&gt; 20240325.1</li>
<li>graphql-java (Base): 21.5 -&gt; 22.3</li>
<li>simple-java-mail (Base): 8.11.2 -&gt; 8.12.2</li>
<li>okio-jvm (Base): 3.4.0 -&gt; 3.9.1</li>
<li>commons-cli (Base): 1.5.0 -&gt; 1.9.0</li>
<li>org.jetbrains.annotations (Base): 23.0.0 -&gt; 26.0.1</li>
<li>xmlunit-core (Base): 2.4.0 -&gt; 2.10.0</li>
<li>jboss-logging (Tinder): 3.4.2.Final -&gt; 3.6.1.Final</li>
<li>springdoc-openapi-starter-webmvc-ui (Server): 2.2.0 -&gt; 2.6.0</li>
<li>ace-builds (Server): 1.22.0 -&gt; 1.36.3</li>
<li>bootstrap (Server): 4.5.2 -&gt; 4.6.2</li>
<li>Eonasdan-bootstrap-datetimepicker (Server): 4.17.47 -&gt; 4.17.49</li>
<li>font-awesome (Server): 5.8.2 -&gt; 5.15.4</li>
<li>swagger-ui (Server): 4.1.3 -&gt; 4.19.1</li>
<li>httpcore (Client): 4.4.13 -&gt; 4.4.16</li>
<li>httpclient (Client): 4.5.13 -&gt; 4.5.14</li>
<li>flyway (JPA): 9.4.0 -&gt; 10.20.1</li>
<li>hibernate (JPA): 6.4.1.Final -&gt; 6.6.2.Final</li>
<li>hibernate-search (JPA): 7.0.0.Final -&gt; 7.2.1.Final</li>
<li>elastic-apm (JPA): 1.44.0 -&gt; 1.52.0</li>
<li>elastic-search (JPA): 8.14.3 -&gt; 8.15.3</li>
<li>lucene (JPA): 9.8.0 -&gt; 9.11.1</li>
<li>postgresql (JPA): 42.7.3 -&gt; 42.7.4</li>
<li>mysql-connector-j (JPA): 8.2.0 -&gt; 9.1.0</li>
<li>ojdbc11 (JPA): 23.3.0.23.09 -&gt; 23.6.0.24.10</li>
</ul>"

View File

@ -11,7 +11,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -57,9 +57,31 @@ public class HapiFhirH2Dialect extends H2Dialect {
* RES_VERSION varchar(7),
* </pre>
* </p>
* <p>
* Also note, as of Hibernate 6.6, Enum types are also used on some database platforms,
* creating a definition like:
* <code>STAT enum ('CANCELLED','COMPLETED','ERRORED','FAILED','FINALIZE','IN_PROGRESS','QUEUED') not null</code>.
* We also disable these by overriding <code>getEnumTypeDeclaration</code>.
* </p>
*/
@Override
public boolean supportsColumnCheck() {
return false;
}
/**
* @see HapiFhirH2Dialect#supportsColumnCheck() for an explanation of why we disable this
*/
@Override
public String getEnumTypeDeclaration(Class<? extends Enum<?>> enumType) {
return null;
}
/**
* @see HapiFhirH2Dialect#supportsColumnCheck() for an explanation of why we disable this
*/
@Override
public String getEnumTypeDeclaration(String name, String[] values) {
return null;
}
}

View File

@ -43,4 +43,20 @@ public class HapiFhirMariaDBDialect extends MariaDBDialect {
public boolean supportsColumnCheck() {
return false;
}
/**
* @see HapiFhirH2Dialect#supportsColumnCheck() for an explanation of why we disable this
*/
@Override
public String getEnumTypeDeclaration(Class<? extends Enum<?>> enumType) {
return null;
}
/**
* @see HapiFhirH2Dialect#supportsColumnCheck() for an explanation of why we disable this
*/
@Override
public String getEnumTypeDeclaration(String name, String[] values) {
return null;
}
}

View File

@ -43,4 +43,20 @@ public class HapiFhirMySQLDialect extends MySQLDialect {
public boolean supportsColumnCheck() {
return false;
}
// /**
// * @see HapiFhirH2Dialect#supportsColumnCheck() for an explanation of why we disable this
// */
// @Override
// public String getEnumTypeDeclaration(Class<? extends Enum<?>> enumType) {
// return null;
// }
//
/**
* @see HapiFhirH2Dialect#supportsColumnCheck() for an explanation of why we disable this
*/
@Override
public String getEnumTypeDeclaration(String name, String[] values) {
return "VARCHAR(99)";
}
}

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -236,7 +236,8 @@ public class JpaPersistedResourceValidationSupport implements IValidationSupport
SearchParameterMap params = new SearchParameterMap();
params.setLoadSynchronousUpTo(1);
int versionSeparator = theUri.lastIndexOf('|');
if (versionSeparator != -1) {params.add(StructureDefinition.SP_VERSION, new TokenParam(theUri.substring(versionSeparator + 1)));
if (versionSeparator != -1) {
params.add(StructureDefinition.SP_VERSION, new TokenParam(theUri.substring(versionSeparator + 1)));
params.add(StructureDefinition.SP_URL, new UriParam(theUri.substring(0, versionSeparator)));
} else {
params.add(StructureDefinition.SP_URL, new UriParam(theUri));

View File

@ -20,9 +20,11 @@
package ca.uhn.fhir.jpa.dao.search;
import jakarta.annotation.Nonnull;
import org.hibernate.search.engine.search.common.NamedValues;
import org.hibernate.search.engine.search.predicate.SearchPredicate;
import org.hibernate.search.engine.search.predicate.dsl.BooleanPredicateClausesStep;
import org.hibernate.search.engine.search.predicate.dsl.ExistsPredicateFieldStep;
import org.hibernate.search.engine.search.predicate.dsl.KnnPredicateFieldStep;
import org.hibernate.search.engine.search.predicate.dsl.MatchAllPredicateOptionsStep;
import org.hibernate.search.engine.search.predicate.dsl.MatchIdPredicateMatchingStep;
import org.hibernate.search.engine.search.predicate.dsl.MatchNonePredicateFinalStep;
@ -34,6 +36,8 @@ import org.hibernate.search.engine.search.predicate.dsl.NestedPredicateOptionsSt
import org.hibernate.search.engine.search.predicate.dsl.NotPredicateFinalStep;
import org.hibernate.search.engine.search.predicate.dsl.PhrasePredicateFieldStep;
import org.hibernate.search.engine.search.predicate.dsl.PredicateFinalStep;
import org.hibernate.search.engine.search.predicate.dsl.PrefixPredicateFieldStep;
import org.hibernate.search.engine.search.predicate.dsl.QueryStringPredicateFieldStep;
import org.hibernate.search.engine.search.predicate.dsl.RangePredicateFieldStep;
import org.hibernate.search.engine.search.predicate.dsl.RegexpPredicateFieldStep;
import org.hibernate.search.engine.search.predicate.dsl.SearchPredicateFactory;
@ -221,6 +225,11 @@ class PathContext implements SearchPredicateFactory {
return myPredicateFactory.wildcard();
}
@Override
public PrefixPredicateFieldStep<?> prefix() {
return myPredicateFactory.prefix();
}
@Override
public RegexpPredicateFieldStep<?> regexp() {
return myPredicateFactory.regexp();
@ -246,6 +255,11 @@ class PathContext implements SearchPredicateFactory {
return myPredicateFactory.simpleQueryString();
}
@Override
public QueryStringPredicateFieldStep<?> queryString() {
return myPredicateFactory.queryString();
}
@Override
public ExistsPredicateFieldStep<?> exists() {
return myPredicateFactory.exists();
@ -262,6 +276,16 @@ class PathContext implements SearchPredicateFactory {
return myPredicateFactory.named(path);
}
@Override
public KnnPredicateFieldStep knn(int i) {
return myPredicateFactory.knn(i);
}
@Override
public PredicateFinalStep withParameters(Function<? super NamedValues, ? extends PredicateFinalStep> function) {
return myPredicateFactory.withParameters(function);
}
@Override
public <T> T extension(SearchPredicateFactoryExtension<T> extension) {
return myPredicateFactory.extension(extension);

View File

@ -37,6 +37,8 @@ import jakarta.persistence.Version;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.Length;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
import java.io.Serializable;
import java.util.Date;
@ -88,6 +90,7 @@ public class Batch2JobInstanceEntity implements Serializable {
@Column(name = "STAT", length = STATUS_MAX_LENGTH, nullable = false)
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
private StatusEnum myStatus;
@Column(name = "JOB_CANCELLED", nullable = false)

View File

@ -40,6 +40,8 @@ import jakarta.persistence.Version;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.Length;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
import java.io.Serializable;
import java.util.Date;
@ -107,6 +109,7 @@ public class Batch2WorkChunkEntity implements Serializable {
@Column(name = "STAT", length = STATUS_MAX_LENGTH, nullable = false)
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
private WorkChunkStatusEnum myStatus;
@ManyToOne(fetch = FetchType.LAZY)

View File

@ -27,7 +27,9 @@ import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.Id;
import org.hibernate.annotations.Immutable;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.annotations.Subselect;
import org.hibernate.type.SqlTypes;
import java.io.Serializable;
@ -58,6 +60,7 @@ public class Batch2WorkChunkMetadataView implements Serializable {
@Column(name = "STATE", length = ID_MAX_LENGTH, nullable = false)
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
private WorkChunkStatusEnum myStatus;
@Column(name = "INSTANCE_ID", length = ID_MAX_LENGTH, nullable = false)

View File

@ -35,6 +35,8 @@ import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;
import jakarta.persistence.UniqueConstraint;
import jakarta.persistence.Version;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
import java.io.Serializable;
import java.util.Date;
@ -64,6 +66,7 @@ public class BulkImportJobEntity implements Serializable {
private String myJobDescription;
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
@Column(name = "JOB_STATUS", length = 10, nullable = false)
private BulkImportJobStatusEnum myStatus;
@ -82,6 +85,7 @@ public class BulkImportJobEntity implements Serializable {
private String myStatusMessage;
@Column(name = "ROW_PROCESSING_MODE", length = 20, nullable = false, updatable = false)
@JdbcTypeCode(SqlTypes.VARCHAR)
@Enumerated(EnumType.STRING)
private JobFileRowProcessingModeEnum myRowProcessingMode;

View File

@ -166,6 +166,7 @@ public class Search implements ICachedSearchDetails, Serializable {
private SearchTypeEnum mySearchType;
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
@Column(name = "SEARCH_STATUS", nullable = false, length = 10)
private SearchStatusEnum myStatus;

View File

@ -38,6 +38,8 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
import org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence;
import java.io.Serializable;
@ -77,6 +79,7 @@ public class TermConceptMapGroupElementTarget implements Serializable {
private String myDisplay;
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
@Column(name = "TARGET_EQUIVALENCE", nullable = true, length = MAX_EQUIVALENCE_LENGTH)
private ConceptMapEquivalence myEquivalence;

View File

@ -45,6 +45,8 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.annotations.ColumnDefault;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
import java.io.Serializable;
import java.util.ArrayList;
@ -113,6 +115,7 @@ public class TermValueSet implements Serializable {
private Long myTotalConceptDesignations;
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
@Column(name = "EXPANSION_STATUS", nullable = false, length = MAX_EXPANSION_STATUS_LENGTH)
private TermValueSetPreExpansionStatusEnum myExpansionStatus;

View File

@ -33,6 +33,8 @@ import ca.uhn.fhir.util.StringUtil;
import ca.uhn.fhir.util.VersionUtil;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonSerializer;
import graphql.ExecutionResult;
import graphql.GraphQL;
import graphql.language.InterfaceTypeDefinition;
@ -80,6 +82,7 @@ public class GraphQLProviderWithIntrospection extends GraphQLProvider {
private final ISearchParamRegistry mySearchParamRegistry;
private final VersionSpecificWorkerContextWrapper myContext;
private final IDaoRegistry myDaoRegistry;
private final Gson myGson;
/**
* Constructor
@ -97,6 +100,11 @@ public class GraphQLProviderWithIntrospection extends GraphQLProvider {
myContext = VersionSpecificWorkerContextWrapper.newVersionSpecificWorkerContextWrapper(theValidationSupport);
myGenerator = new GraphQLSchemaGenerator(myContext, VersionUtil.getVersion());
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(Collections.emptyList().getClass(), (JsonSerializer<Object>)
(src, typeOfSrc, context) -> new JsonArray());
myGson = gsonBuilder.create();
}
@Override
@ -250,8 +258,7 @@ public class GraphQLProviderWithIntrospection extends GraphQLProvider {
ExecutionResult executionResult = build.execute(theQueryBody);
Map<String, Object> data = executionResult.toSpecification();
Gson gson = new GsonBuilder().create();
return gson.toJson(data);
return myGson.toJson(data);
}
@Nonnull

View File

@ -1,3 +1,22 @@
/*-
* #%L
* HAPI FHIR JPA Server
* %%
* Copyright (C) 2014 - 2024 Smile CDR, Inc.
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
package ca.uhn.fhir.jpa.search.builder.models;
import ca.uhn.fhir.jpa.api.config.JpaStorageSettings;

View File

@ -1,8 +1,13 @@
package ca.uhn.fhir.jpa.entity;
import ca.uhn.fhir.batch2.model.WorkChunkStatusEnum;
import ca.uhn.fhir.jpa.model.dialect.HapiFhirH2Dialect;
import ca.uhn.fhir.util.ClasspathUtil;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.search.mapper.pojo.common.annotation.Param;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import java.util.Arrays;
@ -26,7 +31,6 @@ public class GeneratedSchemaTest {
validateLongVarcharDatatype("postgres.sql", "text");
validateLongVarcharDatatype("oracle.sql", "clob");
validateLongVarcharDatatype("sqlserver.sql", "varchar(max)");
}
private static void validateLongVarcharDatatype(String schemaName, String expectedDatatype) {

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -3,7 +3,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -3,7 +3,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -29,7 +29,9 @@ import jakarta.persistence.Enumerated;
import jakarta.persistence.MappedSuperclass;
import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.annotations.OptimisticLock;
import org.hibernate.type.SqlTypes;
import java.util.Collection;
import java.util.Date;
@ -48,6 +50,7 @@ public abstract class BaseHasResource extends BasePartitionable
@Column(name = "RES_VERSION", nullable = true, length = 7)
@Enumerated(EnumType.STRING)
@OptimisticLock(excluded = true)
@JdbcTypeCode(SqlTypes.VARCHAR)
private FhirVersionEnum myFhirVersion;
@Column(name = "HAS_TAGS", nullable = false)

View File

@ -40,6 +40,8 @@ import jakarta.persistence.TemporalType;
import jakarta.persistence.Version;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
import java.util.Date;
import java.util.List;
@ -107,6 +109,7 @@ public class NpmPackageVersionEntity {
private String myFhirVersionId;
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
@Column(name = "FHIR_VERSION", length = NpmPackageVersionEntity.FHIR_VERSION_LENGTH, nullable = false)
private FhirVersionEnum myFhirVersion;

View File

@ -38,6 +38,8 @@ import jakarta.persistence.TemporalType;
import jakarta.persistence.Version;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.type.SqlTypes;
import java.util.Date;
@ -89,6 +91,7 @@ public class NpmPackageVersionResourceEntity {
private String myCanonicalVersion;
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
@Column(name = "FHIR_VERSION", length = NpmPackageVersionEntity.FHIR_VERSION_LENGTH, nullable = false)
private FhirVersionEnum myFhirVersion;

View File

@ -44,7 +44,9 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.Length;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.annotations.OptimisticLock;
import org.hibernate.type.SqlTypes;
import java.io.Serializable;
import java.util.ArrayList;
@ -115,6 +117,7 @@ public class ResourceHistoryTable extends BaseHasResource implements Serializabl
@Column(name = "RES_ENCODING", nullable = false, length = ENCODING_COL_LENGTH)
@Enumerated(EnumType.STRING)
@JdbcTypeCode(SqlTypes.VARCHAR)
@OptimisticLock(excluded = true)
private ResourceEncodingEnum myEncoding;

View File

@ -20,7 +20,6 @@
package ca.uhn.fhir.jpa.model.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.ForeignKey;
import jakarta.persistence.GeneratedValue;
@ -37,7 +36,6 @@ import org.hibernate.annotations.GenericGenerator;
import java.io.Serializable;
@Embeddable
@Entity
@Table(
name = "HFJ_HISTORY_TAG",

View File

@ -24,7 +24,6 @@ import ca.uhn.fhir.jpa.model.listener.IndexStorageOptimizationListener;
import ca.uhn.fhir.model.api.IQueryParameterType;
import jakarta.annotation.Nullable;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.FetchType;
@ -42,7 +41,6 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.annotations.GenericGenerator;
@Embeddable
@EntityListeners(IndexStorageOptimizationListener.class)
@Entity
@Table(

View File

@ -28,7 +28,6 @@ import ca.uhn.fhir.rest.param.DateParam;
import ca.uhn.fhir.rest.param.DateRangeParam;
import ca.uhn.fhir.util.DateUtils;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.FetchType;
@ -56,7 +55,6 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
@Embeddable
@EntityListeners(IndexStorageOptimizationListener.class)
@Entity
@Table(

View File

@ -24,7 +24,6 @@ import ca.uhn.fhir.jpa.model.listener.IndexStorageOptimizationListener;
import ca.uhn.fhir.model.api.IQueryParameterType;
import ca.uhn.fhir.rest.param.NumberParam;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.FetchType;
@ -48,7 +47,6 @@ import org.hibernate.type.SqlTypes;
import java.math.BigDecimal;
import java.util.Objects;
@Embeddable
@EntityListeners(IndexStorageOptimizationListener.class)
@Entity
@Table(

View File

@ -24,7 +24,6 @@ import ca.uhn.fhir.jpa.model.listener.IndexStorageOptimizationListener;
import ca.uhn.fhir.model.api.IQueryParameterType;
import ca.uhn.fhir.rest.param.QuantityParam;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.FetchType;
@ -50,7 +49,6 @@ import static org.apache.commons.lang3.StringUtils.defaultString;
import static org.apache.commons.lang3.StringUtils.isBlank;
// @formatter:off
@Embeddable
@EntityListeners(IndexStorageOptimizationListener.class)
@Entity
@Table(

View File

@ -25,7 +25,6 @@ import ca.uhn.fhir.jpa.model.util.UcumServiceUtil;
import ca.uhn.fhir.model.api.IQueryParameterType;
import ca.uhn.fhir.rest.param.QuantityParam;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.FetchType;
@ -52,7 +51,6 @@ import static org.apache.commons.lang3.StringUtils.defaultString;
import static org.apache.commons.lang3.StringUtils.isBlank;
// @formatter:off
@Embeddable
@EntityListeners(IndexStorageOptimizationListener.class)
@Entity
@Table(

View File

@ -27,7 +27,6 @@ import ca.uhn.fhir.model.api.IQueryParameterType;
import ca.uhn.fhir.rest.param.StringParam;
import ca.uhn.fhir.util.StringUtil;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.ForeignKey;
@ -48,7 +47,6 @@ import static ca.uhn.fhir.jpa.model.util.SearchParamHash.hashSearchParam;
import static org.apache.commons.lang3.StringUtils.defaultString;
// @formatter:off
@Embeddable
@EntityListeners(IndexStorageOptimizationListener.class)
@Entity
@Table(

View File

@ -26,7 +26,6 @@ import ca.uhn.fhir.model.api.IQueryParameterType;
import ca.uhn.fhir.rest.api.Constants;
import ca.uhn.fhir.rest.param.TokenParam;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.FetchType;
@ -52,7 +51,6 @@ import static ca.uhn.fhir.jpa.model.util.SearchParamHash.hashSearchParam;
import static org.apache.commons.lang3.StringUtils.defaultString;
import static org.apache.commons.lang3.StringUtils.trim;
@Embeddable
@EntityListeners(IndexStorageOptimizationListener.class)
@Entity
@Table(

View File

@ -25,7 +25,6 @@ import ca.uhn.fhir.jpa.model.listener.IndexStorageOptimizationListener;
import ca.uhn.fhir.model.api.IQueryParameterType;
import ca.uhn.fhir.rest.param.UriParam;
import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.FetchType;
@ -47,7 +46,6 @@ import org.hibernate.search.mapper.pojo.mapping.definition.annotation.FullTextFi
import static ca.uhn.fhir.jpa.model.util.SearchParamHash.hashSearchParam;
import static org.apache.commons.lang3.StringUtils.defaultString;
@Embeddable
@EntityListeners(IndexStorageOptimizationListener.class)
@Entity
@Table(

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -678,7 +678,7 @@ public class FhirResourceDaoR4QueryCountTest extends BaseResourceProviderR4Test
fail(myFhirContext.newJsonParser().setPrettyPrint(true).encodeResourceToString(e.getOperationOutcome()));
}
myCaptureQueriesListener.logSelectQueriesForCurrentThread();
assertEquals(12, myCaptureQueriesListener.getSelectQueriesForCurrentThread().size());
assertEquals(11, myCaptureQueriesListener.getSelectQueriesForCurrentThread().size());
assertEquals(0, myCaptureQueriesListener.getUpdateQueriesForCurrentThread().size());
assertEquals(0, myCaptureQueriesListener.getInsertQueriesForCurrentThread().size());
assertEquals(0, myCaptureQueriesListener.getDeleteQueriesForCurrentThread().size());
@ -3532,7 +3532,7 @@ public class FhirResourceDaoR4QueryCountTest extends BaseResourceProviderR4Test
assertThat(expansion.getExpansion().getContains()).hasSize(7);
assertThat(expansion.getExpansion().getContains().stream().filter(t -> t.getCode().equals("A")).findFirst().orElseThrow(() -> new IllegalArgumentException()).getDesignation()).hasSize(1);
myCaptureQueriesListener.logSelectQueriesForCurrentThread();
assertThat(myCaptureQueriesListener.countSelectQueries()).as(() -> "\n *" + myCaptureQueriesListener.getSelectQueries().stream().map(t -> t.getSql(true, false)).collect(Collectors.joining("\n * "))).isEqualTo(6);
assertThat(myCaptureQueriesListener.countSelectQueries()).as(() -> "\n *" + myCaptureQueriesListener.getSelectQueries().stream().map(t -> t.getSql(true, false)).collect(Collectors.joining("\n * "))).isEqualTo(5);
assertEquals(0, myCaptureQueriesListener.countDeleteQueries());
assertEquals(0, myCaptureQueriesListener.countUpdateQueries());
assertEquals(0, myCaptureQueriesListener.countInsertQueries());
@ -3575,7 +3575,7 @@ public class FhirResourceDaoR4QueryCountTest extends BaseResourceProviderR4Test
assertThat(expansion.getExpansion().getContains()).hasSize(7);
assertThat(expansion.getExpansion().getContains().stream().filter(t -> t.getCode().equals("A")).findFirst().orElseThrow(() -> new IllegalArgumentException()).getDesignation()).hasSize(1);
myCaptureQueriesListener.logSelectQueriesForCurrentThread();
assertEquals(6, myCaptureQueriesListener.countSelectQueries());
assertEquals(5, myCaptureQueriesListener.countSelectQueries());
assertEquals(0, myCaptureQueriesListener.countDeleteQueries());
assertEquals(0, myCaptureQueriesListener.countUpdateQueries());
assertEquals(0, myCaptureQueriesListener.countInsertQueries());

View File

@ -1072,7 +1072,7 @@ public class ResourceProviderR4ValueSetNoVerCSNoVerTest extends BaseResourceProv
myCaptureQueriesListener.logSelectQueries();
ourLog.debug(myFhirContext.newJsonParser().setPrettyPrint(true).encodeResourceToString(expansion));
assertThat(toDirectCodes(expansion.getExpansion().getContains())).containsExactlyInAnyOrder("A", "AA", "AB", "AAA");
assertThat(myCaptureQueriesListener.getSelectQueries().size()).as(() -> myCaptureQueriesListener.logSelectQueries().stream().map(t -> t.getSql(true, false)).collect(Collectors.joining("\n * "))).isEqualTo(18);
assertThat(myCaptureQueriesListener.getSelectQueries().size()).as(() -> myCaptureQueriesListener.logSelectQueries().stream().map(t -> t.getSql(true, false)).collect(Collectors.joining("\n * "))).isEqualTo(16);
assertEquals("ValueSet \"ValueSet.url[http://example.com/my_value_set]\" has not yet been pre-expanded. Performing in-memory expansion without parameters. Current status: NOT_EXPANDED | The ValueSet is waiting to be picked up and pre-expanded by a scheduled task.", expansion.getMeta().getExtensionString(EXT_VALUESET_EXPANSION_MESSAGE));
// Hierarchical
@ -1089,7 +1089,7 @@ public class ResourceProviderR4ValueSetNoVerCSNoVerTest extends BaseResourceProv
assertThat(toDirectCodes(expansion.getExpansion().getContains())).containsExactlyInAnyOrder("A");
assertThat(toDirectCodes(expansion.getExpansion().getContains().get(0).getContains())).containsExactlyInAnyOrder("AA", "AB");
assertThat(toDirectCodes(expansion.getExpansion().getContains().get(0).getContains().stream().filter(t -> t.getCode().equals("AA")).findFirst().orElseThrow(() -> new IllegalArgumentException()).getContains())).containsExactlyInAnyOrder("AAA");
assertThat(myCaptureQueriesListener.getSelectQueries()).hasSize(15);
assertThat(myCaptureQueriesListener.getSelectQueries()).hasSize(13);
}
@ -1112,7 +1112,7 @@ public class ResourceProviderR4ValueSetNoVerCSNoVerTest extends BaseResourceProv
.execute();
ourLog.debug(myFhirContext.newJsonParser().setPrettyPrint(true).encodeResourceToString(expansion));
assertThat(toDirectCodes(expansion.getExpansion().getContains())).containsExactlyInAnyOrder("A", "AA", "AB", "AAA");
assertThat(myCaptureQueriesListener.getSelectQueries().size()).as(() -> myCaptureQueriesListener.logSelectQueries().stream().map(t -> t.getSql(true, false)).collect(Collectors.joining("\n * "))).isEqualTo(12);
assertThat(myCaptureQueriesListener.getSelectQueries().size()).as(() -> myCaptureQueriesListener.logSelectQueries().stream().map(t -> t.getSql(true, false)).collect(Collectors.joining("\n * "))).isEqualTo(10);
assertEquals("ValueSet with URL \"Unidentified ValueSet\" was expanded using an in-memory expansion", expansion.getMeta().getExtensionString(EXT_VALUESET_EXPANSION_MESSAGE));
// Hierarchical
@ -1129,7 +1129,7 @@ public class ResourceProviderR4ValueSetNoVerCSNoVerTest extends BaseResourceProv
assertThat(toDirectCodes(expansion.getExpansion().getContains())).containsExactlyInAnyOrder("A");
assertThat(toDirectCodes(expansion.getExpansion().getContains().get(0).getContains())).containsExactlyInAnyOrder("AA", "AB");
assertThat(toDirectCodes(expansion.getExpansion().getContains().get(0).getContains().stream().filter(t -> t.getCode().equals("AA")).findFirst().orElseThrow(() -> new IllegalArgumentException()).getContains())).containsExactlyInAnyOrder("AAA");
assertThat(myCaptureQueriesListener.getSelectQueries()).hasSize(13);
assertThat(myCaptureQueriesListener.getSelectQueries()).hasSize(11);
}

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -318,18 +318,18 @@ abstract class TestDefinitions implements ITestDataBuilder {
// Verify Delete
myCaptureQueriesListener.logDeleteQueries();
String deleteWhere;
assertEquals("delete from HFJ_RES_SEARCH_URL where (RES_ID='" + idLong + "')", getDeleteSql(0));
assertEquals("delete from HFJ_RES_SEARCH_URL rsue1_0 where (rsue1_0.RES_ID='" + idLong + "')", getDeleteSql(0));
if (myIncludePartitionIdsInPks) {
deleteWhere = "(RES_ID,PARTITION_ID)=('" + idLong + "','1')";
deleteWhere = "(risps1_0.RES_ID,risps1_0.PARTITION_ID)=('" + idLong + "','1')";
} else {
deleteWhere = "RES_ID='" + idLong + "'";
deleteWhere = "risps1_0.RES_ID='" + idLong + "'";
}
assertEquals("delete from HFJ_SPIDX_STRING where " + deleteWhere, getDeleteSql(1));
assertEquals("delete from HFJ_SPIDX_TOKEN where " + deleteWhere, getDeleteSql(2));
assertEquals("delete from HFJ_SPIDX_STRING risps1_0 where " + deleteWhere, getDeleteSql(1));
assertEquals("delete from HFJ_SPIDX_TOKEN rispt1_0 where " + deleteWhere.replace("risps1_0", "rispt1_0"), getDeleteSql(2));
if (myIncludePartitionIdsInPks) {
assertEquals("delete from HFJ_RES_LINK where (SRC_RESOURCE_ID,PARTITION_ID)=('" + idLong + "','1')", getDeleteSql(3));
assertEquals("delete from HFJ_RES_LINK rl1_0 where (rl1_0.SRC_RESOURCE_ID,rl1_0.PARTITION_ID)=('" + idLong + "','1')", getDeleteSql(3));
} else {
assertEquals("delete from HFJ_RES_LINK where SRC_RESOURCE_ID='" + idLong + "'", getDeleteSql(3));
assertEquals("delete from HFJ_RES_LINK rl1_0 where rl1_0.SRC_RESOURCE_ID='" + idLong + "'", getDeleteSql(3));
}
assertEquals(4, myCaptureQueriesListener.countDeleteQueries());
}
@ -499,9 +499,9 @@ abstract class TestDefinitions implements ITestDataBuilder {
// Delete HFJ_SPIDX_TOKEN
List<SqlQuery> deleteTokenQueries = getSqlDeleteQueriesWithString(" HFJ_SPIDX_TOKEN ");
if (myIncludePartitionIdsInPks) {
assertThat(deleteTokenQueries.get(0).getSql(true, false)).startsWith("delete from HFJ_SPIDX_TOKEN where (SP_ID,PARTITION_ID) in ");
assertThat(deleteTokenQueries.get(0).getSql(true, false)).startsWith("delete from HFJ_SPIDX_TOKEN rispt1_0 where (rispt1_0.SP_ID,rispt1_0.PARTITION_ID) in ");
} else {
assertThat(deleteTokenQueries.get(0).getSql(true, false)).startsWith("delete from HFJ_SPIDX_TOKEN where SP_ID in ");
assertThat(deleteTokenQueries.get(0).getSql(true, false)).startsWith("delete from HFJ_SPIDX_TOKEN rispt1_0 where rispt1_0.SP_ID in ");
}
assertEquals(1, deleteTokenQueries.size(), ()-> "SQL:\n * " + deleteTokenQueries.stream().map(t->t.getSql(true, false)).collect(Collectors.joining("\n * ")));
@ -519,9 +519,9 @@ abstract class TestDefinitions implements ITestDataBuilder {
// Select HFJ_RES_VER
List<SqlQuery> deleteResVerQueries = getSqlDeleteQueriesWithString(" HFJ_RES_VER ");
if (myIncludePartitionIdsInPks) {
assertThat(deleteResVerQueries.get(0).getSql(true, false)).startsWith("delete from HFJ_RES_VER where (PARTITION_ID,PID) in ");
assertThat(deleteResVerQueries.get(0).getSql(true, false)).startsWith("delete from HFJ_RES_VER rht1_0 where (rht1_0.PARTITION_ID,rht1_0.PID) in ");
} else {
assertThat(deleteResVerQueries.get(0).getSql(true, false)).startsWith("delete from HFJ_RES_VER where PID in ");
assertThat(deleteResVerQueries.get(0).getSql(true, false)).startsWith("delete from HFJ_RES_VER rht1_0 where rht1_0.PID in ");
}
assertEquals(1, deleteResVerQueries.size());
}

View File

@ -6,7 +6,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
@ -21,7 +21,7 @@
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-caching-api</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
</dependency>
<dependency>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir-serviceloaders</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<artifactId>hapi-fhir</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>hapi-deployable-pom</artifactId>
<groupId>ca.uhn.hapi.fhir</groupId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
</parent>
<artifactId>hapi-fhir-spring-boot-sample-client-apache</artifactId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-spring-boot</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>
@ -54,13 +54,13 @@
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<scope>test</scope>
<version>10.16.1.1</version>
<version>10.17.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derbytools</artifactId>
<scope>test</scope>
<version>10.16.1.1</version>
<version>10.17.1.0</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
@ -80,13 +80,6 @@
<artifactId>logback-classic</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-test-utilities</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
@ -131,7 +124,6 @@
</dependency>
<!-- test -->
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-test-utilities</artifactId>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -7,7 +7,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -4,7 +4,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

View File

@ -5,7 +5,7 @@
<parent>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-deployable-pom</artifactId>
<version>7.7.11-SNAPSHOT</version>
<version>7.7.12-SNAPSHOT</version>
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
</parent>

Some files were not shown because too many files have changed in this diff Show More