Eureka! Clinical Web Application Standard APIs
Georgia Clinical and Translational Science Alliance (Georgia CTSA), Emory University, Atlanta, GA
What does it do?
It provides standard APIs and related functionality that all Eureka! Clinical projects use. The Eureka! Clinical Common Web Application Framework supports standard web application APIs, including JPA, the Servlet API, JAX-RS, and JSR-330. This project sets the supported versions of those standards as dependencies. It also provides base classes and interfaces for building web applications that use those standards, including:
- Reading application configuration from a properties file (
org.eurekaclinical.standardapis.props
) - An exception for communicating HTTP status for REST API responses (
org.eurekaclinical.standardapis.exception
) - Interfaces for JPA entities for users, roles and authorization templates (
org.eurekaclinical.standardapis.entity
) - Interfaces for implementing data access objects, and abstract classes for implementing data access objects for users, roles and authorization templates (
org.eurekaclinical.standardapis.dao
) - A filter for getting the user's roles using JPA and assigning them to the user principal (
org.eurekaclinical.standardapis.filter
)
Version 3.0.1
Prevent NullPointerException when the user calling a service has no record in the USERS table.
Version 3.0
Generalized user templating.
Version 2.1
Updates dependencies.
Version 2.0
Version 2.0 has sufficient functionality for all Eureka! Clinical web applications to depend on eurekaclinical-standard-apis.
Version 1.0
The initial release provides standards-based implementations for creating JPA entities for managing users, roles and authorization templates; creating data access objects; accessing role information for authorization; reading application configuration; and throwing meaningful exceptions when REST API responses have an error status code. It uses the standard versions specified by the Eureka! Clinical Standard Dependencies parent pom, which are:
- JPA 2.1 (Java Persistence)
- Servlet API 3.0.1
- JAX-RS 2.0.1 (Java API for RESTful Web Services)
- JSR-330 (standard @Inject and @Provider annotations)
Build requirements
Runtime requirements
Building it
The project uses the maven build tool. Typically, you build it by invoking mvn clean install
at the command line. For simple file changes, not additions or deletions, you can usually use mvn install
. See https://github.com/eurekaclinical/dev-wiki/wiki/Building-Eureka!-Clinical-projects for more details.
Maven dependency
<dependency>
<groupId>org.eurekaclinical</groupId>
<artifactId>eurekaclinical-standard-apis</artifactId>
<version>version</version>
</dependency>
Developer documentation
Getting help
Feel free to contact us at [email protected].