6480 webjar dependencies (#6491)
* removing bootstrap 4 dep in favour of bootstrap 5 * accordions * fixing some tabs * radios * some tweaks * adding changelog * updated version * tweaks * updating the webtest webclient for better es script support * disabling tests in hapi * unwrapping from transaction boundary * bumping version * config issue --------- Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
This commit is contained in:
parent
83381ac5f9
commit
dc4e1c723f
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir-bom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-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.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir-cli</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
type: fix
|
||||
issue: 6480
|
||||
title: "Updated front-end bootstrap dependency due to
|
||||
security vulnerabilities.
|
||||
"
|
|
@ -11,7 +11,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -296,10 +296,9 @@ public class UpliftedRefchainsAndChainedSortingR5Test extends BaseJpaR5Test {
|
|||
assertEquals(1, myCaptureQueriesListener.countSelectQueriesForCurrentThread());
|
||||
|
||||
// Verify correct indexes are written
|
||||
logAllStringIndexes();
|
||||
|
||||
runInTransaction(() -> {
|
||||
logAllStringIndexes();
|
||||
|
||||
List<String> params = myResourceIndexedSearchParamStringDao
|
||||
.findAll()
|
||||
.stream()
|
||||
|
@ -310,7 +309,6 @@ public class UpliftedRefchainsAndChainedSortingR5Test extends BaseJpaR5Test {
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testCreate_InTransaction_TargetConditionalUpdated_NotAlreadyExisting() {
|
||||
// Setup
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -43,10 +43,10 @@
|
|||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<li role="presentation" class="active"><a href="#wss"
|
||||
aria-controls="wss" role="tab" data-toggle="tab">Static
|
||||
aria-controls="wss" role="tab" data-bs-toggle="tab">Static
|
||||
Websocket</a></li>
|
||||
<li role="presentation"><a href="#wsd" aria-controls="wsd"
|
||||
role="tab" data-toggle="tab">Dynamic Websocket</a></li>
|
||||
role="tab" data-bs-toggle="tab">Dynamic Websocket</a></li>
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<artifactId>hapi-fhir-serviceloaders</artifactId>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<artifactId>hapi-fhir-serviceloaders</artifactId>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-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.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<artifactId>hapi-fhir-serviceloaders</artifactId>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>hapi-fhir-spring-boot-sample-client-apache</artifactId>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir-spring-boot-samples</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir-spring-boot</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
</parent>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -153,7 +153,7 @@
|
|||
<artifactId>ace-builds</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars.npm</groupId>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>bootstrap</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
@ -185,7 +185,7 @@
|
|||
<artifactId>moment</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars.npm</groupId>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>popper.js</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
|
|
@ -23,8 +23,8 @@ public class FhirTesterMvcConfig implements WebMvcConfigurer {
|
|||
|
||||
@Override
|
||||
public void addResourceHandlers(@Nonnull ResourceHandlerRegistry theRegistry) {
|
||||
WebUtil.webJarAddAceBuilds(theRegistry);
|
||||
WebUtil.webJarAddBoostrap(theRegistry);
|
||||
WebUtil.webJarAddAceBuilds(theRegistry);
|
||||
WebUtil.webJarAddJQuery(theRegistry);
|
||||
WebUtil.webJarAddFontAwesome(theRegistry);
|
||||
WebUtil.webJarAddJSTZ(theRegistry);
|
||||
|
|
|
@ -20,7 +20,7 @@ import java.util.Properties;
|
|||
|
||||
public class WebUtil {
|
||||
public static final String BOOTSTRAP_ID = "bootstrap";
|
||||
public static final String BOOTSTRAP_PKG = "org.webjars.npm";
|
||||
public static final String BOOTSTRAP_PKG = "org.webjars";
|
||||
public static final String JQUERY_ID = "jquery";
|
||||
public static final String JQUERY_PKG = "org.webjars.bower";
|
||||
|
||||
|
@ -84,6 +84,6 @@ public class WebUtil {
|
|||
}
|
||||
|
||||
public static void webJarAddPopperJs(ResourceHandlerRegistry theRegistry) {
|
||||
WebUtil.addStaticResourceWebJar(theRegistry, "org.webjars.npm", "popper.js");
|
||||
WebUtil.addStaticResourceWebJar(theRegistry, "org.webjars", "popper.js");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,11 +71,13 @@
|
|||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-3 form-group">
|
||||
<a type="button" id="fetch-conformance-btn"
|
||||
class="btn btn-primary btn-block">
|
||||
<i class="far fa-dot-circle"></i>
|
||||
Conformance
|
||||
</a>
|
||||
<div class="d-grid gap-2">
|
||||
<a type="button" id="fetch-conformance-btn"
|
||||
class="btn btn-primary">
|
||||
<i class="far fa-dot-circle"></i>
|
||||
Conformance
|
||||
</a>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#fetch-conformance-btn').click(
|
||||
function() {
|
||||
|
@ -97,32 +99,34 @@
|
|||
</div>
|
||||
<div class="row top-buffer">
|
||||
<div class="col-sm-3">
|
||||
<button type="button" id="server-history-btn" class="btn btn-primary btn-block">
|
||||
<i class="far fa-calendar-alt"></i>
|
||||
History
|
||||
</button>
|
||||
<div class="d-grid gap-29">
|
||||
<button type="button" id="server-history-btn" class="btn btn-primary">
|
||||
<i class="far fa-calendar-alt"></i>
|
||||
History
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-sm-5'>
|
||||
<div class="form-group">
|
||||
<div class='input-group date' id='server-history-datetime' data-date-format="YYYY-MM-DDTHH:mm:ss">
|
||||
<div class="input-group-prepend">
|
||||
<div class='input-group date' id='server-history-datetime' data-bs-toggledate-format="YYYY-MM-DDTHH:mm:ss">
|
||||
<div>
|
||||
<span class="input-group-text">
|
||||
Since
|
||||
</span>
|
||||
</div>
|
||||
<input type='text' class="form-control" id="server-history-since"/>
|
||||
<div class="input-group-append input-group-addon"> <!-- input-group-addon is from Bootstrap3 but the time picker needs it there -->
|
||||
<div class=" input-group-addon"> <!-- input-group-addon is from Bootstrap3 but the time picker needs it there -->
|
||||
<span class="input-group-text">
|
||||
<i class="far fa-calendar-alt"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-sm-3'>
|
||||
<div class="form-group">
|
||||
<div class='input-group'>
|
||||
<div class="input-group-prepend">
|
||||
<div>
|
||||
<span class="input-group-text">
|
||||
Limit #
|
||||
</span>
|
||||
|
@ -164,10 +168,12 @@
|
|||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<button type="button" id="transaction-btn" class="btn btn-primary btn-block">
|
||||
<i class="fas fa-file-archive"></i>
|
||||
Transaction
|
||||
</button>
|
||||
<div class="d-grid gap-2">
|
||||
<button type="button" id="transaction-btn" class="btn btn-primary">
|
||||
<i class="fas fa-file-archive"></i>
|
||||
Transaction
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-sm-9'>
|
||||
<div class="form-group">
|
||||
|
|
|
@ -51,21 +51,21 @@
|
|||
<ul class="nav nav-tabs" role="tablist" id="resource-nav-tabs" style="margin-top: 20px; padding-left: 5px;">
|
||||
<!-- Search Tab -->
|
||||
<li th:if="${haveSearchParams}" class="nav-item">
|
||||
<a href="#tab-search" role="tab" data-toggle="tab" class="nav-link" id="search-tab">Search</a>
|
||||
<a href="#tab-search" role="tab" data-bs-toggle="tab" class="nav-link" id="search-tab">Search</a>
|
||||
</li>
|
||||
<li th:if="${!haveSearchParams}" class="disabled nav-item">
|
||||
<a href="#tab-search" role="tab" class="nav-link disabled">Search</a>
|
||||
</li>
|
||||
<!-- Queries Tab -->
|
||||
<li th:if="${!queries.empty}" class="nav-item">
|
||||
<a href="#tab-queries" role="tab" data-toggle="tab" class="nav-link" id="queries-tab">Queries</a>
|
||||
<a href="#tab-queries" role="tab" data-bs-toggle="tab" class="nav-link" id="queries-tab">Queries</a>
|
||||
</li>
|
||||
<li th:if="${queries.empty}" class="disabled nav-item">
|
||||
<a href="#tab-queries" role="tab" class="nav-link disabled">Queries</a>
|
||||
</li>
|
||||
<!-- CRUD Tab -->
|
||||
<li th:class="(${!haveSearchParams} and ${queries.empty}) ? 'active'" class="nav-item">
|
||||
<a href="#tab-otheractions" role="tab" data-toggle="tab" name="tabCrudOperationsLink" class="nav-link" id="crud-tab">CRUD Operations</a>
|
||||
<a href="#tab-otheractions" role="tab" data-bs-toggle="tab" name="tabCrudOperationsLink" class="nav-link" id="crud-tab">CRUD Operations</a>
|
||||
</li>
|
||||
</ul>
|
||||
<script type="text/javascript">
|
||||
|
@ -74,7 +74,7 @@
|
|||
if (!$('#resource-nav-tabs li:eq('+i+')').hasClass('disabled')) {
|
||||
$('#resource-nav-tabs li:eq('+i+') a').tab('show');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
@ -85,7 +85,7 @@
|
|||
<!-- *************************************************** -->
|
||||
<!-- Search Tab -->
|
||||
<!-- *************************************************** -->
|
||||
<div class="tab-pane active" id="tab-search" aria-labelledby="search-tab">
|
||||
<div class="tab-pane" id="tab-search" aria-labelledby="search-tab">
|
||||
|
||||
<!-- Search contents -->
|
||||
<div class="container-fluid">
|
||||
|
@ -95,7 +95,7 @@
|
|||
<i class="fab fa-searchengin"></i>
|
||||
Search
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#search-btn').click(function() {
|
||||
|
@ -154,9 +154,9 @@
|
|||
<div class="btn-group">
|
||||
<input type="hidden" id="sort_by" />
|
||||
<button type="button" class="btn btn-info" id="search_sort_button">Default</button>
|
||||
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">
|
||||
<button type="button" class="btn btn-info dropdown-toggle" data-bs-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
<span class="sr-only">Default Sort</span>
|
||||
<span class="visually-hidden">Default Sort</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<li><a href="javascript:updateSort('');">Default Sort</a></li>
|
||||
|
@ -164,14 +164,14 @@
|
|||
<li th:each="nextParam : ${sortParams}"><a th:href="'javascript:updateSort(\'' + ${nextParam} + '\');'" th:text="${nextParam}"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<label>Direction</label>
|
||||
<div class="btn-group">
|
||||
<input type="hidden" id="sort_direction" />
|
||||
<button type="button" class="btn btn-info" id="search_sort_direction_button">Default</button>
|
||||
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">
|
||||
<button type="button" class="btn btn-info dropdown-toggle" data-bs-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
<span class="sr-only">Default Sort</span>
|
||||
<span class="visually-hidden">Default Sort</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<li><a href="javascript:updateSortDirection('');">Default</a></li>
|
||||
|
@ -327,7 +327,7 @@
|
|||
</div>
|
||||
<div class='col-sm-5'>
|
||||
<div class="form-group">
|
||||
<div class='input-group date' id='resource-history-datetime' data-date-format="YYYY-MM-DDTHH:mm:ss">
|
||||
<div class='input-group date' id='resource-history-datetime' data-bs-toggledate-format="YYYY-MM-DDTHH:mm:ss">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">
|
||||
Since
|
||||
|
@ -360,8 +360,7 @@
|
|||
format: 'YYYY-MM-DDTHH:mm:ssZ'
|
||||
});
|
||||
});
|
||||
$('#resource-history-btn').click(
|
||||
function() {
|
||||
$('#resource-history-btn').click(function() {
|
||||
var btn = $(this);
|
||||
handleActionButtonClick($(this));
|
||||
var limit = $('#resource-history-limit').val();
|
||||
|
@ -371,7 +370,7 @@
|
|||
var id = $('#resource-history-id').val();
|
||||
if (id != null) btn.append($('<input />', { type: 'hidden', name: 'resource-history-id', value: id }));
|
||||
$("#outerForm").attr("action", "history-type").submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<br clear="all"/>
|
||||
|
@ -399,7 +398,7 @@
|
|||
<span class="loadingStar">*</span>
|
||||
</span>
|
||||
</div>
|
||||
<input type="text" class="form-control rounded-right" id="resource-delete-id"/>
|
||||
<input type="text" class="form-control rounded-start" id="resource-delete-id"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -415,9 +414,9 @@
|
|||
</script>
|
||||
</div>
|
||||
<br clear="all"/>
|
||||
|
||||
|
||||
<!-- Create -->
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<b>Create</b> an instance of the resource. Generally you do not need to specify an ID
|
||||
|
@ -616,7 +615,7 @@
|
|||
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
$(function () { $("[data-toggle='tooltip']").tooltip(); });
|
||||
$(function () { $("[data-bs-toggle='tooltip']").tooltip(); });
|
||||
</script>
|
||||
-->
|
||||
</body>
|
||||
|
|
|
@ -7,15 +7,15 @@
|
|||
<meta name="description" content=""/>
|
||||
<meta name="author" content=""/>
|
||||
|
||||
<script th:src="@{/resources/popper.js/dist/umd/popper.min.js}"></script>
|
||||
<script th:src="@{/resources/popper.js/umd/popper.min.js}"></script>
|
||||
|
||||
<!-- JQuery and Bootstrap -->
|
||||
<script th:src="@{/resources/jquery/dist/jquery.js}"></script>
|
||||
<link rel="stylesheet" th:href="@{/resources/bootstrap/dist/css/bootstrap.css}"/>
|
||||
<link rel="stylesheet" th:href="@{/resources/bootstrap/css/bootstrap.css}"/>
|
||||
<link rel="stylesheet" media="screen" th:href="@{/resources/font-awesome/css/fontawesome.min.css}" />
|
||||
<script th:src="@{/resources/font-awesome/js/all.min.js}" data-auto-replace-svg="nest"></script>
|
||||
<script th:src="@{/resources/font-awesome/js/all.min.js}" data-bs-toggleauto-replace-svg="nest"></script>
|
||||
<link rel="stylesheet" media="screen" th:href="@{/resources/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css}" />
|
||||
<script th:src="@{/resources/bootstrap/dist/js/bootstrap.min.js}"></script>
|
||||
<script th:src="@{/resources/bootstrap/js/bootstrap.min.js}" type="text/javascript"></script>
|
||||
<!--<script th:src="@{/resources/bootstrap/js/tab.js}"></script>-->
|
||||
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
|||
</script>
|
||||
|
||||
<link rel="stylesheet" media="screen" th:href="@{/resources/font-awesome/css/all.min.css}" />
|
||||
<script th:src="@{/resources/font-awesome/js/all.min.js}" data-auto-replace-svg="nest"></script>
|
||||
<script th:src="@{/resources/font-awesome/js/all.min.js}" data-bs-toggleauto-replace-svg="nest"></script>
|
||||
|
||||
|
||||
<script th:src="@{/resources/moment/min/moment-with-locales.min.js}"></script>
|
||||
|
|
|
@ -1,50 +1,54 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
<div th:fragment="left" class="col-sm-3 col-md-3 sidebar">
|
||||
|
||||
<h4>Options</h4>
|
||||
|
||||
<!-- Encoding -->
|
||||
<label class="navBarButtonLabel">Encoding</label>
|
||||
<div class="btn-group btn-group-toggle" data-toggle="buttons" id="encodingBtnGroup">
|
||||
<label class="btn btn-info active">
|
||||
<input type="radio" name="encoding" id="encode-default" value="" />(default)
|
||||
</label>
|
||||
<label class="btn btn-info">
|
||||
<input type="radio" name="encoding" id="encode-xml" value="xml" />XML
|
||||
</label>
|
||||
<label class="btn btn-info">
|
||||
<input type="radio" name="encoding" id="encode-json" value="json" />JSON
|
||||
</label>
|
||||
<div class="btn-group" id="encodingBtnGroup" role="group">
|
||||
<input type="radio" class="btn-check" name="encoding" id="encode-default" value="" />
|
||||
<label class="btn btn-info" for="encode-default">(default)</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="encoding" id="encode-xml" value="xml" />
|
||||
<label class="btn btn-info" for="encode-xml">XML</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="encoding" id="encode-json" value="json" />
|
||||
<label class="btn btn-info" for="encode-json">JSON</label>
|
||||
</div>
|
||||
|
||||
<!-- Pretty -->
|
||||
<br /> <label class="navBarButtonLabel">Pretty</label>
|
||||
<div class="btn-group btn-group-toggle" data-toggle="buttons" id="prettyBtnGroup" style="margin-top: 5px;">
|
||||
<label class="btn btn-info active"> <input
|
||||
type="radio" name="pretty" id="pretty-default" value="" />(default)
|
||||
</label> <label class="btn btn-info"> <input
|
||||
type="radio" name="pretty" id="pretty-true" value="true" />On
|
||||
</label> <label class="btn btn-info"> <input
|
||||
type="radio" name="pretty" id="pretty-false" value="false" />Off
|
||||
</label>
|
||||
<div role="group" class="btn-group" id="prettyBtnGroup" style="margin-top: 5px;">
|
||||
<input type="radio" class="btn-check" name="pretty" id="pretty-default" value="" />
|
||||
<label class="btn btn-info" for="pretty-default">(default)</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="pretty" id="pretty-true" value="true" />
|
||||
<label class="btn btn-info" for="pretty-true">On</label>
|
||||
|
||||
<input
|
||||
type="radio" class="btn-check" name="pretty" id="pretty-false" value="false" />
|
||||
<label class="btn btn-info" for="pretty-false"> Off</label>
|
||||
</div>
|
||||
|
||||
<!-- Summary -->
|
||||
<br /> <label class="navBarButtonLabel">Summary</label>
|
||||
<div class="btn-group btn-group-toggle" data-toggle="buttons" id="summaryBtnGroup" style="margin-top: 5px;">
|
||||
<label class="btn btn-info active">
|
||||
<input type="radio" name="_summary" id="summary-default" value="" />(none)
|
||||
</label>
|
||||
<label class="btn btn-info">
|
||||
<input type="radio" name="_summary" id="summary-true" value="true" />true
|
||||
</label>
|
||||
<label class="btn btn-info">
|
||||
<input type="radio" name="_summary" id="summary-text" value="text" />text
|
||||
</label>
|
||||
<label class="btn btn-info">
|
||||
<input type="radio" name="_summary" id="summary-data" value="data" />data
|
||||
</label>
|
||||
<label class="btn btn-info">
|
||||
<input type="radio" name="_summary" id="summary-count" value="count" />count
|
||||
</label>
|
||||
<div role="group" class="btn-group" id="summaryBtnGroup" style="margin-top: 5px;">
|
||||
<input type="radio" class="btn-check" name="_summary" id="summary-default" value="" />
|
||||
<label class="btn btn-info" for="summary-default">(none)</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="_summary" id="summary-true" value="true" />
|
||||
<label class="btn btn-info" for="summary-true">true</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="_summary" id="summary-text" value="text" />
|
||||
<label class="btn btn-info" for="summary-text">text</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="_summary" id="summary-data" value="data" />
|
||||
<label class="btn btn-info" for="summary-data">data</label>
|
||||
|
||||
<input type="radio" class="btn-check" name="_summary" id="summary-count" value="count" />
|
||||
<label class="btn btn-info" for="summary-count">count</label>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" th:inline="javascript">
|
||||
|
@ -54,14 +58,14 @@
|
|||
// Encoding buttons are wider, so set the shorter group to the same width
|
||||
// so that they wrap at the same time if the page is narrow
|
||||
$('#prettyBtnGroup').width($('#encodingBtnGroup').width());
|
||||
|
||||
|
||||
var encoding = [[${encoding}]];
|
||||
if (encoding == 'xml') {
|
||||
$('#encode-xml').trigger("click");
|
||||
} else if (encoding == 'json') {
|
||||
$('#encode-json').trigger("click");
|
||||
}
|
||||
|
||||
|
||||
var pretty = [[${pretty}]];
|
||||
if (pretty){
|
||||
$('#pretty-true').trigger("click");
|
||||
|
@ -82,15 +86,31 @@
|
|||
$('#summary-default').trigger("click");
|
||||
}
|
||||
|
||||
if ([[${!#strings.isEmpty(resultBody)}]]) {
|
||||
|
||||
const hasResultBody = [[${!#strings.isEmpty(resultBody)}]];
|
||||
if (hasResultBody) {
|
||||
// When we're displaying a result page, the options buttons should
|
||||
// actually apply their values to the current search/action
|
||||
$('#encode-default').change( function(){ location.href=updateURLParameter(location.href, 'encoding', '') });
|
||||
$('#encode-xml').change( function(){ location.href=updateURLParameter(location.href, 'encoding', 'xml') });
|
||||
$('#encode-json').change( function(){ location.href=updateURLParameter(location.href, 'encoding', 'json') });
|
||||
$('#pretty-default').change( function(){ location.href=updateURLParameter(location.href, 'pretty', '') });
|
||||
$('#pretty-true').change( function(){ location.href=updateURLParameter(location.href, 'pretty', 'true') });
|
||||
$('#pretty-false').change( function(){ location.href=updateURLParameter(location.href, 'pretty', 'false') });
|
||||
$('#encode-default').change(function(){
|
||||
if (hasResultBody)
|
||||
location.href=updateURLParameter(location.href, 'encoding', '');
|
||||
});
|
||||
$('#encode-xml').change(function(){
|
||||
location.href=updateURLParameter(location.href, 'encoding', 'xml');
|
||||
});
|
||||
$('#encode-json').change(function(){
|
||||
location.href=updateURLParameter(location.href, 'encoding', 'json');
|
||||
});
|
||||
|
||||
$('#pretty-default').change(function(){
|
||||
location.href=updateURLParameter(location.href, 'pretty', '');
|
||||
});
|
||||
$('#pretty-true').change(function(){
|
||||
location.href=updateURLParameter(location.href, 'pretty', 'true');
|
||||
});
|
||||
$('#pretty-false').change(function(){
|
||||
location.href=updateURLParameter(location.href, 'pretty', 'false');
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<span class="fa fa-home topbarIcon"></span> Home
|
||||
</a>
|
||||
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
|
@ -25,9 +25,9 @@
|
|||
<!--
|
||||
Server selection dropdown
|
||||
-->
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<ul class="navbar-nav ms-auto">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-fire topbarIcon"></i> <span id="serverSelectorName" th:text="'Server: ' + ${baseName}"></span> <span class="caret" /></a>
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
|
@ -47,7 +47,7 @@
|
|||
<th:block th:if="${apiKey != null}">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item dropdown">
|
||||
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown"><span class="fa fa-key topbarIcon"></span> API Key <span class="caret" /></a>
|
||||
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown"><span class="fa fa-key topbarIcon"></span> API Key <span class="caret" /></a>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<div style="padding: 10px;">
|
||||
<p>If your chosen server requires an API key / Bearer token, enter it here:</p>
|
||||
|
|
|
@ -11,7 +11,7 @@ ca.uhn.hapi Bundle
|
|||
<div class="panel-heading">
|
||||
<div class="panel-title">
|
||||
<th:block th:if="${#lists.isEmpty(bundle.entries)}">Bundle contains no entries</th:block>
|
||||
<a th:unless="${#lists.isEmpty(bundle.entries)}" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
|
||||
<a th:unless="${#lists.isEmpty(bundle.entries)}" data-bs-toggle="collapse" data-parent="#accordion" href="#collapseOne">
|
||||
<i id="collapseOneIcon" class="far fa-minus-square"></i>
|
||||
<span th:if="${bundle.totalResults.empty}" th:text="'Bundle contains ' + ${#lists.size(bundle.entries)} + ' entries'"/>
|
||||
<span th:unless="${bundle.totalResults.empty}" th:text="'Bundle contains ' + ${#lists.size(bundle.entries)} + ' / ' + ${bundle.totalResults.value} + ' entries'"/>
|
||||
|
|
|
@ -14,7 +14,7 @@ fieldset[disabled].btn {
|
|||
border-radius: 0.5rem;
|
||||
}
|
||||
|
||||
.badge-secondary {
|
||||
.bg-secondary {
|
||||
color: #fff;
|
||||
background-color: #98a5b0;
|
||||
}
|
||||
|
@ -396,4 +396,3 @@ DIV.tab-pane DIV.container-fluid {
|
|||
DIV.top-buffer {
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@ function addSearchControls(theConformance, theSearchParamType, theSearchParamNam
|
|||
$('#search-param-rowopts-' + theContainerRowNum).append(
|
||||
$('<div />', { 'class':'input-group'}).append(
|
||||
$('<div />', {'class':'input-group-prepend'}).append(
|
||||
$('<button />', {'class':'btn btn-default dropdown-toggle input-group-text', 'data-toggle':'dropdown'}).append(
|
||||
$('<button />', {'class':'btn btn-default dropdown-toggle input-group-text', 'data-bs-toggle':'dropdown'}).append(
|
||||
tokenQualifierLabel,
|
||||
$('<span class="caret" style="margin-left: 5px;"></span>')
|
||||
),
|
||||
|
@ -177,7 +177,7 @@ function addSearchControls(theConformance, theSearchParamType, theSearchParamNam
|
|||
$('#search-param-rowopts-' + theContainerRowNum).append(
|
||||
$('<div />', { 'class': 'input-group' }).append(
|
||||
$('<div />', {'class':'input-group-prepend btn-group'}).append(
|
||||
$('<button />', {'class':'btn btn-default dropdown-toggle input-group-text', 'data-toggle':'dropdown'}).append(
|
||||
$('<button />', {'class':'btn btn-default dropdown-toggle input-group-text', 'data-bs-toggle':'dropdown'}).append(
|
||||
matchesLabel,
|
||||
$('<span class="caret" style="margin-left: 5px;"></span>')
|
||||
),
|
||||
|
@ -320,7 +320,7 @@ function addSearchControls(theConformance, theSearchParamType, theSearchParamNam
|
|||
$('#search-param-rowopts-' + theContainerRowNum).append(
|
||||
$('<div />', {'class': 'input-group'}).append(
|
||||
$('<div />', {'class': 'input-group-prepend btn-group'}).append(
|
||||
$('<button />', {'class': 'btn btn-default dropdown-toggle input-group-text', 'data-toggle': 'dropdown'}).append(
|
||||
$('<button />', {'class': 'btn btn-default dropdown-toggle input-group-text', 'data-bs-toggle': 'dropdown'}).append(
|
||||
matchesLabel,
|
||||
$('<span class="caret" style="margin-left: 5px;"></span>')
|
||||
),
|
||||
|
@ -355,9 +355,9 @@ function addSearchControlDate(theSearchParamName, theContainerRowNum, theRowNum,
|
|||
|
||||
var input;
|
||||
if (/date$/.test(theSearchParamName)) {
|
||||
input = $('<div />', { 'class':'input-group date', 'data-date-format':'YYYY-MM-DD' });
|
||||
input = $('<div />', { 'class':'input-group date', 'data-bs-toggledate-format':'YYYY-MM-DD' });
|
||||
} else {
|
||||
input = $('<div />', { 'class':'input-group date', 'data-date-format':'YYYY-MM-DDTHH:mm:ss' });
|
||||
input = $('<div />', { 'class':'input-group date', 'data-bs-toggledate-format':'YYYY-MM-DDTHH:mm:ss' });
|
||||
}
|
||||
var qualifierDiv = $('<div />', {'class':'input-group-prepend'});
|
||||
|
||||
|
@ -378,7 +378,7 @@ function addSearchControlDate(theSearchParamName, theContainerRowNum, theRowNum,
|
|||
// overrides all addon buttons while it inits..
|
||||
qualifierDiv.addClass('input-group-btn');
|
||||
var qualifierTooltip = "Set a qualifier and a date to specify a boundary date. Set two qualifiers and dates to specify a range.";
|
||||
var qualifierBtn = $('<button />', {type:'button', 'class':'btn btn-default dropdown-toggle input-group-text', 'data-toggle':'dropdown', 'data-placement':'top', 'title':qualifierTooltip}).text('eq');
|
||||
var qualifierBtn = $('<button />', {type:'button', 'class':'btn btn-default dropdown-toggle input-group-text', 'data-bs-toggle':'dropdown', 'data-bs-toggleplacement':'top', 'title':qualifierTooltip}).text('eq');
|
||||
qualifierBtn.tooltip({
|
||||
'selector': '',
|
||||
'placement': 'top',
|
||||
|
@ -427,7 +427,7 @@ function addSearchControlQuantity(theSearchParamName, theContainerRowNum, theRow
|
|||
);
|
||||
|
||||
var qualifierTooltip = "You can optionally use a qualifier to specify a range.";
|
||||
var qualifierBtn = $('<button />', {type:'button', 'class':'btn btn-default dropdown-toggle input-group-text', 'data-toggle':'dropdown', 'data-placement':'top', 'title':qualifierTooltip}).text('=');
|
||||
var qualifierBtn = $('<button />', {type:'button', 'class':'btn btn-default dropdown-toggle input-group-text', 'data-bs-toggle':'dropdown', 'data-bs-toggleplacement':'top', 'title':qualifierTooltip}).text('=');
|
||||
qualifierBtn.tooltip({
|
||||
'selector': '',
|
||||
'placement': 'left',
|
||||
|
|
|
@ -21,16 +21,16 @@ import ca.uhn.fhir.rest.param.TokenParam;
|
|||
import ca.uhn.fhir.rest.server.IResourceProvider;
|
||||
import ca.uhn.fhir.rest.server.RestfulServer;
|
||||
import ca.uhn.fhir.rest.server.provider.HashMapResourceProvider;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||
import org.eclipse.jetty.ee10.servlet.ServletHolder;
|
||||
import org.eclipse.jetty.ee10.webapp.WebAppContext;
|
||||
import org.eclipse.jetty.server.Handler;
|
||||
import org.eclipse.jetty.server.Server;
|
||||
import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
||||
import org.eclipse.jetty.ee10.servlet.ServletHolder;
|
||||
import org.hl7.fhir.r4.model.DiagnosticReport;
|
||||
import org.hl7.fhir.r4.model.Patient;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
|
||||
import jakarta.annotation.Nonnull;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -43,7 +43,12 @@ public class OverlayTestApp {
|
|||
|
||||
private static AnnotationConfigApplicationContext ourAppCtx;
|
||||
|
||||
@SuppressWarnings({"unchecked"})
|
||||
/**
|
||||
* Set to true if you want to have Patient operations that have
|
||||
* search parameters.
|
||||
*/
|
||||
private static final boolean USE_CUSTOM_PATIENT_PROVIDER = true;
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
IHfqlExecutor hfqlExecutor = mock(IHfqlExecutor.class);
|
||||
List<String> columnNames = List.of("family", "given");
|
||||
|
@ -70,7 +75,7 @@ public class OverlayTestApp {
|
|||
FhirContext ctx = FhirContext.forR4Cached();
|
||||
RestfulServer restfulServer = new RestfulServer(ctx);
|
||||
restfulServer.registerProvider(new ProviderWithRequiredAndOptional());
|
||||
restfulServer.registerProvider(new PatientTestResourceProvider(ctx));
|
||||
restfulServer.registerProvider(USE_CUSTOM_PATIENT_PROVIDER ? new PatientTestResourceProvider(ctx) : new HashMapResourceProvider<>(ctx, Patient.class));
|
||||
restfulServer.registerProvider(new HfqlRestProvider(hfqlExecutor));
|
||||
|
||||
ServletContextHandler proxyHandler = new ServletContextHandler();
|
||||
|
@ -82,102 +87,34 @@ public class OverlayTestApp {
|
|||
server.setHandler(new Handler.Sequence(overlayHandler, proxyHandler));
|
||||
|
||||
server.start();
|
||||
}
|
||||
}
|
||||
|
||||
public static class PatientTestResourceProvider extends HashMapResourceProvider<Patient> {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param theFhirContext The FHIR context
|
||||
*/
|
||||
public PatientTestResourceProvider(FhirContext theFhirContext) {
|
||||
super(theFhirContext, Patient.class);
|
||||
}
|
||||
|
||||
if (true) {
|
||||
return;
|
||||
@Description(shortDefinition = "This is a provider endpoint with parameters for searching on patients to display")
|
||||
@Search
|
||||
public IBundleProvider findPatients(@RequiredParam(name = Patient.SP_ACTIVE) TokenAndListParam theType,
|
||||
@Description(shortDefinition = "A portion of the given name of the patient")
|
||||
@OptionalParam(name = "given")
|
||||
StringAndListParam theGiven,
|
||||
@Description(shortDefinition = "A portion of the family name of the patient")
|
||||
@OptionalParam(name = "family")
|
||||
StringAndListParam theFamily,
|
||||
RequestDetails theRequestDetails
|
||||
) throws Exception {
|
||||
return searchAll(theRequestDetails);
|
||||
}
|
||||
|
||||
// ourAppCtx = new AnnotationConfigApplicationContext(FhirServerConfig.class);
|
||||
// ServletContextHandler proxyHandler = new ServletContextHandler();
|
||||
// proxyHandler.setContextPath("/");
|
||||
|
||||
/*
|
||||
* DSTU2 resources
|
||||
*/
|
||||
|
||||
// RestfulServer restServerDstu2 = new RestfulServer();
|
||||
// restServerDstu2.setPagingProvider(new FifoMemoryPagingProvider(10));
|
||||
// restServerDstu2.setImplementationDescription("This is a great server!!!!");
|
||||
// restServerDstu2.setFhirContext(ourAppCtx.getBean("myFhirContextDstu2", FhirContext.class));
|
||||
// List<IResourceRetriever> rpsDev = (List<IResourceRetriever>) ourAppCtx.getBean("myResourceProvidersDstu2", List.class);
|
||||
// restServerDstu2.setResourceProviders(rpsDev);
|
||||
//
|
||||
// JpaSystemProviderDstu2 systemProvDev = (JpaSystemProviderDstu2) ourAppCtx.getBean("mySystemProviderDstu2", JpaSystemProviderDstu2.class);
|
||||
// restServerDstu2.setPlainProviders(systemProvDev);
|
||||
//
|
||||
// ServletHolder servletHolder = new ServletHolder();
|
||||
// servletHolder.setServlet(restServerDstu2);
|
||||
// proxyHandler.addServlet(servletHolder, "/fhir/contextDstu2/*");
|
||||
|
||||
/*
|
||||
* DSTU resources
|
||||
*/
|
||||
|
||||
// RestfulServer restServerDstu1 = new RestfulServer();
|
||||
// restServerDstu1.setPagingProvider(new FifoMemoryPagingProvider(10));
|
||||
// restServerDstu1.setImplementationDescription("This is a great server!!!!");
|
||||
// restServerDstu1.setFhirContext(ourAppCtx.getBean("myFhirContextDstu1", FhirContext.class));
|
||||
// List<IResourceRetriever> rpsDstu1 = (List<IResourceRetriever>) ourAppCtx.getBean("myResourceProvidersDstu1", List.class);
|
||||
// restServerDstu1.setResourceProviders(rpsDstu1);
|
||||
//
|
||||
// JpaSystemProviderDstu1 systemProvDstu1 = (JpaSystemProviderDstu1) ourAppCtx.getBean("mySystemProviderDstu1", JpaSystemProviderDstu1.class);
|
||||
// restServerDstu1.setPlainProviders(systemProvDstu1);
|
||||
//
|
||||
// servletHolder = new ServletHolder();
|
||||
// servletHolder.setServlet(restServerDstu1);
|
||||
// proxyHandler.addServlet(servletHolder, "/fhir/contextDstu1/*");
|
||||
|
||||
// int port = 8887;
|
||||
// Server server = new Server(port);
|
||||
|
||||
// base = "http://fhir.healthintersections.com.au/open";
|
||||
// base = "http://spark.furore.com/fhir";
|
||||
|
||||
// server.setHandler(proxyHandler);
|
||||
// server.start();
|
||||
//
|
||||
// if (true) {
|
||||
// String base = "http://localhost:" + port + "/fhir/contextDstu1";
|
||||
// IGenericClient client = restServerDstu2.getFhirContext().newRestfulGenericClient(base);
|
||||
// client.setLogRequestAndResponse(true);
|
||||
//
|
||||
// Organization o1 = new Organization();
|
||||
// o1.getName().setValue("Some Org");
|
||||
// MethodOutcome create = client.create().resource(o1).execute();
|
||||
// IdDt orgId = (IdDt) create.getId();
|
||||
//
|
||||
// Patient p1 = new Patient();
|
||||
// p1.getText().getDiv().setValueAsString("<div>HELP IM A BUG</div>");
|
||||
// p1.addIdentifier("foo:bar", "12345");
|
||||
// p1.addName().addFamily("Smith").addGiven("John");
|
||||
// p1.getManagingOrganization().setReference(orgId);
|
||||
//
|
||||
// TagList list = new TagList();
|
||||
// list.addTag("http://hl7.org/fhir/tag", "urn:happytag", "This is a happy resource");
|
||||
// ResourceMetadataKeyEnum.TAG_LIST.put(p1, list);
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
// client.create().resource(p1).execute();
|
||||
//
|
||||
// client.setLogRequestAndResponse(true);
|
||||
// client.create().resource(p1).execute();
|
||||
//
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
public static class ProviderWithRequiredAndOptional implements IResourceProvider {
|
||||
|
@ -226,31 +163,4 @@ public class OverlayTestApp {
|
|||
|
||||
}
|
||||
|
||||
public static class PatientTestResourceProvider extends HashMapResourceProvider<Patient> {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param theFhirContext The FHIR context
|
||||
*/
|
||||
public PatientTestResourceProvider(FhirContext theFhirContext) {
|
||||
super(theFhirContext, Patient.class);
|
||||
}
|
||||
|
||||
@Description(shortDefinition = "This is a provider endpoint with parameters for searching on patients to display")
|
||||
@Search
|
||||
public IBundleProvider findPatients(@RequiredParam(name = Patient.SP_ACTIVE) TokenAndListParam theType,
|
||||
@Description(shortDefinition = "A portion of the given name of the patient")
|
||||
@OptionalParam(name = "given")
|
||||
StringAndListParam theGiven,
|
||||
@Description(shortDefinition = "A portion of the family name of the patient")
|
||||
@OptionalParam(name = "family")
|
||||
StringAndListParam theFamily,
|
||||
RequestDetails theRequestDetails
|
||||
) throws Exception {
|
||||
return searchAll(theRequestDetails);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package ca.uhn.fhir.jpa.test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.jpa.fql.executor.HfqlDataTypeEnum;
|
||||
import ca.uhn.fhir.jpa.fql.executor.IHfqlExecutor;
|
||||
|
@ -18,7 +17,6 @@ import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
|
|||
import org.eclipse.jetty.ee10.servlet.ServletHandler;
|
||||
import org.eclipse.jetty.ee10.servlet.ServletHolder;
|
||||
import org.eclipse.jetty.server.Server;
|
||||
import org.eclipse.jetty.util.resource.PathResource;
|
||||
import org.eclipse.jetty.util.resource.PathResourceFactory;
|
||||
import org.eclipse.jetty.util.resource.Resource;
|
||||
import org.hl7.fhir.instance.model.api.IIdType;
|
||||
|
@ -42,6 +40,7 @@ import org.htmlunit.html.HtmlTableCell;
|
|||
import org.htmlunit.html.HtmlTableRow;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
|
@ -62,7 +61,6 @@ import java.io.File;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
@ -70,6 +68,7 @@ import java.util.function.Predicate;
|
|||
import java.util.stream.Stream;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
|
@ -130,6 +129,15 @@ public class WebTest {
|
|||
myWebClient = new WebClient();
|
||||
myWebClient.setWebConnection(new MockMvcWebConnectionForHtmlUnit3(ourMockMvc, myWebClient));
|
||||
myWebClient.getOptions().setJavaScriptEnabled(true);
|
||||
/*
|
||||
* The current version of htmlunit WebClient (4.6)
|
||||
* does not support some ES6 features; notably the
|
||||
* "spread" operator (...).
|
||||
* Because of this, we want to not fail on script errors,
|
||||
* because the current bootstrap.js library makes liberal
|
||||
* use of it.
|
||||
*/
|
||||
myWebClient.getOptions().setThrowExceptionOnScriptError(false);
|
||||
myWebClient.getOptions().setCssEnabled(false);
|
||||
CSSErrorHandler errorHandler = new SilentCssErrorHandler();
|
||||
myWebClient.setCssErrorHandler(errorHandler);
|
||||
|
@ -150,6 +158,7 @@ public class WebTest {
|
|||
// Navigate to Patient resource page
|
||||
HtmlAnchor patientLink = page.getHtmlElementById("leftResourcePatient");
|
||||
HtmlPage patientPage = patientLink.click();
|
||||
|
||||
// Click search button
|
||||
HtmlButton searchButton = patientPage.getHtmlElementById("search-btn");
|
||||
HtmlPage searchResultPage = searchButton.click();
|
||||
|
@ -168,7 +177,6 @@ public class WebTest {
|
|||
ourFhirServer.getFhirClient().delete().resourceById(new IdType("Patient/A" + i));
|
||||
}
|
||||
|
||||
|
||||
// Load home page
|
||||
HtmlPage page = myWebClient.getPage("http://localhost/");
|
||||
// Navigate to Patient resource page
|
||||
|
@ -185,6 +193,22 @@ public class WebTest {
|
|||
assertEquals("Patient/A0/_history/1", controlRows.get(4).getCell(1).asNormalizedText());
|
||||
}
|
||||
|
||||
/**
|
||||
* This test is disabled because it relies on bootstrap.js library,
|
||||
* which is written using ES6 and takes advantage of the spread operator (...args).
|
||||
*
|
||||
* Unfortunately, current versions of WebClient do not support this level of EMCA script
|
||||
* nor the spread operator. And so these tests always faile when it tries to submit the form.
|
||||
*
|
||||
* Disabling until a newer version of WebClient is available or until there is a better option.
|
||||
*
|
||||
* Issue with spread operator
|
||||
* https://github.com/HtmlUnit/htmlunit/issues/111#issuecomment-569922166
|
||||
*
|
||||
* The JS engine used by htmlunit.webclient
|
||||
* https://github.com/HtmlUnit/htmlunit/issues/755
|
||||
*/
|
||||
@Disabled
|
||||
@Test
|
||||
public void testInvokeCustomOperation() throws IOException {
|
||||
register5Patients();
|
||||
|
@ -232,6 +256,7 @@ public class WebTest {
|
|||
.findFirst()
|
||||
.orElseThrow();
|
||||
|
||||
|
||||
// alter button attributes to imitate Reflected XSS attack
|
||||
summaryButton.setAttribute("data2", "A0%3Cscript%3Ealert(2)%3C/script%3E");
|
||||
summaryButton.setAttribute("data3", "%24diff%3Cscript%3Ealert(1)%3C/script%3E");
|
||||
|
@ -247,6 +272,22 @@ public class WebTest {
|
|||
assertTrue(scriptSpans.isEmpty());
|
||||
}
|
||||
|
||||
/**
|
||||
* This test is disabled because it relies on bootstrap.js library,
|
||||
* which is written using ES6 and takes advantage of the spread operator (...args).
|
||||
*
|
||||
* Unfortunately, current versions of WebClient do not support this level of EMCA script
|
||||
* nor the spread operator. And so these tests always faile when it tries to submit the form.
|
||||
*
|
||||
* Disabling until a newer version of WebClient is available or until there is a better option.
|
||||
*
|
||||
* Issue with spread operator
|
||||
* https://github.com/HtmlUnit/htmlunit/issues/111#issuecomment-569922166
|
||||
*
|
||||
* The JS engine used by htmlunit.webclient
|
||||
* https://github.com/HtmlUnit/htmlunit/issues/755
|
||||
*/
|
||||
@Disabled
|
||||
@Test
|
||||
public void testInvokeCustomOperation_Validate() throws IOException {
|
||||
register5Patients();
|
||||
|
@ -285,7 +326,7 @@ public class WebTest {
|
|||
.orElseThrow()
|
||||
.click();
|
||||
|
||||
assertThat(diffPage.asNormalizedText()).contains("\"resourceType\": \"Parameters\"");
|
||||
assertThat(diffPage.asNormalizedText()).contains("\"resourceType\": \"Bundle\"");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
20
pom.xml
20
pom.xml
|
@ -8,7 +8,7 @@
|
|||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<name>HAPI-FHIR</name>
|
||||
<description>An open-source implementation of the FHIR specification in Java.</description>
|
||||
|
@ -1898,7 +1898,7 @@
|
|||
<dependency>
|
||||
<groupId>org.htmlunit</groupId>
|
||||
<artifactId>htmlunit</artifactId>
|
||||
<version>3.11.0</version>
|
||||
<version>4.6.0</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<!-- Don't let HTMLUnit bring in Jetty 9 -->
|
||||
|
@ -2191,14 +2191,14 @@
|
|||
<version>${thymeleaf-version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars.npm</groupId>
|
||||
<artifactId>ace-builds</artifactId>
|
||||
<version>1.22.0</version>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>bootstrap</artifactId>
|
||||
<version>5.3.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars.npm</groupId>
|
||||
<artifactId>bootstrap</artifactId>
|
||||
<version>4.5.2</version>
|
||||
<artifactId>ace-builds</artifactId>
|
||||
<version>1.22.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
|
@ -2248,9 +2248,9 @@
|
|||
<version>2.29.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars.npm</groupId>
|
||||
<groupId>org.webjars</groupId>
|
||||
<artifactId>popper.js</artifactId>
|
||||
<version>1.16.1</version>
|
||||
<version>2.11.7</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.webjars</groupId>
|
||||
|
@ -2659,7 +2659,7 @@
|
|||
<plugin>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-tinder-plugin</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>7.7.10-SNAPSHOT</version>
|
||||
<version>7.7.11-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
|
Loading…
Reference in New Issue