Site updates for 1.4
This commit is contained in:
parent
9449df7df1
commit
9da031e2cc
2
pom.xml
2
pom.xml
|
@ -1409,7 +1409,7 @@
|
||||||
<module>hapi-fhir-base</module>
|
<module>hapi-fhir-base</module>
|
||||||
<module>hapi-fhir-structures-dstu</module>
|
<module>hapi-fhir-structures-dstu</module>
|
||||||
<module>hapi-fhir-structures-dstu2</module>
|
<module>hapi-fhir-structures-dstu2</module>
|
||||||
<module>hapi-fhir-structures-hl7org-dstu2</module>
|
<module>hapi-fhir-structures-dstu3</module>
|
||||||
<module>hapi-fhir-jpaserver-base</module>
|
<module>hapi-fhir-jpaserver-base</module>
|
||||||
<module>hapi-fhir-jaxrsserver-base</module>
|
<module>hapi-fhir-jaxrsserver-base</module>
|
||||||
<!-- <module>hapi-fhir-cobertura</module> -->
|
<!-- <module>hapi-fhir-cobertura</module> -->
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<title>HAPI FHIR Changelog</title>
|
<title>HAPI FHIR Changelog</title>
|
||||||
</properties>
|
</properties>
|
||||||
<body>
|
<body>
|
||||||
<release version="1.4" date="TBD">
|
<release version="1.4" date="2016-02-04">
|
||||||
<action type="add">
|
<action type="add">
|
||||||
Bump the version of a few dependencies to the
|
Bump the version of a few dependencies to the
|
||||||
latest versions (dependent HAPI modules listed in brackets):
|
latest versions (dependent HAPI modules listed in brackets):
|
||||||
|
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
@ -102,6 +102,7 @@
|
||||||
<item name="CORS Support" href="./doc_cors.html" />
|
<item name="CORS Support" href="./doc_cors.html" />
|
||||||
<item name="Interceptors (server)" href="./doc_rest_server_interceptor.html" />
|
<item name="Interceptors (server)" href="./doc_rest_server_interceptor.html" />
|
||||||
<item name="Web Testing UI" href="./doc_server_tester.html" />
|
<item name="Web Testing UI" href="./doc_server_tester.html" />
|
||||||
|
<item name="JAX-RS Support" href="./doc_rest_server_jaxrs.html" />
|
||||||
</item>
|
</item>
|
||||||
<item name="Logging" href="./doc_logging.html" />
|
<item name="Logging" href="./doc_logging.html" />
|
||||||
<item name="ETags" href="./doc_rest_etag.html" />
|
<item name="ETags" href="./doc_rest_etag.html" />
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
in the <code>hapi-fhir-structures-dstu3-[version].jar</code>
|
in the <code>hapi-fhir-structures-dstu3-[version].jar</code>
|
||||||
library, with the associated Schemas, ValueSets, and other
|
library, with the associated Schemas, ValueSets, and other
|
||||||
textual resources being found in
|
textual resources being found in
|
||||||
<code>hapi-fhir-validation-resources-[version].jar</code>.
|
<code>hapi-fhir-validation-resources-dstu3-[version].jar</code>.
|
||||||
For information on where to find these libraries, see the
|
For information on where to find these libraries, see the
|
||||||
<a href="./downloads.html">Downloads</a> page.
|
<a href="./downloads.html">Downloads</a> page.
|
||||||
</p>
|
</p>
|
||||||
|
@ -73,7 +73,7 @@
|
||||||
<p>
|
<p>
|
||||||
A new interface has been added which serves as a master interface
|
A new interface has been added which serves as a master interface
|
||||||
for all resource classes: <code>org.hl7.fhir.instance.model.api.IBaseResource</code>.
|
for all resource classes: <code>org.hl7.fhir.instance.model.api.IBaseResource</code>.
|
||||||
All RI resource classes will be in the package <code>org.hl7.fhir.instance.model</code>,
|
All RI resource classes will be in the package <code>org.hl7.fhir.dstu3.model</code>,
|
||||||
as shown below.
|
as shown below.
|
||||||
</p>
|
</p>
|
||||||
<img src="./images/hapi-1.1-structs-resource.svg" alt="Structures"/>
|
<img src="./images/hapi-1.1-structs-resource.svg" alt="Structures"/>
|
||||||
|
|
|
@ -598,75 +598,6 @@
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section name="JAX-RS Server">
|
|
||||||
<p>
|
|
||||||
The standard server is implemented using Servlet technology. A <a href="https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-jaxrsserver-base">module</a>
|
|
||||||
exists which implements the server using <a href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/index.html">JAX-RS</a> technology.
|
|
||||||
This enables the usage of existing Java EE interceptors and annotations. This module does not provide the full set of features.
|
|
||||||
|
|
||||||
The server currently supports
|
|
||||||
<a href="./doc_rest_server.html#ConformanceMetadata_Statement">Conformance Statements</a>,
|
|
||||||
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Read.html">@Read</a>,
|
|
||||||
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Search.html">@Search</a>,
|
|
||||||
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Create.html">@Create</a>,
|
|
||||||
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Update.html">@Update</a>,
|
|
||||||
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Delete.html">@Delete</a> and
|
|
||||||
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Operation.html">@Operation</a>.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
The primary intention for this project is to ensure that other web technologies (JAX-RS in this case) can be used together with the base-server functionality.
|
|
||||||
An example server can be found in the Git repo <a href="https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-jaxrsserver-example">here</a>.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<subsection name="JAX-RS Implementation specifics">
|
|
||||||
<p>
|
|
||||||
The set-up of a JAX-RS server goes beyond the scope of this documentation. The implementation of the server follows the same pattern as the standard server. It is required
|
|
||||||
to put the correct <a href="./doc_rest_operations.html">annotation</a> on the methods in the <a href="#Defining_Resource_Providers">Resource Providers</a> in order to be able to call them.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Implementing a JAX-RS Resource Provider requires some JAX-RS annotations. The <code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/Path.html">@Path</a></code>
|
|
||||||
annotation needs to define the resource path. The <code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/Produces.html">@Produces</a></code> annotation
|
|
||||||
needs to declare the produced formats. The constructor needs to pass the class of the object explicitely in order to avoid problems with proxy classes in a Java EE environment.
|
|
||||||
It is necessary to extend the abstract class
|
|
||||||
<code><a href="http://jamesagnew.github.io/hapi-fhir/apidocs/ca/uhn/fhir/jaxrs/server/AbstractJaxRsResourceProvider.html">AbstractJaxRsResourceProvider</a></code>.
|
|
||||||
<macro name="snippet">
|
|
||||||
<param name="id" value="jax-rs-provider-construction" />
|
|
||||||
<param name="file" value="examples/src/main/java/example/JaxRsPatientRestProvider.java" />
|
|
||||||
</macro>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
|
|
||||||
<a href="./doc_rest_operations.html#Extended_Operations">Extended Operations</a> require the correct JAX-RS (
|
|
||||||
<code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/Path.html">@Path</a></code>,
|
|
||||||
<code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/GET.html">@GET</a></code> or
|
|
||||||
<code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/POST.html">@POST</a></code>) annotations. The body of the method needs to call the
|
|
||||||
method <code><a href="http://jamesagnew.github.io/hapi-fhir/apidocs/ca/uhn/fhir/jaxrs/server/AbstractJaxRsResourceProvider.html#customOperation-java.lang.String-ca.uhn.fhir.rest.api.RequestTypeEnum-java.lang.String-java.lang.String-ca.uhn.fhir.rest.api.RestOperationTypeEnum">AbstractJaxRsResourceProvider#customOperation</a></code>
|
|
||||||
with the correct parameters. The server will then call the method with corresponding name.
|
|
||||||
<macro name="snippet">
|
|
||||||
<param name="id" value="jax-rs-provider-operation" />
|
|
||||||
<param name="file" value="examples/src/main/java/example/JaxRsPatientRestProvider.java" />
|
|
||||||
</macro>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
In order to create the conformance profile, a conformance provider class needs to be deployed which exports the provider's conformance statements.
|
|
||||||
These providers need to be returned as the result of
|
|
||||||
the method <code><a href="http://jamesagnew.github.io/hapi-fhir/apidocs/ca/uhn/fhir/jaxrs/server/AbstractJaxRsResourceProvider.html#getProviders">AbstractJaxRsResourceProvider#getProviders</a></code>.
|
|
||||||
This method is called once, during <code><a href="https://docs.oracle.com/javaee/6/api/javax/annotation/PostConstruct.html">PostConstruct</a></code>.
|
|
||||||
<macro name="snippet">
|
|
||||||
<param name="id" value="jax-rs-conformance" />
|
|
||||||
<param name="file" value="examples/src/main/java/example/JaxRsConformanceProvider.java" />
|
|
||||||
</macro>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
</subsection>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</document>
|
</document>
|
||||||
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<title>JAX-RS Server</title>
|
||||||
|
<author email="jamesagnew@users.sourceforge.net">James Agnew</author>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<section name="JAX-RS Server">
|
||||||
|
<p>
|
||||||
|
The standard server is implemented using Servlet technology. A <a href="https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-jaxrsserver-base">module</a>
|
||||||
|
exists which implements the server using <a href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/index.html">JAX-RS</a> technology.
|
||||||
|
This enables the usage of existing Java EE interceptors and annotations. This module does not provide the full set of features.
|
||||||
|
|
||||||
|
The server currently supports
|
||||||
|
<a href="./doc_rest_server.html#ConformanceMetadata_Statement">Conformance Statements</a>,
|
||||||
|
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Read.html">@Read</a>,
|
||||||
|
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Search.html">@Search</a>,
|
||||||
|
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Create.html">@Create</a>,
|
||||||
|
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Update.html">@Update</a>,
|
||||||
|
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Delete.html">@Delete</a> and
|
||||||
|
<a href="./apidocs/ca/uhn/fhir/rest/annotation/Operation.html">@Operation</a>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The primary intention for this project is to ensure that other web technologies (JAX-RS in this case) can be used together with the base-server functionality.
|
||||||
|
An example server can be found in the Git repo <a href="https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-jaxrsserver-example">here</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<subsection name="JAX-RS Implementation specifics">
|
||||||
|
<p>
|
||||||
|
The set-up of a JAX-RS server goes beyond the scope of this documentation. The implementation of the server follows the same pattern as the standard server. It is required
|
||||||
|
to put the correct <a href="./doc_rest_operations.html">annotation</a> on the methods in the <a href="#Defining_Resource_Providers">Resource Providers</a> in order to be able to call them.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Implementing a JAX-RS Resource Provider requires some JAX-RS annotations. The <code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/Path.html">@Path</a></code>
|
||||||
|
annotation needs to define the resource path. The <code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/Produces.html">@Produces</a></code> annotation
|
||||||
|
needs to declare the produced formats. The constructor needs to pass the class of the object explicitely in order to avoid problems with proxy classes in a Java EE environment.
|
||||||
|
It is necessary to extend the abstract class
|
||||||
|
<code><a href="http://jamesagnew.github.io/hapi-fhir/apidocs/ca/uhn/fhir/jaxrs/server/AbstractJaxRsResourceProvider.html">AbstractJaxRsResourceProvider</a></code>.
|
||||||
|
<macro name="snippet">
|
||||||
|
<param name="id" value="jax-rs-provider-construction" />
|
||||||
|
<param name="file" value="examples/src/main/java/example/JaxRsPatientRestProvider.java" />
|
||||||
|
</macro>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
|
||||||
|
<a href="./doc_rest_operations.html#Extended_Operations">Extended Operations</a> require the correct JAX-RS (
|
||||||
|
<code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/Path.html">@Path</a></code>,
|
||||||
|
<code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/GET.html">@GET</a></code> or
|
||||||
|
<code><a href="https://docs.oracle.com/javaee/6/api/javax/ws/rs/POST.html">@POST</a></code>) annotations. The body of the method needs to call the
|
||||||
|
method <code><a href="http://jamesagnew.github.io/hapi-fhir/apidocs/ca/uhn/fhir/jaxrs/server/AbstractJaxRsResourceProvider.html#customOperation-java.lang.String-ca.uhn.fhir.rest.api.RequestTypeEnum-java.lang.String-java.lang.String-ca.uhn.fhir.rest.api.RestOperationTypeEnum">AbstractJaxRsResourceProvider#customOperation</a></code>
|
||||||
|
with the correct parameters. The server will then call the method with corresponding name.
|
||||||
|
<macro name="snippet">
|
||||||
|
<param name="id" value="jax-rs-provider-operation" />
|
||||||
|
<param name="file" value="examples/src/main/java/example/JaxRsPatientRestProvider.java" />
|
||||||
|
</macro>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
In order to create the conformance profile, a conformance provider class needs to be deployed which exports the provider's conformance statements.
|
||||||
|
These providers need to be returned as the result of
|
||||||
|
the method <code><a href="http://jamesagnew.github.io/hapi-fhir/apidocs/ca/uhn/fhir/jaxrs/server/AbstractJaxRsResourceProvider.html#getProviders">AbstractJaxRsResourceProvider#getProviders</a></code>.
|
||||||
|
This method is called once, during <code><a href="https://docs.oracle.com/javaee/6/api/javax/annotation/PostConstruct.html">PostConstruct</a></code>.
|
||||||
|
<macro name="snippet">
|
||||||
|
<param name="id" value="jax-rs-conformance" />
|
||||||
|
<param name="file" value="examples/src/main/java/example/JaxRsConformanceProvider.java" />
|
||||||
|
</macro>
|
||||||
|
</p>
|
||||||
|
</subsection>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="A Complete Example">
|
||||||
|
|
||||||
|
<p>
|
||||||
|
A complete example showing how to implement a JAX-RS RESTful server can
|
||||||
|
be found in our Git repo here:
|
||||||
|
<a href="https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-jaxrsserver-example">https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-jaxrsserver-example</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</document>
|
|
@ -46,6 +46,7 @@
|
||||||
<li><a href="./doc_cors.html">CORS Support</a></li>
|
<li><a href="./doc_cors.html">CORS Support</a></li>
|
||||||
<li><a href="./doc_rest_server_interceptor.html">Interceptors (server)</a></li>
|
<li><a href="./doc_rest_server_interceptor.html">Interceptors (server)</a></li>
|
||||||
<li><a href="./doc_server_tester.html">Web Testing UI</a></li>
|
<li><a href="./doc_server_tester.html">Web Testing UI</a></li>
|
||||||
|
<li><a href="./doc_rest_server_jaxrs.html">JAX-RS Support</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h4>Other Features</h4>
|
<h4>Other Features</h4>
|
||||||
|
|
|
@ -60,6 +60,66 @@
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section name="Announcements">
|
<section name="Announcements">
|
||||||
|
<p>
|
||||||
|
<b>February 4, 2016 - HAPI FHIR 1.4 Released</b> -
|
||||||
|
The next release of HAPI has now been uploaded to the Maven repos and
|
||||||
|
GitHub's releases section.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This release has taken a lot longer than originally planned. Mainly this
|
||||||
|
is because we have taken a number of huge steps towards integrating
|
||||||
|
HAPI FHIR with the HL7.org Java Reference Implementation. This
|
||||||
|
effort will mean great things for all Java FHIR developers from now
|
||||||
|
on, as it will bring a rich set of tools to everyone. See the
|
||||||
|
<a href="./doc_dstu2.html">DSTU3/RI page</a> for information on
|
||||||
|
this effort.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
This release brings a number of bugfixes and a few bigger things.
|
||||||
|
As always, the <a href="./changes-report.html">changelog</a> has the full list
|
||||||
|
of changes in this version. Some changes of note include:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
This release adds support for the current draft DSTU3 structure definitions,
|
||||||
|
which were called DSTU2.1 until the decision in January by HL7 to call the
|
||||||
|
next release DSTU3. See the
|
||||||
|
<a href="./downloads.html">downloads page</a> for information on the
|
||||||
|
various versions of FHIR supported by HAPI FHIR.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Two great new modules to HAPI FHIR have been contributed to the
|
||||||
|
project! A huge thanks to both contributors for their ongoing
|
||||||
|
efforts.
|
||||||
|
<li>
|
||||||
|
A new OSGi module (<a href="http://search.maven.org/#search|gav|1|g%3A%22ca.uhn.hapi.fhir%22%20AND%20a%3A%22hapi-fhir-osgi-core%22">hapi-fhir-osgi-core</a>) has been contributed
|
||||||
|
by
|
||||||
|
<a href="https://www.akana.com/">Akana</a>. This module was originally added in the 1.3 release cycle but
|
||||||
|
was cleaned up for use in 1.4.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
A new adapter
|
||||||
|
(<a href="./doc_rest_server_jaxrs.html">hapi-fhir-jaxrsserver-base</a>)
|
||||||
|
which allows the RESTful server to be used in JAX-RS environment
|
||||||
|
was contributed by <a href="http://www.agfahealthcare.com/">AGFA Healthcare</a>.
|
||||||
|
</li>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
The Command-Line tool (<a href="./doc_cli.html">hapi-fhir-cli</a>) has been
|
||||||
|
given options to start the server and uploader tools in either DSTU2
|
||||||
|
or DSTU3 mode. Both are supported by the same tool installation.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Several of HAPI's library dependencies have been upgraded to the latest version
|
||||||
|
(see the first entry in the <a href="./changes-report.html">changelog</a>)
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
And just a reminder, if you haven't yet filled out the
|
||||||
|
<a href="http://goo.gl/forms/R8Ifg2qvOY">HAPI FHIR Community Survey</a>, we
|
||||||
|
would really appreciate if you did so!
|
||||||
|
</p>
|
||||||
|
<!--
|
||||||
<p>
|
<p>
|
||||||
<b>November 15, 2015 - HAPI FHIR 1.3 Released</b> -
|
<b>November 15, 2015 - HAPI FHIR 1.3 Released</b> -
|
||||||
The next release of HAPI has now been uploaded to the Maven repos and
|
The next release of HAPI has now been uploaded to the Maven repos and
|
||||||
|
@ -101,6 +161,7 @@
|
||||||
<a href="http://goo.gl/forms/R8Ifg2qvOY">HAPI FHIR Community Survey</a>, we
|
<a href="http://goo.gl/forms/R8Ifg2qvOY">HAPI FHIR Community Survey</a>, we
|
||||||
would really appreciate if you did so!
|
would really appreciate if you did so!
|
||||||
</p>
|
</p>
|
||||||
|
-->
|
||||||
<!--
|
<!--
|
||||||
<p>
|
<p>
|
||||||
<b>September 18, 2015 - HAPI FHIR 1.2 and Community Survey</b> -
|
<b>September 18, 2015 - HAPI FHIR 1.2 and Community Survey</b> -
|
||||||
|
|
Loading…
Reference in New Issue