diff --git a/README.md b/README.md
index 812fafc0d0e..4d31ea76496 100644
--- a/README.md
+++ b/README.md
@@ -17,3 +17,5 @@ http://hapi.fhir.org/
This project is Open Source, licensed under the Apache Software License 2.0.
Please see [this wiki page](https://github.com/jamesagnew/hapi-fhir/wiki/Getting-Help) for information on where to get help with HAPI FHIR. Please see [Smile CDR](https://smilecdr.com) for information on commercial support.
+
+---
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index 8a1b3c96a0b..00000000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-version: 1.0.{build}
-image: Visual Studio 2017
-cache:
- - C:\maven\
- - C:\Users\appveyor\.m2\repository
-build_script:
- - SET JAVA_HOME=C:\Program Files\Java\jdk10
- - SET PATH=C:\Program Files\Java\jdk10\bin;%PATH%
- - cmd: mvn -P MINPARALLEL,ALLMODULES,REDUCED_JPA_TESTS clean install
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 00000000000..3508a020c7e
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,60 @@
+# Starter pipeline
+# Start with a minimal pipeline that you can customize to build and deploy your code.
+# Add steps that build, run tests, deploy, and more:
+# https://aka.ms/yaml
+
+variables:
+ MAVEN_CACHE_FOLDER: $(Pipeline.Workspace)/.m2/repository
+ MAVEN_OPTS: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'
+
+trigger:
+- master
+
+pool:
+ vmImage: 'ubuntu-latest'
+
+
+jobs:
+ - job: Build
+ timeoutInMinutes: 360
+ steps:
+ - task: CacheBeta@0
+ inputs:
+ key: maven
+ path: $(MAVEN_CACHE_FOLDER)
+ displayName: Cache Maven local repo
+
+ - task: Maven@3
+ inputs:
+ goals: 'validate'
+
+ - task: Maven@3
+ inputs:
+ #mavenPomFile: 'pom.xml'
+ goals: 'clean install' # Optional
+ options: ''
+ #publishJUnitResults: true
+ #testResultsFiles: '**/surefire-reports/TEST-*.xml' # Required when publishJUnitResults == True
+ #testRunTitle: # Optional
+ #codeCoverageToolOption: 'None' # Optional. Options: none, cobertura, jaCoCo. Enabling code coverage inserts the `clean` goal into the Maven goals list when Maven runs.
+ #codeCoverageClassFilter: # Optional. Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*
+ #codeCoverageClassFilesDirectories: # Optional
+ #codeCoverageSourceDirectories: # Optional
+ #codeCoverageFailIfEmpty: false # Optional
+ #javaHomeOption: 'JDKVersion' # Options: jDKVersion, path
+ #jdkVersionOption: 'default' # Optional. Options: default, 1.11, 1.10, 1.9, 1.8, 1.7, 1.6
+ #jdkDirectory: # Required when javaHomeOption == Path
+ #jdkArchitectureOption: 'x64' # Optional. Options: x86, x64
+ #mavenVersionOption: 'Default' # Options: default, path
+ #mavenDirectory: # Required when mavenVersionOption == Path
+ #mavenSetM2Home: false # Required when mavenVersionOption == Path
+ mavenOptions: '-Xmx2048m $(MAVEN_OPTS)' # Optional
+ #mavenAuthenticateFeed: false
+ #effectivePomSkip: false
+ #sonarQubeRunAnalysis: false
+ #sqMavenPluginVersionChoice: 'latest' # Required when sonarQubeRunAnalysis == True# Options: latest, pom
+ #checkStyleRunAnalysis: false # Optional
+ #pmdRunAnalysis: false # Optional
+ #findBugsRunAnalysis: false # Optional
+
+
diff --git a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/interceptors/interceptors.md b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/interceptors/interceptors.md
index b31ee889750..d8cc8c82bef 100644
--- a/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/interceptors/interceptors.md
+++ b/hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/interceptors/interceptors.md
@@ -7,3 +7,4 @@ Interceptor classes may "hook into" various points in the processing chain in bo
```java
{{snippet:classpath:/ca/uhn/hapi/fhir/docs/MyInterceptor.java|sampleClass}}
```
+
diff --git a/hapi-fhir-jaxrsserver-base/pom.xml b/hapi-fhir-jaxrsserver-base/pom.xml
index 44f7d694601..9f2aa4accea 100644
--- a/hapi-fhir-jaxrsserver-base/pom.xml
+++ b/hapi-fhir-jaxrsserver-base/pom.xml
@@ -50,31 +50,26 @@
ca.uhn.hapi.fhir
hapi-fhir-structures-dstu2
${project.version}
- true
ca.uhn.hapi.fhir
hapi-fhir-structures-hl7org-dstu2
${project.version}
- true
ca.uhn.hapi.fhir
hapi-fhir-structures-dstu2.1
${project.version}
- true
ca.uhn.hapi.fhir
hapi-fhir-structures-dstu3
${project.version}
- true
ca.uhn.hapi.fhir
hapi-fhir-structures-r4
${project.version}
- true
diff --git a/hapi-fhir-jpaserver-base/pom.xml b/hapi-fhir-jpaserver-base/pom.xml
index 11ab97ac90f..dad80f5523a 100644
--- a/hapi-fhir-jpaserver-base/pom.xml
+++ b/hapi-fhir-jpaserver-base/pom.xml
@@ -212,7 +212,6 @@
com.github.dnault
xml-patch
- 0.3.0
diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/data/ITermCodeSystemVersionDao.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/data/ITermCodeSystemVersionDao.java
index 4d9d76065f8..bf90aad1df3 100644
--- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/data/ITermCodeSystemVersionDao.java
+++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/data/ITermCodeSystemVersionDao.java
@@ -35,10 +35,10 @@ public interface ITermCodeSystemVersionDao extends JpaRepository findByCodeSystemPid(@Param("resource_id") Long theCodeSystemResourcePid);
+ @Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myCodeSystemPid = :codesystem_pid")
+ List findByCodeSystemPid(@Param("codesystem_pid") Long theCodeSystemPid);
- @Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myResource.myId = :resource_id")
+ @Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myResourcePid = :resource_id")
List findByCodeSystemResourcePid(@Param("resource_id") Long theCodeSystemResourcePid);
@Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myCodeSystemHavingThisVersionAsCurrentVersionIfAny.myResource.myId = :resource_id")
diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/entity/TermCodeSystemVersion.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/entity/TermCodeSystemVersion.java
index b305eb68f21..85874bac10c 100644
--- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/entity/TermCodeSystemVersion.java
+++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/entity/TermCodeSystemVersion.java
@@ -58,6 +58,7 @@ public class TermCodeSystemVersion implements Serializable {
@Column(name = "CS_VERSION_ID", nullable = true, updatable = false, length = MAX_VERSION_LENGTH)
private String myCodeSystemVersionId;
+
/**
* This was added in HAPI FHIR 3.3.0 and is nullable just to avoid migration
* issued. It should be made non-nullable at some point.
@@ -65,8 +66,11 @@ public class TermCodeSystemVersion implements Serializable {
@ManyToOne
@JoinColumn(name = "CODESYSTEM_PID", referencedColumnName = "PID", nullable = true, foreignKey = @ForeignKey(name = "FK_CODESYSVER_CS_ID"))
private TermCodeSystem myCodeSystem;
- @SuppressWarnings("unused")
+ @Column(name = "CODESYSTEM_PID", insertable = false, updatable = false)
+ private Long myCodeSystemPid;
+
+ @SuppressWarnings("unused")
@OneToOne(mappedBy = "myCurrentVersion", optional = true)
private TermCodeSystem myCodeSystemHavingThisVersionAsCurrentVersionIfAny;
diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java
index 7c18e672068..46c25066285 100644
--- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java
+++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java
@@ -1368,11 +1368,14 @@ public class FhirResourceDaoR4SearchNoFtTest extends BaseJpaR4Test {
map.setLastUpdated(new DateRangeParam().setUpperBound(new DateParam(ParamPrefixEnum.LESSTHAN, "2022-01-01")));
IBundleProvider found = myPatientDao.search(map);
Set dates = new HashSet<>();
+ String searchId = found.getUuid();
for (int i = 0; i < 9; i++) {
List resources = found.getResources(i, i + 1);
- assertThat("Failed to load range " + i + " - " + (i + 1), resources, hasSize(1));
+ assertThat("Failed to load range " + i + " - " + (i + 1) + " - from provider of type: " + found.getClass(), resources, hasSize(1));
Patient nextResource = (Patient) resources.get(0);
dates.add(nextResource.getBirthDateElement().getValueAsString());
+
+ found = myPagingProvider.retrieveResultList(null, searchId);
}
assertThat(dates, hasItems(
diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchOptimizedTest.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchOptimizedTest.java
index 6d0931d484d..79d3929a8e1 100644
--- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchOptimizedTest.java
+++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchOptimizedTest.java
@@ -120,7 +120,7 @@ public class FhirResourceDaoR4SearchOptimizedTest extends BaseJpaR4Test {
myDaoConfig.setSearchPreFetchThresholds(Arrays.asList(20, 50, 190));
- // Seach with count only
+ // Search with count only
SearchParameterMap params = new SearchParameterMap();
params.add(Patient.SP_NAME, new StringParam("FAM"));
params.setSummaryMode((SummaryEnum.COUNT));
@@ -142,7 +142,9 @@ public class FhirResourceDaoR4SearchOptimizedTest extends BaseJpaR4Test {
assertEquals(201, results.size().intValue());
ids = toUnqualifiedVersionlessIdValues(results, 0, 10, true);
assertThat(ids, hasSize(10));
- assertEquals(201, myDatabaseBackedPagingProvider.retrieveResultList(null, uuid).size().intValue());
+ IBundleProvider bundleProvider = myDatabaseBackedPagingProvider.retrieveResultList(null, uuid);
+ Integer bundleSize = bundleProvider.size();
+ assertEquals(201, bundleSize.intValue());
// Search with count only
params = new SearchParameterMap();
diff --git a/pom.xml b/pom.xml
index 7093027e2d9..ebb542bc664 100755
--- a/pom.xml
+++ b/pom.xml
@@ -45,14 +45,7 @@
-
-
- false
-
- bintray-dnault-maven
- bintray
- https://dl.bintray.com/dnault/maven
-
+
oss-snapshot
https://oss.sonatype.org/content/repositories/snapshots/
true
+
+ false
+