Skip to content

Commit

Permalink
Merge pull request #444 from usdot-jpo-ode/release/1.2.2
Browse files Browse the repository at this point in the history
Release/1.2.2
  • Loading branch information
dan-du-car committed Aug 5, 2021
2 parents a134449 + 7fce952 commit 5c17ff2
Show file tree
Hide file tree
Showing 61 changed files with 2,345 additions and 592 deletions.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM maven:3.5.4-jdk-8-alpine as builder
FROM maven:3.8.1-openjdk-11 as builder
MAINTAINER 583114@bah.com

WORKDIR /home
Expand All @@ -16,7 +16,7 @@ COPY ./jpo-ode-svcs/src ./jpo-ode-svcs/src

RUN mvn clean package -DskipTests

FROM openjdk:8u171-jre-alpine
FROM openjdk:11-jre-slim

WORKDIR /home

Expand Down
2 changes: 2 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
## ODE Release Notes ##
-----------------------
NOTE: For release details for latest releases, please see [release notes](https://github.com/usdot-jpo-ode/jpo-ode/releases)

### Release 1.0.8 (May 24, 2019)
- Integrated odevalidator v0.0.6
- Updated test-harness (see [release notes](./qa/test-harness/README.md#release-history))
Expand Down
3 changes: 2 additions & 1 deletion data/wydotLogRecords.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ typedef struct _location {
} __attribute__((__packed__)) location;

typedef struct _intersection {
int16_t intersectionId;
int8_t intersectionStatus;
int32_t intersectionId;
} __attribute__((__packed__)) intersection;

typedef struct _driverAlertRecord {
Expand All @@ -90,6 +90,7 @@ typedef struct _receivedMsgRecord {
uint32_t utcTimeInSec;
uint16_t msec;
int8_t verificationStatus;
int8_t is_cert_present; /*ieee 1609 (acceptable values 0 = no,1 =yes)*/
uint16_t length;
/* payload of length size*/
} __attribute__((__packed__)) receivedMsgRecord;
Expand Down
6 changes: 5 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ services:
KAFKA_ADVERTISED_HOST_NAME: ${DOCKER_HOST_IP}
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true"
KAFKA_CREATE_TOPICS: "topic.OdeBsmPojo:1:1,topic.OdeBsmJson:1:1,topic.FilteredOdeBsmJson:1:1,topic.OdeTimJson:1:1,topic.OdeTimBroadcastJson:1:1,topic.J2735TimBroadcastJson:1:1,topic.OdeDriverAlertJson:1:1,topic.Asn1DecoderInput:1:1,topic.Asn1DecoderOutput:1:1,topic.Asn1EncoderInput:1:1,topic.Asn1EncoderOutput:1:1,topic.SDWDepositorInput:1:1,topic.OdeTIMCertExpirationTimeJson:1:1,topic.OdeRawEncodedMessageJson:1:1"
KAFKA_CREATE_TOPICS: "topic.OdeBsmPojo:1:1,topic.OdeSpatTxPojo:1:1,topic.OdeSpatPojo:1:1,topic.OdeSpatJson:1:1,topic.FilteredOdeSpatJson:1:1,topic.OdeSpatRxJson:1:1,topic.OdeSpatRxPojo:1:1,topic.OdeBsmJson:1:1,topic.FilteredOdeBsmJson:1:1,topic.OdeTimJson:1:1,topic.OdeTimBroadcastJson:1:1,topic.J2735TimBroadcastJson:1:1,topic.OdeDriverAlertJson:1:1,topic.Asn1DecoderInput:1:1,topic.Asn1DecoderOutput:1:1,topic.Asn1EncoderInput:1:1,topic.Asn1EncoderOutput:1:1,topic.SDWDepositorInput:1:1,topic.OdeTIMCertExpirationTimeJson:1:1,topic.OdeRawEncodedBSMJson:1:1,topic.OdeRawEncodedSPATJson:1:1,topic.OdeRawEncodedTIMJson:1:1"
KAFKA_DELETE_TOPIC_ENABLED: "true"
KAFKA_CLEANUP_POLICY: "delete" # delete old logs
KAFKA_LOG_RETENTION_HOURS: 2
Expand Down Expand Up @@ -150,6 +150,7 @@ services:
API_ENDPOINT: ${CVPEP_BSM_API_ENDPOINT}
HEADER_ACCEPT: ${CVPEP_BSM_HEADER_ACCEPT}
HEADER_X_API_KEY: ${CVPEP_BSM_HEADER_X_API_KEY}
DEPOSIT_GROUP: ${CVPEP_BSM_GROUP}
depends_on:
- kafka
logging:
Expand All @@ -172,6 +173,7 @@ services:
API_ENDPOINT: ${RDE_BSM_API_ENDPOINT}
HEADER_ACCEPT: ${RDE_BSM_HEADER_ACCEPT}
HEADER_X_API_KEY: ${RDE_BSM_HEADER_X_API_KEY}
DEPOSIT_GROUP: ${RDE_BSM_GROUP}
depends_on:
- kafka
logging:
Expand All @@ -194,6 +196,7 @@ services:
API_ENDPOINT: ${CVPEP_BSM_API_ENDPOINT}
HEADER_ACCEPT: ${CVPEP_BSM_HEADER_ACCEPT}
HEADER_X_API_KEY: ${CVPEP_BSM_HEADER_X_API_KEY}
DEPOSIT_GROUP: ${CVPEP_TIM_GROUP}
depends_on:
- kafka
logging:
Expand All @@ -216,6 +219,7 @@ services:
API_ENDPOINT: ${RDE_TIM_API_ENDPOINT}
HEADER_ACCEPT: ${RDE_TIM_HEADER_ACCEPT}
HEADER_X_API_KEY: ${RDE_TIM_HEADER_X_API_KEY}
DEPOSIT_GROUP: ${RDE_TIM_GROUP}
depends_on:
- kafka
logging:
Expand Down
8 changes: 4 additions & 4 deletions docs/Architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Booz Allen Hamilton\
8283 Greensboro Drive\
McLean, VA 22102

_Last updated February 7, 2019_
_Last updated June 11, 2021_

# Contents

Expand All @@ -22,7 +22,7 @@ _Last updated February 7, 2019_
- [3 - System Overview](#system-overview)
- [3.1 - ODE Technology Stack](#ode-technology-stack)
- [3.2 - Producer Mechanisms](#producer-mechanisms)
- [3.3 - Comsumer Mechanisms](#comsumer-mechanisms)
- [3.3 - Consumer Mechanisms](#consumer-mechanisms)
- [3.4 - ODE Management Console](#ode-management-console)
- [4 - Architecture Pattern](#architecture-pattern)
- [4.1 - Pattern Description](#pattern-description)
Expand Down Expand Up @@ -176,7 +176,7 @@ Notation (JSON), environmental and various other system logs.

<a name="consumer-mechanisms">

### 3.3 - Comsumer Mechanisms
### 3.3 - Consumer Mechanisms

The JPO-ODE is designed to support the following mechanisms for
outputting decoded BSM, Map and Signal Phase and Timing (SPaT) data as
Expand Down Expand Up @@ -249,7 +249,7 @@ The micro-services pattern consists of three major concepts:

3. *Distributed architecture*: All the components within the
architecture are fully decoupled from one other and accessed through
a messaging service. This concept is what allows mircoservices
a messaging service. This concept is what allows microservices
architecture pattern achieve some of its superior scalability and
deployment characteristics.

Expand Down
2 changes: 1 addition & 1 deletion jpo-ode-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
Expand All @@ -42,7 +43,6 @@
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.websocket</groupId>
Expand Down
2 changes: 0 additions & 2 deletions jpo-ode-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.1.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
Expand All @@ -76,7 +75,6 @@
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams</artifactId>
<version>0.10.1.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public class AppContext {
public static final String ODE_ASN1_DATA = "OdeAsn1Data";
public static final String DATA_STRING = "data";
public static final String ENCODINGS_STRING = "encodings";
public static final String RECEIVEDMSGDETAILS_STRING = "receivedMessageDetails";
public static final String PAYLOAD_TYPE_STRING = "payloadType";
public static final String DATA_TYPE_STRING = "dataType";
public static final String SERIAL_ID_STRING = "serialId";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ public class OdeBsmMetadata extends OdeLogMetadata {

private static final long serialVersionUID = -8601265839394150140L;

private String originIp;

public enum BsmSource {
EV, RV, unknown
}
Expand All @@ -44,4 +46,12 @@ public BsmSource getBsmSource() {
public void setBsmSource(BsmSource bsmSource) {
this.bsmSource = bsmSource;
}

public String getOriginIp() {
return originIp;
}

public void setOriginIp(String originIp) {
this.originIp = originIp;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*******************************************************************************
* Copyright 2018 572682
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy
* of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
******************************************************************************/
package us.dot.its.jpo.ode.model;

public class OdeSpatData extends OdeData {

private static final long serialVersionUID = 4944935387116447760L;

public OdeSpatData() {
super();
}

public OdeSpatData(OdeMsgMetadata metadata, OdeMsgPayload payload) {
super(metadata, payload);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,15 @@ public enum SpatSource {
}

private SpatSource spatSource;
private boolean isCertPresent;

public boolean isCertPresent() {
return isCertPresent;
}

public void setCertPresent(boolean isCertPresent) {
this.isCertPresent = isCertPresent;
}

public OdeSpatMetadata() {
super();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package us.dot.its.jpo.ode.model;

import us.dot.its.jpo.ode.plugin.j2735.J2735SPAT;

/*******************************************************************************
* Copyright 2018 572682
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy
* of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
******************************************************************************/

public class OdeSpatPayload extends OdeMsgPayload {

/**
*
*/
private static final long serialVersionUID = 1L;

public OdeSpatPayload() {
this(new J2735SPAT());
}

public OdeSpatPayload(J2735SPAT spat) {
super(spat);
this.setData(spat);
}

public J2735SPAT getSpat() {
return (J2735SPAT) getData();
}

public void setBsm(J2735SPAT spat) {
setData(spat);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package us.dot.its.jpo.ode.plugin.j2735;

import us.dot.its.jpo.ode.plugin.asn1.Asn1Object;

public class J2735AdvisorySpeed extends Asn1Object {
private static final long serialVersionUID = 1L;
private J2735AdvisorySpeedType type;
private Integer speed;
private J2735SpeedConfidence confidence;
private Integer distance;
private Integer classId;

// regional
public J2735AdvisorySpeedType getType() {
return type;
}

public void setType(J2735AdvisorySpeedType type) {
this.type = type;
}

public Integer getSpeed() {
return speed;
}

public void setSpeed(Integer speed) {
this.speed = speed;
}

public J2735SpeedConfidence getConfidence() {
return confidence;
}

public void setConfidence(J2735SpeedConfidence confidence) {
this.confidence = confidence;
}

public Integer getDistance() {
return distance;
}

public void setDistance(Integer distance) {
this.distance = distance;
}

public Integer getClassId() {
return classId;
}

public void setClassId(Integer classId) {
this.classId = classId;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package us.dot.its.jpo.ode.plugin.j2735;

import java.util.ArrayList;
import java.util.List;

import us.dot.its.jpo.ode.plugin.asn1.Asn1Object;

public class J2735AdvisorySpeedList extends Asn1Object {
private static final long serialVersionUID = 1L;
private List<J2735AdvisorySpeed> advisorySpeedList = new ArrayList<>();

public List<J2735AdvisorySpeed> getAdvisorySpeedList() {
return advisorySpeedList;
}

public void setAdvisorySpeedList(List<J2735AdvisorySpeed> advisorySpeedList) {
this.advisorySpeedList = advisorySpeedList;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package us.dot.its.jpo.ode.plugin.j2735;

public enum J2735AdvisorySpeedType {
NONE,
GREENWAVE,
ECODRIVE,
TRANSIT
}
Loading

0 comments on commit 5c17ff2

Please sign in to comment.