OpenESPI-ThirdParty -- Archived July 1, 2025
NOTE: This repository is no longer maintained. The original OpenESPI project has been archived and is no longer being maintained. The original code is being migrated to Spring Boot 3.5 with a modernized architecture. The new code is being developed in the OpenESPI-GreenButton-Java, as a monorepo that contains the Data Custodian, Third Party, Common, and OAuth2 Authorization Server modules.
The Open Energy Services Provider Interface (ESPI) Third Party Repository Providing implementations of the interface used to provide energy usage information to retail customers.
An operational sandbox with these services operating may be found at: Green Button Alliance Third Party Sandbox
Setup
Note: You need to download and install OpenESPI-Common-Java into your local Maven repository to build this project.
First clone the project from github:
git clone https://github.com/GreenButtonAlliance/OpenESPI-ThirdParty-java.git
cd OpenESPI-ThirdParty-java/Build and start tomcat7 using maven (note: you must have first built the OpenESPI-Common-java jar):
Now the application should be available at http://localhost:9000/.
Building
# for the default test profile mvn clean install # or for a specific profile mvn -P <profile name> -Dmaven.test.skip=true clean install
IDE Setup
Eclipse Setup
Open Eclipse and import a Maven project (File > Import... > Maven > Existing Maven Projects).
Spring Tool Suite Setup
Open Spring Tool Suite and import a Maven project (File > Import... > Maven > Existing Maven Projects).
To Run from within STS:
right click on project and select RunOnServer
To run the DC and/or the TP:
do a maven build and install accordingly. Then the WAR files will be in the right position.
To Start server:
sudo /home/bitnami/springsource/vfabric-tc-server-developer-2.9.3.RELEASE/base-instance/bin/tcruntime-ctl.sh start
To Stop server:
sudo /home/bitnami/springsource/vfabric-tc-server-developer-2.9.3.RELEASE/base-instance/bin/tcruntime-ctl.sh stop
IntelliJ Setup
Open IntelliJ and open the project (File > Open...).
Testing
Unit Tests
To run all Unit tests:
Run a single test class:
mvn -Dtest=<TestClassName> test mvn -Dtest=HomeControllerTests test
Run a single test in a single class:
mvn -Dtest=<TestClassName>#<testMethodName> testMethodName mvn -Dtest=HomeControllerTests#index_whenNotLoggedIn_displaysHomeView test
Cucumber Features
To run all Cucumber features: