mirror of
https://github.com/hapifhir/hapi-fhir.git
synced 2025-02-13 08:25:00 +00:00
* Add unit tests and supporting classes from gitlab issue. * Commit with changes thus far to be reviewed. Namely, add savepoint capabilities to HapiTransactionService, inject HapiTransactionService into CascadingDeleteInterceptor, add savepoint capabilities to the TransactionDetails, and catch an Exception in BaseHapiFhirResourceDao.delete() then rollback to the checkpoint. * Fix compile error. * hapi transaction service test * hapi transaction service test * hapi transaction service test * First draft of RetryTemplate and flush() logic. Try unit testing with PointcutLatch. * hapi transaction service test * Latest changes including moving RetryTemplate, cleaning up unit tests. * First attempt at correct design. Fix compile errors. * Add failed rollback savepoint test. * fix propogation * interesting test failure in SafeDeleterTest * Latest code * move delete * test passing * all tests pass * yay we're done just cleanup * First round of cleanup: Get rid of all exploratory logging, remove unneeded dependencies, move creation of RetryTemplate to SafeDeleter. * More cleanup. Add changelog. * Bump to 6.2.0-PRE13-SNAPSHOT. * Code review feedback: Refactor SafeDeleter to a service and bean. Add comments. * Code review feedback: Comments on unit test assertions. * Code review feedback: Rename SafeDeleterSvc to ThreadSafeResourceDeleterSvc. Add javadoc. Add logger to DelayListener. Remove useless commented out code. * Fix unit test failure in CascadingDeleteInterceptorTest. Co-authored-by: Ken Stevens <ken@smilecdr.com>
435 lines
15 KiB
XML
435 lines
15 KiB
XML
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
|
<artifactId>hapi-deployable-pom</artifactId>
|
|
<version>6.2.0-PRE13-SNAPSHOT</version>
|
|
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
|
</parent>
|
|
|
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
|
<packaging>bundle</packaging>
|
|
|
|
<name>HAPI FHIR Structures - DSTU2 (FHIR v1.0.0)</name>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
|
<artifactId>hapi-fhir-base</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
|
|
<!--
|
|
Test dependencies on other optional parts of HAPI
|
|
-->
|
|
<dependency>
|
|
<groupId>com.fasterxml.woodstox</groupId>
|
|
<artifactId>woodstox-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
|
<artifactId>hapi-fhir-validation-resources-dstu2</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
|
<artifactId>hapi-fhir-client</artifactId>
|
|
<version>${project.version}</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
|
<artifactId>hapi-fhir-server</artifactId>
|
|
<version>${project.version}</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>javax.servlet</groupId>
|
|
<artifactId>javax.servlet-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
|
|
<!-- Testing -->
|
|
<!-- <dependency> <groupId>ca.uhn.hapi.fhir</groupId> <artifactId>hapi-fhir-structures-dstu</artifactId> <version>0.8</version> <scope>test</scope> </dependency> -->
|
|
<dependency>
|
|
<groupId>org.xmlunit</groupId>
|
|
<artifactId>xmlunit-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-servlets</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-server</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-servlet</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-util</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-webapp</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-http</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
<optional>true</optional>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.thymeleaf</groupId>
|
|
<artifactId>thymeleaf</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>
|
|
|
|
<!-- Dependencies for Schematron -->
|
|
<dependency>
|
|
<groupId>com.helger</groupId>
|
|
<artifactId>ph-schematron</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.activation</groupId>
|
|
<artifactId>javax.activation-api</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jaxb</groupId>
|
|
<artifactId>jaxb-runtime</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
|
|
<!-- UNIT TEST DEPENDENCIES -->
|
|
<dependency>
|
|
<groupId>org.junit-pioneer</groupId>
|
|
<artifactId>junit-pioneer</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.sf.json-lib</groupId>
|
|
<artifactId>json-lib</artifactId>
|
|
<!-- <version>2.4</version> -->
|
|
<classifier>jdk15</classifier>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<artifactId>commons-logging</artifactId>
|
|
<groupId>commons-logging</groupId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<artifactId>commons-lang</artifactId>
|
|
<groupId>commons-lang</groupId>
|
|
</exclusion><!-- <exclusion> <artifactId>ezmorph</artifactId> <groupId>net.sf.ezmorph</groupId> </exclusion> -->
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.sf.json-lib</groupId>
|
|
<artifactId>json-lib</artifactId>
|
|
<!-- <version>2.4</version> -->
|
|
<classifier>jdk15-sources</classifier>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<artifactId>commons-logging</artifactId>
|
|
<groupId>commons-logging</groupId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<artifactId>commons-lang</artifactId>
|
|
<groupId>commons-lang</groupId>
|
|
</exclusion><!-- <exclusion> <artifactId>ezmorph</artifactId> <groupId>net.sf.ezmorph</groupId> </exclusion> -->
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<artifactId>commons-lang</artifactId>
|
|
<groupId>commons-lang</groupId>
|
|
<version>2.5</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>directory-naming</groupId>
|
|
<artifactId>naming-java</artifactId>
|
|
<!-- <version>0.8</version> -->
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<artifactId>commons-logging</artifactId>
|
|
<groupId>commons-logging</groupId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-web</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.awaitility</groupId>
|
|
<artifactId>awaitility</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<argLine>@{argLine} ${surefire_jvm_args}</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
|
<artifactId>hapi-tinder-plugin</artifactId>
|
|
<version>${project.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>generate</id>
|
|
<goals>
|
|
<goal>generate-structures</goal>
|
|
</goals>
|
|
<configuration>
|
|
<baseResourceNames>
|
|
<baseResourceName>account</baseResourceName>
|
|
<baseResourceName>allergyintolerance</baseResourceName>
|
|
<baseResourceName>appointment</baseResourceName>
|
|
<baseResourceName>appointmentresponse</baseResourceName>
|
|
<baseResourceName>auditevent</baseResourceName>
|
|
<baseResourceName>basic</baseResourceName>
|
|
<baseResourceName>binary</baseResourceName>
|
|
<baseResourceName>bodysite</baseResourceName>
|
|
<baseResourceName>bundle</baseResourceName>
|
|
<baseResourceName>careplan</baseResourceName>
|
|
<baseResourceName>claim</baseResourceName>
|
|
<baseResourceName>claimresponse</baseResourceName>
|
|
<baseResourceName>clinicalimpression</baseResourceName>
|
|
<baseResourceName>communication</baseResourceName>
|
|
<baseResourceName>communicationrequest</baseResourceName>
|
|
<baseResourceName>composition</baseResourceName>
|
|
<baseResourceName>conceptmap</baseResourceName>
|
|
<baseResourceName>condition</baseResourceName>
|
|
<baseResourceName>conformance</baseResourceName>
|
|
<baseResourceName>contract</baseResourceName>
|
|
<baseResourceName>coverage</baseResourceName>
|
|
<baseResourceName>dataelement</baseResourceName>
|
|
<baseResourceName>detectedissue</baseResourceName>
|
|
<baseResourceName>device</baseResourceName>
|
|
<baseResourceName>devicecomponent</baseResourceName>
|
|
<baseResourceName>devicemetric</baseResourceName>
|
|
<baseResourceName>deviceuserequest</baseResourceName>
|
|
<baseResourceName>deviceusestatement</baseResourceName>
|
|
<baseResourceName>diagnosticorder</baseResourceName>
|
|
<baseResourceName>diagnosticreport</baseResourceName>
|
|
<!-- This is not a real resource <baseResourceName>documentation</baseResourceName> -->
|
|
<baseResourceName>documentmanifest</baseResourceName>
|
|
<baseResourceName>documentreference</baseResourceName>
|
|
<baseResourceName>eligibilityrequest</baseResourceName>
|
|
<baseResourceName>eligibilityresponse</baseResourceName>
|
|
<baseResourceName>encounter</baseResourceName>
|
|
<baseResourceName>enrollmentrequest</baseResourceName>
|
|
<baseResourceName>enrollmentresponse</baseResourceName>
|
|
<baseResourceName>episodeofcare</baseResourceName>
|
|
<baseResourceName>explanationofbenefit</baseResourceName>
|
|
<baseResourceName>familymemberhistory</baseResourceName>
|
|
<baseResourceName>flag</baseResourceName>
|
|
<baseResourceName>goal</baseResourceName>
|
|
<baseResourceName>group</baseResourceName>
|
|
<baseResourceName>healthcareservice</baseResourceName>
|
|
<baseResourceName>imagingobjectselection</baseResourceName>
|
|
<baseResourceName>imagingstudy</baseResourceName>
|
|
<baseResourceName>immunization</baseResourceName>
|
|
<baseResourceName>immunizationrecommendation</baseResourceName>
|
|
<baseResourceName>implementationguide</baseResourceName>
|
|
<baseResourceName>list</baseResourceName>
|
|
<baseResourceName>location</baseResourceName>
|
|
<baseResourceName>media</baseResourceName>
|
|
<baseResourceName>medication</baseResourceName>
|
|
<baseResourceName>medicationadministration</baseResourceName>
|
|
<baseResourceName>medicationdispense</baseResourceName>
|
|
<baseResourceName>medicationorder</baseResourceName>
|
|
<baseResourceName>medicationstatement</baseResourceName>
|
|
<baseResourceName>messageheader</baseResourceName>
|
|
<baseResourceName>namingsystem</baseResourceName>
|
|
<baseResourceName>nutritionorder</baseResourceName>
|
|
<baseResourceName>observation</baseResourceName>
|
|
<baseResourceName>operationdefinition</baseResourceName>
|
|
<baseResourceName>operationoutcome</baseResourceName>
|
|
<baseResourceName>order</baseResourceName>
|
|
<baseResourceName>orderresponse</baseResourceName>
|
|
<baseResourceName>organization</baseResourceName>
|
|
<baseResourceName>parameters</baseResourceName>
|
|
<baseResourceName>patient</baseResourceName>
|
|
<baseResourceName>paymentnotice</baseResourceName>
|
|
<baseResourceName>paymentreconciliation</baseResourceName>
|
|
<baseResourceName>person</baseResourceName>
|
|
<baseResourceName>practitioner</baseResourceName>
|
|
<baseResourceName>procedure</baseResourceName>
|
|
<baseResourceName>procedurerequest</baseResourceName>
|
|
<baseResourceName>processrequest</baseResourceName>
|
|
<baseResourceName>processresponse</baseResourceName>
|
|
<baseResourceName>provenance</baseResourceName>
|
|
<baseResourceName>questionnaire</baseResourceName>
|
|
<baseResourceName>questionnaireresponse</baseResourceName>
|
|
<baseResourceName>referralrequest</baseResourceName>
|
|
<baseResourceName>relatedperson</baseResourceName>
|
|
<baseResourceName>riskassessment</baseResourceName>
|
|
<baseResourceName>schedule</baseResourceName>
|
|
<baseResourceName>searchparameter</baseResourceName>
|
|
<baseResourceName>slot</baseResourceName>
|
|
<baseResourceName>specimen</baseResourceName>
|
|
<baseResourceName>structuredefinition</baseResourceName>
|
|
<baseResourceName>subscription</baseResourceName>
|
|
<baseResourceName>substance</baseResourceName>
|
|
<baseResourceName>supplydelivery</baseResourceName>
|
|
<baseResourceName>supplyrequest</baseResourceName>
|
|
<!--
|
|
Removed in HAPI 2.4 as this isn't a real resource
|
|
<baseResourceName>supportingdocumentation</baseResourceName>
|
|
<baseResourceName>test</baseResourceName>
|
|
-->
|
|
<baseResourceName>testscript</baseResourceName>
|
|
<!-- Removed in HAPI 3.4.0 as this isn't a real resource
|
|
<baseResourceName>user</baseResourceName>
|
|
-->
|
|
<baseResourceName>valueset</baseResourceName>
|
|
<baseResourceName>visionprescription</baseResourceName>
|
|
</baseResourceNames>
|
|
<package>ca.uhn.fhir.model.dstu2</package>
|
|
<version>dstu2</version>
|
|
<buildDatatypes>true</buildDatatypes>
|
|
<packageName>ca.uhn.fhir.model.dstu2</packageName>
|
|
</configuration>
|
|
</execution>
|
|
<!-- <execution> <id>clean_source</id> <goals> <goal>minimize-resources</goal> </goals> <configuration> <fhirVersion>DSTU2</fhirVersion> <targetDirectory>${project.baseDir}/../hapi-tinder-plugin/</targetDirectory>
|
|
</configuration> </execution> -->
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>add-source</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>target/generated-sources/tinder</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<instructions>
|
|
<_nouses>true</_nouses>
|
|
<_removeheaders>Built-By, Include-Resource, Private-Package, Require-Capability</_removeheaders>
|
|
<!-- No need to disable normal OSGi class loading
|
|
<Fragment-Host>
|
|
ca.uhn.hapi.fhir.hapi-fhir-base
|
|
</Fragment-Host>
|
|
-->
|
|
<Import-Package>
|
|
javax.servlet*;resolution:=optional,
|
|
*
|
|
</Import-Package>
|
|
</instructions>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
|
|
<plugin>
|
|
<groupId>org.eclipse.m2e</groupId>
|
|
<artifactId>lifecycle-mapping</artifactId>
|
|
<version>1.0.0</version>
|
|
<configuration>
|
|
<lifecycleMappingMetadata>
|
|
<pluginExecutions>
|
|
<pluginExecution>
|
|
<pluginExecutionFilter>
|
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
|
<artifactId>hapi-tinder-plugin</artifactId>
|
|
<versionRange>[0.4-SNAPSHOT,)</versionRange>
|
|
<goals>
|
|
<goal>generate-structures</goal>
|
|
</goals>
|
|
</pluginExecutionFilter>
|
|
<action>
|
|
<ignore></ignore>
|
|
</action>
|
|
</pluginExecution>
|
|
</pluginExecutions>
|
|
</lifecycleMappingMetadata>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
<resources>
|
|
<resource>
|
|
<directory>${basedir}/src/main/resources</directory>
|
|
</resource>
|
|
<resource>
|
|
<directory>${basedir}/target/generated-resources/tinder</directory>
|
|
</resource>
|
|
</resources>
|
|
</build>
|
|
|
|
<reporting>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<configuration>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</reporting>
|
|
|
|
</project>
|