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 +