Merge branch 'master' of github.com:jamesagnew/hapi-fhir

This commit is contained in:
James Agnew 2016-02-03 14:09:13 -05:00
commit 2e612eed4d
8 changed files with 100 additions and 21 deletions

View File

@ -60,6 +60,12 @@
<version>1.4-SNAPSHOT</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-structures-dstu3</artifactId>
<version>1.4-SNAPSHOT</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-android</artifactId>
@ -135,7 +141,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<createSourcesJar>true</createSourcesJar>
@ -259,6 +264,31 @@
</filters-->
</configuration>
</execution>
<!-- dstu3 jar -->
<execution>
<id>dstu3</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedClassifierName>dstu3</shadedClassifierName>
<artifactSet>
<includes>
<include>ca.uhn.hapi.fhir:hapi-fhir-structures-dstu3</include>
</includes>
</artifactSet>
<!-- Exclude server side stuff, except exceptions which are used clientside -->
<!--filters>
<filter>
<artifact>ca.uhn.hapi.fhir:hapi-fhir-structures-dstu2</artifact>
<excludes>
<exclude>ca/uhn/fhir/rest/server/**</exclude>
</excludes>
</filter>
</filters-->
</configuration>
</execution>
</executions>
</plugin>
</plugins>

View File

@ -69,7 +69,11 @@ public class IncomingRequestAddressStrategy implements IServerAddressStrategy {
contextIndex = requestUrl.indexOf(requestPath, startOfPath);
}
} else {
contextIndex = requestUrl.indexOf(servletPath, startOfPath);
//servletContextPath can start with servletPath
contextIndex = requestUrl.indexOf(servletPath + "/", startOfPath);
if (contextIndex == -1) {
contextIndex = requestUrl.indexOf(servletPath, startOfPath);
}
}
String fhirServerBase;

View File

@ -101,7 +101,6 @@
<fileset dir="../hapi-fhir-structures-dstu2/target/generated-sources/tinder" />
<fileset dir="../hapi-fhir-structures-hl7org-dstu2/src/main/java" />
<fileset dir="../hapi-fhir-structures-dstu3/src/main/java" />
<!--<fileset dir="../hapi-fhir-structures-dstu3/target/generated-sources/tinder" /> -->
</copy>
</target>
</configuration>

View File

@ -732,6 +732,11 @@
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>

View File

@ -2,6 +2,27 @@
<faqs xmlns="http://maven.apache.org/FML/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/FML/1.0.1 http://maven.apache.org/xsd/fml-1.0.1.xsd"
title="Frequently Asked Questions" toplink="false">
<part id="Getting Help">
<title>Getting Help</title>
<faq id="getting_help">
<question>Where can I ask questions or get help?</question>
<answer>
<p>
We ask that any questions about how to use HAPI FHIR be directed to
the <a href="https://groups.google.com/d/forum/hapi-fhir">HAPI FHIR Google Group</a>.
This group is a great resource, with lots of helpful people who can assist. The
HAPI FHIR developers are regular contributors to this group.
</p>
<p>
If you have questions which are about FHIR itself (e.g. which resource should
I use for a specific purpose, how to I model my data, etc.) you might want
to also consider posting on <a href="http://stackoverflow.com/questions/tagged/hl7_fhir">Stackoverflow</a>,
as there are a number of FHIR experts who aren't HAPI/Java users who monitor
that site.
</p>
</answer>
</faq>
</part>
<part id="JPA Server">
<title>JPA Server</title>
<faq id="access_underlying_derby_database">

View File

@ -134,6 +134,7 @@
<menu name="Get Help" inherit="top">
<item name="Google Group (Ask Questions)" href="https://groups.google.com/d/forum/hapi-fhir" />
<item name="Issue Tracker (Report Bugs/Request Features)" href="https://github.com/jamesagnew/hapi-fhir/issues" />
<item name="Frequently Asked Questions (FAQ)" href="./hapi-fhir-faq.html" />
</menu>
<menu name="Test Server">

View File

@ -2,16 +2,16 @@
<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>FHIR DSTU2.1 Support</title>
<title>FHIR DSTU3 Support</title>
<author email="jamesagnew@gmail.com">James Agnew</author>
</properties>
<body>
<section name="Working with DSTU2.1">
<section name="Working with DSTU3">
<p>
Although DSTU2.1 has not yet been balloted and finalized by HL7,
Although DSTU3 has not yet been balloted and finalized by HL7,
there are several proposed changes which have been incorporated
into the current
<a href="http://hl7-fhir.github.io/">Continuous Integration Builds</a>
@ -19,10 +19,10 @@
as a part of testing scenarios in FHIR Connectathons.
</p>
<p>
HAPI has support for DSTU2.1 definitions, based on the snapshot
HAPI has support for DSTU3 definitions, based on the snapshot
of the resource definitions available at the time that
a given version of HAPI is released. These structures are found
in the <code>hapi-fhir-structures-dstu2.1-[version].jar</code>
in the <code>hapi-fhir-structures-dstu3-[version].jar</code>
library, with the associated Schemas, ValueSets, and other
textual resources being found in
<code>hapi-fhir-validation-resources-[version].jar</code>.
@ -30,7 +30,7 @@
<a href="./downloads.html">Downloads</a> page.
</p>
<p>
Migrating to DSTU2.1 doesd require some effort, as the resource
Migrating to DSTU3 does require some effort, as the resource
definitions have been migrated to use the "Reference Implementation"
structures. These are the resource definitions supplied by HL7,
meaning that the process to merge these two libraries has now
@ -39,15 +39,34 @@
<subsection name="The RI Data Model">
<p>
At this point, the RI integration consists of a new parallel set of
classes representing the FHIR data model. For example, in addition to the
Patient classes representing HAPI's DSTU1 and DSTU2 models there is now
a new Patient class representing the RI structure (which is also a DSTU2
structure).
Since the early days of the FHIR project, there have been two parallel
Java implementations of the FHIR Specification: HAPI and the Reference
Implementation (RI). The two libraries both had separate data models and parsers,
but had little overlap in features other than that. HAPI has a server,
database, and rich fluent client that the RI did not have. The RI had
profile validation, snapshot generation, and a set other of great utilities that
HAPI did not have.
</p>
<p>
Over the last year, we have been working to bring the two projects
together, in order to reduce duplication of effort and let all
Java users take advantage of the entire set of available tools.
</p>
<p>
The biggest change to HAPI users coming from this merging is the adoption
of the new RI data structure classes. For users of FHIR DSTU2, we provided
a parallel set of structures so that users could choose which library to
use (<code>hapi-fhir-structures-dstu2</code> for HAPI structures,
or <code>hapi-fhir-structures-hl7org-dstu2</code> for RI structures). For
DSTU3 we will be using the RI structures only, so users will need to migrate
to use these.
</p>
</subsection>
<subsection name="Using the new RI Structures">
<p>
The reference implementation (RI) structures have been added as a new
maven dependency library called <code>hapi-fhir-structures-hl7org-dstu2</code>. See
maven dependency library called <code>hapi-fhir-structures-dstu3</code>.
See
the <a href="./download.html">download page</a> for information on the Maven
dependencies for this version of the structures.
</p>
@ -68,7 +87,7 @@
</subsection>
<subsection name="Using the DSTU2.1 Structures in Your Application">
<subsection name="Using the DSTU3 Structures in Your Application">
<p>
Using these structures is similar to using other structures:
@ -95,7 +114,7 @@
<p>
For these methods, you may cast the <code>IBaseResource</code> to
<code>IResource</code> if you are using DSTU2 structures, or to
<code>IAnyResource</code> if you are using DSTU2.1 structures.
<code>IAnyResource</code> if you are using DSTU3 structures.
</p>
<p>
@ -149,14 +168,14 @@
<h4>Setter Names</h4>
<ul>
<li>
<b>Names for some component setters/mutators have changed
<b>Names for some component setters/mutators have changed</b>
in the new structures. In the old structures if the field
type was a primitive (e.g. a string) there would be two
setters: <code>setName(String)</code> and
<code>setName(StringDt)</code>. In the new structures,
the setters are called <code>setName(String)</code> and
<code>setNameElement(StringType)</code>. This is more
consistent with the way the getters are named.</b>
consistent with the way the getters are named.
</li>
</ul>

View File

@ -50,9 +50,9 @@
<td><a href="http://hl7.org/fhir/2015Sep/index.html">DSTU2 1.0.2</a></td>
</tr>
<tr>
<td rowspan="1">hapi-fhir-structures-dstu2.1</td>
<td rowspan="1">hapi-fhir-structures-dstu3</td>
<td>1.4</td>
<td><a href="http://hl7-fhir.github.io/">DSTU2 1.2.0 Snapshot</a> (SVN 7507)</td>
<td><a href="http://hl7-fhir.github.io/">DSTU2 1.3.0 Snapshot</a> (SVN 7602)</td>
</tr>
</tbody>
</table>