Skip to content

Commit

Permalink
Merge branch 'develop' into open-ode
Browse files Browse the repository at this point in the history
# Conflicts:
#	README.md
#	asn1_codec
#	jpo-ode-svcs/src/main/java/us/dot/its/jpo/ode/coder/OdeBsmDataCreatorHelper.java
#	jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/coder/stream/JsonDecoderPublisherTest.java
#	jpo-ode-svcs/src/test/java/us/dot/its/jpo/ode/udp/bsm/BsmReceiverTest.java
#	jpo-s3-deposit
  • Loading branch information
hmusavi committed May 18, 2018
2 parents 6a40c3f + 456f1f9 commit cd85b43
Show file tree
Hide file tree
Showing 33 changed files with 173 additions and 74 deletions.
14 changes: 14 additions & 0 deletions ATTRIBUTION.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
The key contributors to the development of the USDOT ITS JPO ODE and related files are:
* Dwayne Henclewood - Project Manager (Booz Allen)
* Tamer Morsi - Agile coach and Scrum master (Booz Allen)
* Hamid Musavi - Solution Architect and Technical Lead (Booz Allen)
* Mathew Schwartz - Software Engineer (Booz Allen)

The developers also wish to acknowledge the following leaders and contributors:
* US DOT: Ariel Gold
* Volpe: Kristin Tufte
* Booz Allen: Ram Kandarpa and Brien Miller
* TriHydro: Tony English, Shane Zumpf and Kim Perry
* Oakridge National Laboratories: Jason Carter and Aaron Ferber

Thanks to the ITS Joint Program Office for their support of the effort.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:latest
FROM ubuntu:18.04
MAINTAINER [email protected]

#Install necessary software
Expand All @@ -9,7 +9,7 @@ RUN apt-get update && \
RUN apt-get update && \
apt-get install -y wget supervisor dnsutils curl jq net-tools
RUN apt-get update && \
apt-get install -y default-jdk
apt-get install -y openjdk-8-jdk
RUN apt-get update && \
apt-get install -y vim
RUN apt-get update && \
Expand Down
13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

Master: [![Build Status](https://travis-ci.org/usdot-jpo-ode/jpo-ode.svg?branch=master)](https://travis-ci.org/usdot-jpo-ode/jpo-ode) [![Quality Gate](https://sonarcloud.io/api/badges/gate?key=usdot.jpo.ode:jpo-ode)](https://sonarcloud.io/dashboard?id=usdot.jpo.ode%3Ajpo-ode)

Develop: [![Build Status](https://travis-ci.org/usdot-jpo-ode/jpo-ode.svg?branch=develop)](https://travis-ci.org/usdot-jpo-ode/jpo-ode) [![Quality Gate](https://sonarcloud.io/api/badges/gate?key=usdot.jpo.ode:jpo-ode:develop)](https://sonarcloud.io/dashboard?id=usdot.jpo.ode%3Ajpo-ode%3Adevelop)
Expand Down Expand Up @@ -46,8 +47,9 @@ ODE provides the following living documents to keep ODE users and stakeholders i

1. [ODE Architecture](docs/JPO%20ODE%20Architecture.docx)
2. [ODE User Guide](docs/JPO_ODE_UserGuide.docx)
3. [ODE REST API Guide](https://usdot-jpo-ode.github.io/)
4. [ODE Smoke Tests](https://github.com/usdot-jpo-ode/jpo-ode/wiki/JPO-ODE-QA-Documents)
3. [ODE Output Schema Reference Guide](docs/ODE_Output_Schema_Reference.docx)
4. [ODE REST API Guide](https://usdot-jpo-ode.github.io/)
5. [ODE Smoke Tests](https://github.com/usdot-jpo-ode/jpo-ode/wiki/JPO-ODE-QA-Documents)

All stakeholders are invited to provide input to these documents. Stakeholders should direct all input on this document to the JPO Product Owner at DOT, FHWA, and JPO. To provide feedback, we recommend that you create an "issue" in this repository (https://github.com/usdot-jpo-ode/jpo-ode/issues). You will need a GitHub account to create an issue. If you don’t have an account, a dialog will be presented to you to create one at no cost.

Expand Down Expand Up @@ -273,16 +275,21 @@ Once the ODE is running, you should be able to access the jpo-ode web UI at `loc
1. Press the `Connect` button to connect to the ODE WebSocket service.
2. Press `Choose File` button to select an OBU log file containing BSMs and/or TIM messages as specified by the WYDOT CV Pilot project. See below documents for details:
a. [Wyoming CV Pilot Log File Design](data/Wyoming_CV_Pilot_Log_File_Design.docx)
b. [WYDOT Log Records](data/wydotLogRecords_Tony.h)
b. [WYDOT Log Records](data/wydotLogRecords.h)
3. Press `Upload` button to upload the file to ODE.

Upload records within the files must be embedding BSM and/or TIM messages wrapped in J2735 MessageFrame and ASN.1 UPER encoded, wrapped in IEEE 1609.2 envelope and ASN.1 COER encoded binary format. The following files are a samples of each supported type. Uploading any of the files below will you will observe the decoded messages returned to the web UI page while connected to the WebSocket interface:

- [data/bsmLogDuringEvent.bin](data/bsmLogDuringEvent.bin)
- [data/bsmLogDuringEvent.gz](data/bsmLogDuringEvent.gz)
- [data/bsmTx.bin](data/bsmTx.bin)
- [data/bsmTx.gz](data/bsmTx.gz)
- [data/dnMsg.bin](data/dnMsg.bin)
- [data/dnMsg.gz](data/dnMsg.gz)
- [data/rxMsg_BSM.bin](data/rxMsg_BSM.bin)
- [data/rxMsg_BSM.gz](data/rxMsg_BSM.gz)
- [data/rxMsg_TIM.bin](data/rxMsg_TIM.bin)
- [data/rxMsg_TIM.gz](data/rxMsg_TIM.gz)

Another way data can be uploaded to the ODE is through copying the file to the location specified by the `ode.uploadLocationRoot/ode.uploadLocationObuLog`property. If not specified, Default locations would be `uploads/bsmlog`sub-directory off of the location where ODE is launched.

Expand Down
20 changes: 14 additions & 6 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
## ODE Release Notes ##
-----------------------
### Sprint 38
- ODE-769 Initiated output schema change SOP. See https://github.com/usdot-jpo-ode/jpo-ode/wiki/SchemaVersion-5-Change-Notice for details
- ODE-771 Fixed PPM crash bug
### Sprint 37
- ODE-745 Updated ODE documentation to reflect actual implementation of the ODE output interface schema
- ODE-763 Added support for TIMs with ITIS custom text
- ODE-764 Fixed how Trailer Mass was calculated
- ODE-768 Created a repository of ASN.1 schema files on usdot-jpo-ode GitHub organization based on scms-asn to eliminate dependency on CAMP SCMS and avoid build failures due to scms-asn site outages. All references to CAMP SCMS repository was changed to point to usdot-jpo-ode/scms-asn1 repository.
### Sprint 36
ODE-741 Added capability to load Explicit Enrollment Certificates
- ODE-741 Added capability to load Explicit Enrollment Certificates
### Sprint 35
ODE-736 Added capability to configure Record ID of SDW TIMs
- ODE-736 Added capability to configure Record ID of SDW TIMs
### Sprint 34
ODE-733 Fixed a bug where single-byte OCTET STRINGs were being encoded incorrectly
- ODE-733 Fixed a bug where single-byte OCTET STRINGs were being encoded incorrectly
### Sprint 33
ODE-560 Added capability to Receive Compressed Log Files
ODE-707 Fixed a bug resulting in first TIM deposit after startup not propagating
ODE-725 Registered ODE in Code.gov
- ODE-560 Added capability to Receive Compressed Log Files
- ODE-707 Fixed a bug resulting in first TIM deposit after startup not propagating
- ODE-725 Registered ODE in Code.gov
### Sprint 32
### Sprint 31
- ODE-685 Added metadata field `bsmSource` to identify the source of the BSM as host (EV) or remote (RV). See https://github.com/usdot-jpo-ode/jpo-ode/wiki/Log-File-Changes-(schemaVersion=4) for details.
Expand Down
2 changes: 1 addition & 1 deletion asn1_codec
Binary file modified data/bsmLogDuringEvent.bin
Binary file not shown.
Binary file added data/bsmLogDuringEvent.gz
Binary file not shown.
Binary file modified data/bsmTx.bin
Binary file not shown.
Binary file added data/bsmTx.gz
Binary file not shown.
Binary file modified data/dnMsg.bin
Binary file not shown.
Binary file added data/dnMsg.gz
Binary file not shown.
Binary file modified data/driverAlert.bin
Binary file not shown.
Binary file added data/driverAlert.gz
Binary file not shown.
Binary file modified data/rxMsg_TIM.bin
Binary file not shown.
Binary file added data/rxMsg_TIM.gz
Binary file not shown.
1 change: 1 addition & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ services:
ODE_EXTERNAL_IPV4: ${ODE_EXTERNAL_IPV4}
ODE_EXTERNAL_IPV6: ${ODE_EXTERNAL_IPV6}
ODE_SECURITY_SVCS_SIGNATURE_URI: ${ODE_SECURITY_SVCS_SIGNATURE_URI}
ODE_OUTPUT_SCHEMA_VERSION: ${ODE_OUTPUT_SCHEMA_VERSION}
depends_on:
- kafka
links:
Expand Down
Binary file modified docs/ODE_Output_Schema_Reference.docx
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public enum GeneratedBy {
private String payloadType;
private SerialId serialId;
private String odeReceivedAt;
private Integer schemaVersion = 4;
private static Integer schemaVersion;
private String recordGeneratedAt;
private GeneratedBy recordGeneratedBy;
private boolean sanitized = false;
Expand Down Expand Up @@ -67,12 +67,12 @@ public void setOdeReceivedAt(String receivedAt) {
this.odeReceivedAt = receivedAt;
}

public Integer getSchemaVersion() {
public static Integer getSchemaVersion() {
return schemaVersion;
}

public void setSchemaVersion(Integer schemaVersion) {
this.schemaVersion = schemaVersion;
public static void setSchemaVersion(Integer aSchemaVersion) {
schemaVersion = aSchemaVersion;
}

public String getRecordGeneratedAt() {
Expand Down Expand Up @@ -103,12 +103,11 @@ public void setSanitized(boolean sanitized) {
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((odeReceivedAt == null) ? 0 : odeReceivedAt.hashCode());
result = prime * result + ((payloadType == null) ? 0 : payloadType.hashCode());
result = prime * result + ((recordGeneratedAt == null) ? 0 : recordGeneratedAt.hashCode());
result = prime * result + ((recordGeneratedBy == null) ? 0 : recordGeneratedBy.hashCode());
result = prime * result + ((payloadType == null) ? 0 : payloadType.hashCode());
result = prime * result + ((odeReceivedAt == null) ? 0 : odeReceivedAt.hashCode());
result = prime * result + (sanitized ? 1231 : 1237);
result = prime * result + ((schemaVersion == null) ? 0 : schemaVersion.hashCode());
result = prime * result + ((serialId == null) ? 0 : serialId.hashCode());
return result;
}
Expand All @@ -122,32 +121,24 @@ public boolean equals(Object obj) {
if (getClass() != obj.getClass())
return false;
OdeMsgMetadata other = (OdeMsgMetadata) obj;
if (recordGeneratedAt == null) {
if (other.recordGeneratedAt != null)
return false;
} else if (!recordGeneratedAt.equals(other.recordGeneratedAt))
return false;
if (recordGeneratedBy == null) {
if (other.recordGeneratedBy != null)
if (odeReceivedAt == null) {
if (other.odeReceivedAt != null)
return false;
} else if (!recordGeneratedBy.equals(other.recordGeneratedBy))
} else if (!odeReceivedAt.equals(other.odeReceivedAt))
return false;
if (payloadType == null) {
if (other.payloadType != null)
return false;
} else if (!payloadType.equals(other.payloadType))
return false;
if (odeReceivedAt == null) {
if (other.odeReceivedAt != null)
if (recordGeneratedAt == null) {
if (other.recordGeneratedAt != null)
return false;
} else if (!odeReceivedAt.equals(other.odeReceivedAt))
} else if (!recordGeneratedAt.equals(other.recordGeneratedAt))
return false;
if (sanitized != other.sanitized)
if (recordGeneratedBy != other.recordGeneratedBy)
return false;
if (schemaVersion == null) {
if (other.schemaVersion != null)
return false;
} else if (!schemaVersion.equals(other.schemaVersion))
if (sanitized != other.sanitized)
return false;
if (serialId == null) {
if (other.serialId != null)
Expand Down
Loading

0 comments on commit cd85b43

Please sign in to comment.