Skip to content

Development Environment

Bill Majurski edited this page Aug 12, 2019 · 3 revisions

Environment Control

For now there are two environments, one for building from command line Maven and the other for developing in IntelliJ. Managing these two environments is not yet fully automated. A single class gov.nist.asbestos.proxyWar.ITConfig must be edited to align with one of these two environments. The critical line is

private static final boolean forMavenBuild = true;

which is true for building from Maven and false for developing/testing from within IntelliJ.

Maven

In the Maven build, specifically the asbestos-proxy-war module, the entire environment is constructed and loaded into an instance of Tomcat. XDS Toolkit and HAPI FHIR JPAServer Starter are expected to be in sibling directories to asbestos and are loaded into Tomcat in the integration-test phase. The above ITConfig hack controls the port numbers of these services. The asbestos-proxy-war module, which holds the Integration Tests, should establish its own EC.

IntelliJ

For running in IntelliJ we want to be as efficient as possible. First XDS Toolkit and HAPI server are kept running in a separate Tomcat running on port 8080. Asbestos-proxy-war is configured as a Local Tomcat in IntelliJ and is left running in the debugger. For now all development is being driven by Integration Tests associated with Asbestos-proxy-war which are run separately in the IntelliJ debugger. Each of these tests is linked to a TestScript.xml file that runs the test engine.

External Cache

This area needs work. The EC is configured in web.xml but I am using a private EC which contains environment/ and resourceCache. ResourceCache should have only one Patient configured - a2.xml.

Clone this wiki locally