Changelog 13.10.17:
- Changed package name from org.v2gclarity.risev2g to com.v2gclarity.risev2g - Changed pom.xml and bin.xml files for creating deployable .jar files with Maven - Added RISE-V2G-Parent project folder for Maven to facilitate an easy build process that has now be reworked in this version
This commit is contained in:
parent
374e06e843
commit
babd2ee114
|
@ -1,11 +1,11 @@
|
||||||
# This is a useful small shell script to automatically copy the Java Keystores (.jks files), .p12 containers and the DER encoded Mobility Operator Sub-CA private key to the places in the RISE V2G project where they belong. Execute this script after you executed the generateCertificates.sh script.
|
# This is a useful small shell script to automatically copy the Java Keystores (.jks files), .p12 containers and the DER encoded Mobility Operator Sub-CA private key to the places in the RISE V2G project where they belong. Execute this script after you executed the generateCertificates.sh script.
|
||||||
|
|
||||||
cp keystores/evccKeystore.jks ../RISE-V2G-EVCC
|
cp keystores/evccKeystore.jks ../RISE-V2G-EVCC/
|
||||||
cp keystores/evccTruststore.jks ../RISE-V2G-EVCC
|
cp keystores/evccTruststore.jks ../RISE-V2G-EVCC/
|
||||||
cp keystores/seccKeystore.jks ../RISE-V2G-SECC
|
cp keystores/seccKeystore.jks ../RISE-V2G-SECC/
|
||||||
cp keystores/seccTruststore.jks ../RISE-V2G-SECC
|
cp keystores/seccTruststore.jks ../RISE-V2G-SECC/
|
||||||
|
|
||||||
cp certs/cpsCertChain.p12 ../RISE-V2G-SECC
|
cp certs/cpsCertChain.p12 ../RISE-V2G-SECC/
|
||||||
cp certs/moCertChain.p12 ../RISE-V2G-SECC
|
cp certs/moCertChain.p12 ../RISE-V2G-SECC/
|
||||||
|
|
||||||
cp privateKeys/moSubCA2.pkcs8.der ../RISE-V2G-SECC
|
cp privateKeys/moSubCA2.pkcs8.der ../RISE-V2G-SECC/
|
|
@ -2,7 +2,7 @@
|
||||||
REM *******************************************************************************
|
REM *******************************************************************************
|
||||||
REM The MIT License (MIT)
|
REM The MIT License (MIT)
|
||||||
REM
|
REM
|
||||||
REM Copyright (c) 2015-207 V2G Clarity (Dr.-Ing. Marc Mültin)
|
REM Copyright (c) 2015-2017 V2G Clarity (Dr. Marc Mültin)
|
||||||
REM
|
REM
|
||||||
REM Permission is hereby granted, free of charge, to any person obtaining a copy
|
REM Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
REM of this software and associated documentation files (the "Software"), to deal
|
REM of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -23,16 +23,19 @@ REM OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
REM THE SOFTWARE.
|
REM THE SOFTWARE.
|
||||||
REM *******************************************************************************
|
REM *******************************************************************************
|
||||||
|
|
||||||
|
REM ===========================================================================================================
|
||||||
REM This shell script can be used to create all necessary certificates and keystores needed in order to
|
REM This shell script can be used to create all necessary certificates and keystores needed in order to
|
||||||
REM - successfully perform a TLS handshake between the EVCC (TLSClient) and the SECC (TLSServer) and
|
REM - successfully perform a TLS handshake between the EVCC (TLSClient) and the SECC (TLSServer) and
|
||||||
REM - install/update a contract certificate in the EVCC.
|
REM - install/update a contract certificate in the EVCC.
|
||||||
REM Previously created certificates should have been provided with the respective release of the RISE V2G project for testing purposes. However, certain certificates might not be valid any more in which case you need to create new certificates.
|
REM
|
||||||
REM This file shall serve you with all information needed to create your own certificate chains.
|
REM This file shall serve you with all information needed to create your own certificate chains.
|
||||||
REM
|
REM
|
||||||
REM Helpful information about using openssl is provided by Ivan Ristic's book "Bulletproof SSL and TLS".
|
REM Helpful information about using openssl is provided by Ivan Ristic's book "Bulletproof SSL and TLS".
|
||||||
REM Furthermore, you should have openssl 1.0.2 (or above) installed to comply with all security requirements imposed by ISO 15118. For example, openssl 0.9.8 does not come with SHA-2 for SHA-256 signature algorithms. Some MacOS X installations unfortunately still use openssl < v1.0.2. You could use Homebrew to install openssl. Be aware that you probably then need to use an absolute path for your openssl commands, such as /usr/local/Cellar/openssl/1.0.2h_1/bin/openssl (for linux based systems).
|
REM Furthermore, you should have openssl 1.0.2 (or above) installed to comply with all security requirements
|
||||||
|
REM imposed by ISO 15118. For example, openssl 0.9.8 does not come with SHA-2 for SHA-256 signature algorithms.
|
||||||
REM
|
REM
|
||||||
REM Author: Marc Mültin (marc.mueltin@v2g-clarity.com)
|
REM Author: Dr. Marc Mültin (marc.mueltin@v2g-clarity.com)
|
||||||
|
REM ===========================================================================================================
|
||||||
|
|
||||||
|
|
||||||
REM Some variables to create different outcomes of the PKI for testing purposes. Change the validity periods (given in number of days) to test
|
REM Some variables to create different outcomes of the PKI for testing purposes. Change the validity periods (given in number of days) to test
|
||||||
|
@ -56,7 +59,8 @@ SET validity_oem_root_cert=3650
|
||||||
SET validity_mo_root_cert=3650
|
SET validity_mo_root_cert=3650
|
||||||
|
|
||||||
|
|
||||||
REM 0) Create directories if not yet existing
|
REM 0) Create directories if not yet existing. The keystores in the keystores folder (if existing) need to be deleted at first, so delete the complete folder.
|
||||||
|
if exist keystores rd /s /q keystores
|
||||||
if not exist certs mkdir certs
|
if not exist certs mkdir certs
|
||||||
if not exist csrs mkdir csrs
|
if not exist csrs mkdir csrs
|
||||||
if not exist keystores mkdir keystores
|
if not exist keystores mkdir keystores
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#*******************************************************************************
|
#*******************************************************************************
|
||||||
# The MIT License (MIT)
|
# The MIT License (MIT)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2015-207 V2G Clarity (Dr.-Ing. Marc Mültin)
|
# Copyright (c) 2015-207 V2G Clarity (Dr. Marc Mültin)
|
||||||
#
|
#
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
# of this software and associated documentation files (the "Software"), to deal
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -21,16 +21,23 @@
|
||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
# THE SOFTWARE.
|
# THE SOFTWARE.
|
||||||
#*******************************************************************************
|
#*******************************************************************************
|
||||||
|
|
||||||
|
# ===============================================================================================================
|
||||||
# This shell script can be used to create all necessary certificates and keystores needed in order to
|
# This shell script can be used to create all necessary certificates and keystores needed in order to
|
||||||
# - successfully perform a TLS handshake between the EVCC (TLSClient) and the SECC (TLSServer) and
|
# - successfully perform a TLS handshake between the EVCC (TLSClient) and the SECC (TLSServer) and
|
||||||
# - install/update a contract certificate in the EVCC.
|
# - install/update a contract certificate in the EVCC.
|
||||||
# Previously created certificates should have been provided with the respective release of the RISE V2G project for testing purposes. However, certain certificates might not be valid any more in which case you need to create new certificates.
|
#
|
||||||
# This file shall serve you with all information needed to create your own certificate chains.
|
# This file shall serve you with all information needed to create your own certificate chains.
|
||||||
#
|
#
|
||||||
# Helpful information about using openssl is provided by Ivan Ristic's book "Bulletproof SSL and TLS".
|
# Helpful information about using openssl is provided by Ivan Ristic's book "Bulletproof SSL and TLS".
|
||||||
# Furthermore, you should have openssl 1.0.2 (or above) installed to comply with all security requirements imposed by ISO 15118. For example, openssl 0.9.8 does not come with SHA-2 for SHA-256 signature algorithms. Some MacOS X installations unfortunately still use openssl < v1.0.2. You could use Homebrew to install openssl. Be aware that you probably then need to use an absolute path for your openssl commands, such as /usr/local/Cellar/openssl/1.0.2h_1/bin/openssl.
|
# Furthermore, you should have openssl 1.0.2 (or above) installed to comply with all security requirements
|
||||||
|
# imposed by ISO 15118. For example, openssl 0.9.8 does not come with SHA-2 for SHA-256 signature algorithms.
|
||||||
|
# Some MacOS X installations unfortunately still use openssl < v1.0.2. You could use Homebrew to install openssl.
|
||||||
|
# Be aware that you probably then need to use an absolute path for your openssl commands, such as
|
||||||
|
# /usr/local/Cellar/openssl/1.0.2h_1/bin/openssl.
|
||||||
#
|
#
|
||||||
# Author: Marc Mültin (marc.mueltin@v2g-clarity.com)
|
# Author: Dr. Marc Mültin (marc.mueltin@v2g-clarity.com)
|
||||||
|
# ===============================================================================================================
|
||||||
|
|
||||||
|
|
||||||
# Some variables to create different outcomes of the PKI for testing purposes. Change the validity periods (given in number of days) to test
|
# Some variables to create different outcomes of the PKI for testing purposes. Change the validity periods (given in number of days) to test
|
||||||
|
@ -55,6 +62,7 @@ validity_mo_root_cert=3650
|
||||||
|
|
||||||
|
|
||||||
# 0) Create directories if not yet existing
|
# 0) Create directories if not yet existing
|
||||||
|
rm -r keystores # the keystores in the keystores folder (if existing) need to be deleted at first, so delete the complete folder
|
||||||
mkdir -p certs
|
mkdir -p certs
|
||||||
mkdir -p csrs
|
mkdir -p csrs
|
||||||
mkdir -p keystores
|
mkdir -p keystores
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#
|
#
|
||||||
# The network interface name like en3 or eth1 of the network interface on which to communicate with the SECC via a
|
# The network interface name like en3 or eth1 of the network interface on which to communicate with the SECC via a
|
||||||
# link-local IPv6 address
|
# link-local IPv6 address
|
||||||
NetworkInterface = en0
|
network.interface = en0
|
||||||
|
|
||||||
|
|
||||||
# Security
|
# Security
|
||||||
|
@ -41,7 +41,7 @@ NetworkInterface = en0
|
||||||
# - false
|
# - false
|
||||||
# If this value is set to 'false', TCP will be used on transport layer
|
# If this value is set to 'false', TCP will be used on transport layer
|
||||||
# If no correct value is provided here, 'false' will be chosen
|
# If no correct value is provided here, 'false' will be chosen
|
||||||
TLSSecurity = true
|
tls = false
|
||||||
|
|
||||||
|
|
||||||
# Contract certificate update time span
|
# Contract certificate update time span
|
||||||
|
@ -49,7 +49,7 @@ TLSSecurity = true
|
||||||
#
|
#
|
||||||
# Integer value defining the time span in days which precedes the expiration of a contract certificate
|
# Integer value defining the time span in days which precedes the expiration of a contract certificate
|
||||||
# and during which an update of the contract certificate needs to be performed
|
# and during which an update of the contract certificate needs to be performed
|
||||||
ContractCertificateUpdateTimespan = 14
|
contract.certificate.update.timespan = 14
|
||||||
|
|
||||||
|
|
||||||
# SessionID
|
# SessionID
|
||||||
|
@ -57,7 +57,7 @@ ContractCertificateUpdateTimespan = 14
|
||||||
#
|
#
|
||||||
# If this value is unequal to zero, then it represents a previously
|
# If this value is unequal to zero, then it represents a previously
|
||||||
# paused V2G communication session
|
# paused V2G communication session
|
||||||
SessionID = 0
|
session.id = 0
|
||||||
|
|
||||||
|
|
||||||
# Selected payment option
|
# Selected payment option
|
||||||
|
@ -67,7 +67,7 @@ SessionID = 0
|
||||||
# Possible values are:
|
# Possible values are:
|
||||||
# - Contract
|
# - Contract
|
||||||
# - ExternalPayment
|
# - ExternalPayment
|
||||||
RequestedPaymentOption =
|
authentication.mode =
|
||||||
|
|
||||||
|
|
||||||
# Requested energy transfer mode
|
# Requested energy transfer mode
|
||||||
|
@ -81,7 +81,7 @@ RequestedPaymentOption =
|
||||||
# - DC_extended
|
# - DC_extended
|
||||||
# - DC_combo_core
|
# - DC_combo_core
|
||||||
# - DC_unique
|
# - DC_unique
|
||||||
RequestedEnergyTransferMode = AC_three_phase_core
|
energy.transfermode.requested = AC_three_phase_core
|
||||||
|
|
||||||
|
|
||||||
# XML representation of messages
|
# XML representation of messages
|
||||||
|
@ -92,7 +92,7 @@ RequestedEnergyTransferMode = AC_three_phase_core
|
||||||
# - false
|
# - false
|
||||||
# If this value is set to 'true', the EXICodec will print each message's XML representation (for debugging purposes)
|
# If this value is set to 'true', the EXICodec will print each message's XML representation (for debugging purposes)
|
||||||
# If no correct value is provided here, 'false' will be chosen
|
# If no correct value is provided here, 'false' will be chosen
|
||||||
XMLRepresentationOfMessages = true
|
exi.messages.showxml = true
|
||||||
|
|
||||||
|
|
||||||
# Hexadecimal and Base64 representation of messages
|
# Hexadecimal and Base64 representation of messages
|
||||||
|
@ -103,7 +103,7 @@ XMLRepresentationOfMessages = true
|
||||||
# - false
|
# - false
|
||||||
# If this value is set to 'true', the EXICodec will print each message's hexadecimal and Base64 representation (for debugging purposes)
|
# If this value is set to 'true', the EXICodec will print each message's hexadecimal and Base64 representation (for debugging purposes)
|
||||||
# If no correct value is provided here, 'false' will be chosen
|
# If no correct value is provided here, 'false' will be chosen
|
||||||
HexAndBase64RepresentationOfMessages = true
|
exi.messages.showhex = true
|
||||||
|
|
||||||
|
|
||||||
# Extended logging of signature verification
|
# Extended logging of signature verification
|
||||||
|
@ -114,7 +114,7 @@ HexAndBase64RepresentationOfMessages = true
|
||||||
# - false
|
# - false
|
||||||
# If this value is set to 'true', extended logging will be printed upon verification of signatures (for debugging purposes)
|
# If this value is set to 'true', extended logging will be printed upon verification of signatures (for debugging purposes)
|
||||||
# If no correct value is provided here, 'false' will be chosen
|
# If no correct value is provided here, 'false' will be chosen
|
||||||
SignatureVerificationLog = true
|
signature.verification.showlog = true
|
||||||
|
|
||||||
|
|
||||||
# EXI codec
|
# EXI codec
|
||||||
|
@ -125,4 +125,4 @@ SignatureVerificationLog = true
|
||||||
# - exificient
|
# - exificient
|
||||||
# - open_exi
|
# - open_exi
|
||||||
# If no correct value is provided here, 'exificient' will be used
|
# If no correct value is provided here, 'exificient' will be used
|
||||||
EXICodec = open_exi
|
exi.codec = open_exi
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2015-2017 V2G Clarity (Dr. Marc Mültin)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*******************************************************************************/
|
|
@ -2,73 +2,81 @@
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.v2gclarity.risev2g</groupId>
|
<groupId>com.v2gclarity.risev2g</groupId>
|
||||||
<artifactId>parent</artifactId>
|
<artifactId>rise-v2g-parent</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.1.4-SNAPSHOT</version>
|
||||||
|
<relativePath>../RISE-V2G-PARENT</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<packaging>jar</packaging>
|
<artifactId>rise-v2g-evcc</artifactId>
|
||||||
<url>http://maven.apache.org</url>
|
<name>rise-v2g-evcc</name>
|
||||||
<artifactId>evcc</artifactId>
|
|
||||||
<name>risev2g.evcc</name>
|
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.v2gclarity.risev2g</groupId>
|
<groupId>com.v2gclarity.risev2g</groupId>
|
||||||
<artifactId>shared</artifactId>
|
<artifactId>rise-v2g-shared</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.1.4-SNAPSHOT</version>
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
|
||||||
<artifactId>log4j-api</artifactId>
|
|
||||||
<version>2.1</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
|
||||||
<artifactId>log4j-core</artifactId>
|
|
||||||
<version>2.1</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<project.version>1.1.4-SNAPSHOT</project.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId> <!-- See http://maven.apache.org/plugins/maven-assembly-plugin/usage.html -->
|
||||||
|
<version>3.1.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
|
<finalName>rise-v2g-evcc-${project.version}</finalName>
|
||||||
|
<appendAssemblyId>false</appendAssemblyId>
|
||||||
<archive>
|
<archive>
|
||||||
<manifest>
|
<manifest>
|
||||||
<addClasspath>true</addClasspath>
|
<addClasspath>true</addClasspath>
|
||||||
<mainClass>org.v2gclarity.risev2g.evcc.main.StartEVCC</mainClass>
|
<mainClass>com.v2gclarity.risev2g.evcc.main.StartEVCC</mainClass>
|
||||||
</manifest>
|
</manifest>
|
||||||
</archive>
|
</archive>
|
||||||
<descriptorRefs>
|
<descriptors> <!-- Same as jar-with-dependencies descriptorRef, but can be adapted if needed -->
|
||||||
<descriptorRef>jar-with-dependencies</descriptorRef>
|
<descriptor>src/assembly/bin.xml</descriptor>
|
||||||
</descriptorRefs>
|
</descriptors>
|
||||||
<appendAssemblyId>false</appendAssemblyId>
|
|
||||||
</configuration>
|
</configuration>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>make-my-jar-with-dependencies</id>
|
<id>one-jar-only</id>
|
||||||
<phase>package</phase>
|
<phase>package</phase> <!-- bind to the packaging phase -->
|
||||||
<goals>
|
<goals>
|
||||||
<goal>single</goal>
|
<goal>single</goal>
|
||||||
</goals>
|
</goals>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin> <!-- For copying the keystores and private key to the target folder next to the JAR file -->
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
<configuration>
|
<version>3.0.2</version>
|
||||||
<appendAssemblyId>false</appendAssemblyId>
|
|
||||||
<descriptor>${project.baseUri}src/assembly/bin.xml</descriptor>
|
|
||||||
</configuration>
|
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<phase>package</phase>
|
<id>copy-resources</id>
|
||||||
|
<phase>install</phase>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>single</goal>
|
<goal>copy-resources</goal>
|
||||||
</goals>
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${basedir}/target</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>${basedir}</directory>
|
||||||
|
<includes>
|
||||||
|
<include>*.p12</include>
|
||||||
|
<include>*.jks</include>
|
||||||
|
<include>*.properties</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -1,39 +1,18 @@
|
||||||
<assembly>
|
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
|
||||||
<id>bin</id>
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
|
||||||
|
<!-- TODO: a jarjar format would be better -->
|
||||||
|
<id>jar-with-dependencies</id>
|
||||||
<formats>
|
<formats>
|
||||||
<format>tar.gz</format>
|
<format>jar</format>
|
||||||
<format>tar.bz2</format>
|
|
||||||
<format>zip</format>
|
|
||||||
</formats>
|
</formats>
|
||||||
|
<includeBaseDirectory>false</includeBaseDirectory>
|
||||||
<fileSets>
|
<dependencySets>
|
||||||
<fileSet>
|
<dependencySet>
|
||||||
<includes>
|
<outputDirectory>/</outputDirectory>
|
||||||
<include>README*</include>
|
<useProjectArtifact>true</useProjectArtifact>
|
||||||
</includes>
|
<unpack>true</unpack>
|
||||||
</fileSet>
|
<scope>runtime</scope>
|
||||||
<fileSet>
|
</dependencySet>
|
||||||
<directory>target</directory>
|
</dependencySets>
|
||||||
<outputDirectory>.</outputDirectory>
|
|
||||||
<includes>
|
|
||||||
<include>*.jar</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet>
|
|
||||||
<directory>.</directory>
|
|
||||||
<outputDirectory>.</outputDirectory>
|
|
||||||
<includes>
|
|
||||||
<include>*.p12</include>
|
|
||||||
<include>*.jks</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet>
|
|
||||||
<directory>.</directory>
|
|
||||||
<outputDirectory>.</outputDirectory>
|
|
||||||
<includes>
|
|
||||||
<include>*.properties</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
|
|
||||||
</fileSets>
|
|
||||||
</assembly>
|
</assembly>
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.evController;
|
package com.v2gclarity.risev2g.evcc.evController;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -30,25 +30,25 @@ import javax.xml.namespace.QName;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.CPStates;
|
import com.v2gclarity.risev2g.shared.enumerations.CPStates;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVErrorCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVErrorCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVPowerDeliveryParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVPowerDeliveryParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleEntryType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleEntryType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ProfileEntryType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ProfileEntryType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.RelativeTimeIntervalType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.RelativeTimeIntervalType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleTupleType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleTupleType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
||||||
|
|
||||||
public class DummyEVController implements IACEVController, IDCEVController {
|
public class DummyEVController implements IACEVController, IDCEVController {
|
||||||
|
|
|
@ -21,12 +21,12 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.evController;
|
package com.v2gclarity.risev2g.evcc.evController;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
||||||
|
|
||||||
public interface IACEVController extends IEVController {
|
public interface IACEVController extends IEVController {
|
||||||
|
|
|
@ -21,14 +21,14 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.evController;
|
package com.v2gclarity.risev2g.evcc.evController;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVPowerDeliveryParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVPowerDeliveryParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
||||||
|
|
||||||
public interface IDCEVController extends IEVController {
|
public interface IDCEVController extends IEVController {
|
||||||
|
|
|
@ -21,13 +21,13 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.evController;
|
package com.v2gclarity.risev2g.evcc.evController;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.CPStates;
|
import com.v2gclarity.risev2g.shared.enumerations.CPStates;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
|
|
||||||
public interface IEVController {
|
public interface IEVController {
|
||||||
|
|
|
@ -21,17 +21,16 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.main;
|
package com.v2gclarity.risev2g.evcc.main;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionHandlerEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionHandlerEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
|
|
||||||
public class StartEVCC {
|
public class StartEVCC {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
MiscUtils.setV2gEntityConfig(GlobalValues.EVCC_CONFIG_PROPERTIES_PATH.toString());
|
MiscUtils.setV2gEntityConfig(GlobalValues.EVCC_CONFIG_PROPERTIES_PATH.toString());
|
||||||
|
|
||||||
new V2GCommunicationSessionHandlerEVCC();
|
new V2GCommunicationSessionHandlerEVCC();
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,58 +21,58 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.session;
|
package com.v2gclarity.risev2g.evcc.session;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.evController.DummyEVController;
|
import com.v2gclarity.risev2g.evcc.evController.DummyEVController;
|
||||||
import org.v2gclarity.risev2g.evcc.evController.IEVController;
|
import com.v2gclarity.risev2g.evcc.evController.IEVController;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForAuthorizationRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForAuthorizationRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForCableCheckRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForCableCheckRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForCertificateInstallationRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForCertificateInstallationRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForCertificateUpdateRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForCertificateUpdateRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForChargeParameterDiscoveryRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForChargeParameterDiscoveryRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForChargingStatusRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForChargingStatusRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForCurrentDemandRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForCurrentDemandRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForMeteringReceiptRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForMeteringReceiptRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForPaymentDetailsRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForPaymentDetailsRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForPaymentServiceSelectionRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForPaymentServiceSelectionRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForPowerDeliveryRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForPowerDeliveryRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForPreChargeRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForPreChargeRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForServiceDetailRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForServiceDetailRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForServiceDiscoveryRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForServiceDiscoveryRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForSessionSetupRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForSessionSetupRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForSessionStopRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForSessionStopRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForSupportedAppProtocolRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForSupportedAppProtocolRes;
|
||||||
import org.v2gclarity.risev2g.evcc.states.WaitForWeldingDetectionRes;
|
import com.v2gclarity.risev2g.evcc.states.WaitForWeldingDetectionRes;
|
||||||
import org.v2gclarity.risev2g.evcc.transportLayer.StatefulTransportLayerClient;
|
import com.v2gclarity.risev2g.evcc.transportLayer.StatefulTransportLayerClient;
|
||||||
import org.v2gclarity.risev2g.evcc.transportLayer.TCPClient;
|
import com.v2gclarity.risev2g.evcc.transportLayer.TCPClient;
|
||||||
import org.v2gclarity.risev2g.evcc.transportLayer.TLSClient;
|
import com.v2gclarity.risev2g.evcc.transportLayer.TLSClient;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.CPStates;
|
import com.v2gclarity.risev2g.shared.enumerations.CPStates;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ChangeProcessingState;
|
import com.v2gclarity.risev2g.shared.messageHandling.ChangeProcessingState;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.PauseSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.PauseSession;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.SendMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.SendMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GCommunicationSession;
|
import com.v2gclarity.risev2g.shared.misc.V2GCommunicationSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils.ContractCertificateStatus;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils.ContractCertificateStatus;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SelectedServiceListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SelectedServiceListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SelectedServiceType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SelectedServiceType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
// The state machine
|
// The state machine
|
||||||
public class V2GCommunicationSessionEVCC extends V2GCommunicationSession implements Observer {
|
public class V2GCommunicationSessionEVCC extends V2GCommunicationSession implements Observer {
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.session;
|
package com.v2gclarity.risev2g.evcc.session;
|
||||||
|
|
||||||
import java.net.Inet6Address;
|
import java.net.Inet6Address;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
@ -33,23 +33,23 @@ import java.util.Observer;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.evcc.transportLayer.StatefulTransportLayerClient;
|
import com.v2gclarity.risev2g.evcc.transportLayer.StatefulTransportLayerClient;
|
||||||
import org.v2gclarity.risev2g.evcc.transportLayer.TCPClient;
|
import com.v2gclarity.risev2g.evcc.transportLayer.TCPClient;
|
||||||
import org.v2gclarity.risev2g.evcc.transportLayer.TLSClient;
|
import com.v2gclarity.risev2g.evcc.transportLayer.TLSClient;
|
||||||
import org.v2gclarity.risev2g.evcc.transportLayer.UDPClient;
|
import com.v2gclarity.risev2g.evcc.transportLayer.UDPClient;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.MessageHandler;
|
import com.v2gclarity.risev2g.shared.messageHandling.MessageHandler;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.PauseSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.PauseSession;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.ByteUtils;
|
import com.v2gclarity.risev2g.shared.utils.ByteUtils;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryReq;
|
import com.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryReq;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryRes;
|
import com.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryRes;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolReq;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolReq;
|
||||||
|
|
||||||
|
|
||||||
public class V2GCommunicationSessionHandlerEVCC implements Observer {
|
public class V2GCommunicationSessionHandlerEVCC implements Observer {
|
||||||
|
@ -68,8 +68,8 @@ public class V2GCommunicationSessionHandlerEVCC implements Observer {
|
||||||
setMessageHandler(new MessageHandler());
|
setMessageHandler(new MessageHandler());
|
||||||
|
|
||||||
setSecurity(
|
setSecurity(
|
||||||
(MiscUtils.getPropertyValue("TLSSecurity") != null ?
|
(MiscUtils.getPropertyValue("tls") != null ?
|
||||||
(byte) MiscUtils.getPropertyValue("TLSSecurity") :
|
(byte) MiscUtils.getPropertyValue("tls") :
|
||||||
GlobalValues.V2G_SECURITY_WITHOUT_TLS.getByteValue())
|
GlobalValues.V2G_SECURITY_WITHOUT_TLS.getByteValue())
|
||||||
);
|
);
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import java.security.KeyStore;
|
import java.security.KeyStore;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -30,54 +30,54 @@ import java.util.ListIterator;
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.evController.DummyEVController;
|
import com.v2gclarity.risev2g.evcc.evController.DummyEVController;
|
||||||
import org.v2gclarity.risev2g.evcc.evController.IACEVController;
|
import com.v2gclarity.risev2g.evcc.evController.IACEVController;
|
||||||
import org.v2gclarity.risev2g.evcc.evController.IDCEVController;
|
import com.v2gclarity.risev2g.evcc.evController.IDCEVController;
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.CPStates;
|
import com.v2gclarity.risev2g.shared.enumerations.CPStates;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.misc.State;
|
import com.v2gclarity.risev2g.shared.misc.State;
|
||||||
import org.v2gclarity.risev2g.shared.utils.ByteUtils;
|
import com.v2gclarity.risev2g.shared.utils.ByteUtils;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingSessionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingSessionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVPowerDeliveryParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVPowerDeliveryParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EMAIDType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EMAIDType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MessageHeaderType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MessageHeaderType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionResType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Some request messages are to be sent from different states which makes it more convenient (having
|
* Some request messages are to be sent from different states which makes it more convenient (having
|
||||||
|
@ -456,7 +456,7 @@ public abstract class ClientState extends State {
|
||||||
protected EnergyTransferModeType getRequestedEnergyTransferMode() {
|
protected EnergyTransferModeType getRequestedEnergyTransferMode() {
|
||||||
// Check if an EnergyTransferModeType has been requested in a previously paused session
|
// Check if an EnergyTransferModeType has been requested in a previously paused session
|
||||||
EnergyTransferModeType requestedEnergyTransferMode =
|
EnergyTransferModeType requestedEnergyTransferMode =
|
||||||
(EnergyTransferModeType) MiscUtils.getPropertyValue("RequestedEnergyTransferMode");
|
(EnergyTransferModeType) MiscUtils.getPropertyValue("energy.transfermode.requested");
|
||||||
|
|
||||||
if (requestedEnergyTransferMode == null) {
|
if (requestedEnergyTransferMode == null) {
|
||||||
requestedEnergyTransferMode = getCommSessionContext().getEvController().getRequestedEnergyTransferMode();
|
requestedEnergyTransferMode = getCommSessionContext().getEvController().getRequestedEnergyTransferMode();
|
||||||
|
@ -469,7 +469,7 @@ public abstract class ClientState extends State {
|
||||||
|
|
||||||
protected PaymentOptionType getSelectedPaymentOption() {
|
protected PaymentOptionType getSelectedPaymentOption() {
|
||||||
// Check if a PaymentOptionType has been requested in a previously paused session
|
// Check if a PaymentOptionType has been requested in a previously paused session
|
||||||
PaymentOptionType selectedPaymentOption = (PaymentOptionType) MiscUtils.getPropertyValue("RequestedPaymentOption");
|
PaymentOptionType selectedPaymentOption = (PaymentOptionType) MiscUtils.getPropertyValue("authentication.mode");
|
||||||
|
|
||||||
if (selectedPaymentOption == null) {
|
if (selectedPaymentOption == null) {
|
||||||
selectedPaymentOption = getCommSessionContext().getEvController().getPaymentOption(getCommSessionContext().getPaymentOptions());
|
selectedPaymentOption = getCommSessionContext().getEvController().getPaymentOption(getCommSessionContext().getPaymentOptions());
|
|
@ -1,7 +1,7 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* The MIT License (MIT)
|
* The MIT License (MIT)
|
||||||
*
|
*
|
||||||
* Copyright (c) 2015-207 V2G Clarity (Dr.-Ing. Marc Mültin)
|
* Copyright (c) 2015-2017 V2G Clarity (Dr.-Ing. Marc Mültin)
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -21,23 +21,23 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForAuthorizationRes extends ClientState {
|
public class WaitForAuthorizationRes extends ClientState {
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.evController.IDCEVController;
|
import com.v2gclarity.risev2g.evcc.evController.IDCEVController;
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForCableCheckRes extends ClientState {
|
public class WaitForCableCheckRes extends ClientState {
|
||||||
|
|
|
@ -21,22 +21,22 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import java.security.interfaces.ECPrivateKey;
|
import java.security.interfaces.ECPrivateKey;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.PKI;
|
import com.v2gclarity.risev2g.shared.enumerations.PKI;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForCertificateInstallationRes extends ClientState {
|
public class WaitForCertificateInstallationRes extends ClientState {
|
||||||
|
|
|
@ -21,22 +21,22 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import java.security.interfaces.ECPrivateKey;
|
import java.security.interfaces.ECPrivateKey;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.PKI;
|
import com.v2gclarity.risev2g.shared.enumerations.PKI;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForCertificateUpdateRes extends ClientState {
|
public class WaitForCertificateUpdateRes extends ClientState {
|
||||||
|
|
|
@ -21,31 +21,31 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.CPStates;
|
import com.v2gclarity.risev2g.shared.enumerations.CPStates;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleTupleType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleTupleType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForChargeParameterDiscoveryRes extends ClientState {
|
public class WaitForChargeParameterDiscoveryRes extends ClientState {
|
||||||
|
|
||||||
|
@ -121,11 +121,12 @@ public class WaitForChargeParameterDiscoveryRes extends ClientState {
|
||||||
|
|
||||||
// If TLS is used, verify each sales tariff (if present) with the mobility operator sub 2 certificate
|
// If TLS is used, verify each sales tariff (if present) with the mobility operator sub 2 certificate
|
||||||
if (getCommSessionContext().isTlsConnection() && saSchedules != null) {
|
if (getCommSessionContext().isTlsConnection() && saSchedules != null) {
|
||||||
if (!verifySalesTariffs(saSchedules, v2gMessageRes.getHeader().getSignature()))
|
if (!verifySalesTariffs(saSchedules, v2gMessageRes.getHeader().getSignature())) {
|
||||||
getLogger().warn("The SalesTariff will be ignored for the charge process due to "
|
getLogger().warn("The SalesTariff will be ignored for the charge process due to "
|
||||||
+ "failed signature verification during TLS communication.");
|
+ "failed signature verification during TLS communication.");
|
||||||
deleteUnverifiedSalesTariffs(saSchedules);
|
deleteUnverifiedSalesTariffs(saSchedules);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Save the list of SASchedules (saves the time of reception as well)
|
// Save the list of SASchedules (saves the time of reception as well)
|
||||||
getCommSessionContext().setSaSchedules(saSchedules);
|
getCommSessionContext().setSaSchedules(saSchedules);
|
|
@ -21,20 +21,20 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.evController.IACEVController;
|
import com.v2gclarity.risev2g.evcc.evController.IACEVController;
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForChargingStatusRes extends ClientState {
|
public class WaitForChargingStatusRes extends ClientState {
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForCurrentDemandRes extends ClientState {
|
public class WaitForCurrentDemandRes extends ClientState {
|
||||||
|
|
|
@ -21,19 +21,19 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForMeteringReceiptRes extends ClientState {
|
public class WaitForMeteringReceiptRes extends ClientState {
|
||||||
|
|
|
@ -21,17 +21,17 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForPaymentDetailsRes extends ClientState {
|
public class WaitForPaymentDetailsRes extends ClientState {
|
||||||
|
|
|
@ -21,21 +21,21 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import java.security.KeyStore;
|
import java.security.KeyStore;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils.ContractCertificateStatus;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils.ContractCertificateStatus;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionResType;
|
||||||
|
|
||||||
public class WaitForPaymentServiceSelectionRes extends ClientState {
|
public class WaitForPaymentServiceSelectionRes extends ClientState {
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.evController.IDCEVController;
|
import com.v2gclarity.risev2g.evcc.evController.IDCEVController;
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.CPStates;
|
import com.v2gclarity.risev2g.shared.enumerations.CPStates;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingSessionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingSessionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionReqType;
|
||||||
|
|
||||||
public class WaitForPowerDeliveryRes extends ClientState {
|
public class WaitForPowerDeliveryRes extends ClientState {
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.evController.IDCEVController;
|
import com.v2gclarity.risev2g.evcc.evController.IDCEVController;
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForPreChargeRes extends ClientState {
|
public class WaitForPreChargeRes extends ClientState {
|
||||||
|
|
|
@ -21,15 +21,15 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForServiceDetailRes extends ClientState {
|
public class WaitForServiceDetailRes extends ClientState {
|
||||||
|
|
|
@ -21,23 +21,23 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.evcc.transportLayer.TLSClient;
|
import com.v2gclarity.risev2g.evcc.transportLayer.TLSClient;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils.ContractCertificateStatus;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils.ContractCertificateStatus;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SelectedServiceType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SelectedServiceType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceCategoryType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceCategoryType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForServiceDiscoveryRes extends ClientState {
|
public class WaitForServiceDiscoveryRes extends ClientState {
|
||||||
|
|
|
@ -21,17 +21,17 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.utils.ByteUtils;
|
import com.v2gclarity.risev2g.shared.utils.ByteUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForSessionSetupRes extends ClientState {
|
public class WaitForSessionSetupRes extends ClientState {
|
||||||
|
|
|
@ -21,12 +21,12 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopResType;
|
||||||
|
|
||||||
public class WaitForSessionStopRes extends ClientState {
|
public class WaitForSessionStopRes extends ClientState {
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupReqType;
|
||||||
|
|
||||||
public class WaitForSupportedAppProtocolRes extends ClientState {
|
public class WaitForSupportedAppProtocolRes extends ClientState {
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ public class WaitForSupportedAppProtocolRes extends ClientState {
|
||||||
* saving reasons.
|
* saving reasons.
|
||||||
* The initial value for a completely new charging session must be 0.
|
* The initial value for a completely new charging session must be 0.
|
||||||
*/
|
*/
|
||||||
long sessionID = (long) MiscUtils.getPropertyValue("SessionID");
|
long sessionID = (long) MiscUtils.getPropertyValue("session.id");
|
||||||
getCommSessionContext().setSessionID(
|
getCommSessionContext().setSessionID(
|
||||||
getCommSessionContext().generateSessionIDFromValue(sessionID)
|
getCommSessionContext().generateSessionIDFromValue(sessionID)
|
||||||
);
|
);
|
|
@ -21,15 +21,15 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.states;
|
package com.v2gclarity.risev2g.evcc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
import com.v2gclarity.risev2g.evcc.session.V2GCommunicationSessionEVCC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingSessionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingSessionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionResType;
|
||||||
|
|
||||||
public class WaitForWeldingDetectionRes extends ClientState {
|
public class WaitForWeldingDetectionRes extends ClientState {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.transportLayer;
|
package com.v2gclarity.risev2g.evcc.transportLayer;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
@ -32,10 +32,10 @@ import java.util.Observable;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.ByteUtils;
|
import com.v2gclarity.risev2g.shared.utils.ByteUtils;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
|
|
||||||
public abstract class StatefulTransportLayerClient extends Observable implements Runnable {
|
public abstract class StatefulTransportLayerClient extends Observable implements Runnable {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.transportLayer;
|
package com.v2gclarity.risev2g.evcc.transportLayer;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.Inet6Address;
|
import java.net.Inet6Address;
|
||||||
|
@ -29,7 +29,7 @@ import java.net.Socket;
|
||||||
import java.net.SocketTimeoutException;
|
import java.net.SocketTimeoutException;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
|
|
||||||
public class TCPClient extends StatefulTransportLayerClient {
|
public class TCPClient extends StatefulTransportLayerClient {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.transportLayer;
|
package com.v2gclarity.risev2g.evcc.transportLayer;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.Inet6Address;
|
import java.net.Inet6Address;
|
||||||
|
@ -34,10 +34,10 @@ import javax.net.ssl.SSLHandshakeException;
|
||||||
import javax.net.ssl.SSLSocket;
|
import javax.net.ssl.SSLSocket;
|
||||||
import javax.net.ssl.SSLSocketFactory;
|
import javax.net.ssl.SSLSocketFactory;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
|
|
||||||
public class TLSClient extends StatefulTransportLayerClient {
|
public class TLSClient extends StatefulTransportLayerClient {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.evcc.transportLayer;
|
package com.v2gclarity.risev2g.evcc.transportLayer;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.DatagramPacket;
|
import java.net.DatagramPacket;
|
||||||
|
@ -32,10 +32,10 @@ import java.net.UnknownHostException;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The UDP client is handling the SECCDiscovery messages only. The standard does not
|
* The UDP client is handling the SECCDiscovery messages only. The standard does not
|
|
@ -2,7 +2,7 @@
|
||||||
<Configuration>
|
<Configuration>
|
||||||
<Appenders>
|
<Appenders>
|
||||||
<Console name="Console" target="SYSTEM_OUT">
|
<Console name="Console" target="SYSTEM_OUT">
|
||||||
<PatternLayout pattern="%d{ISO8601} %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue} [%t] %c: %m%n" />
|
<PatternLayout pattern="%d{ISO8601} %level [%t] %c: %m%n" />
|
||||||
</Console>
|
</Console>
|
||||||
</Appenders>
|
</Appenders>
|
||||||
<Loggers>
|
<Loggers>
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>com.v2gclarity.risev2g</groupId>
|
||||||
|
<artifactId>rise-v2g-parent</artifactId>
|
||||||
|
<name>rise-v2g-parent</name>
|
||||||
|
<version>1.1.4-SNAPSHOT</version>
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
<modules>
|
||||||
|
<module>../RISE-V2G-EVCC</module>
|
||||||
|
<module>../RISE-V2G-SECC</module>
|
||||||
|
<module>../RISE-V2G-Shared</module>
|
||||||
|
</modules>
|
||||||
|
|
||||||
|
<url>https://www.v2g-clarity.com/en/risev2g/</url>
|
||||||
|
<description>RISE V2G is a complete reference implementation of ISO 15118-2, both implementing the EV (EVCC) and charging station (SECC) side. Messages are provided for AC as well as DC charging. Both identification modes, EIM (External Identification Means) as well as Plug and Charge are supported, including all the security relevant features such as TLS, X.509 certificates and digital signatures.</description>
|
||||||
|
|
||||||
|
<organization>
|
||||||
|
<name>V2G Clarity</name>
|
||||||
|
<url>https://www.v2g-clarity.com</url>
|
||||||
|
</organization>
|
||||||
|
|
||||||
|
<issueManagement>
|
||||||
|
<system>GitHub</system>
|
||||||
|
<url>https://github.com/V2GClarity/RISE-V2G/issues</url>
|
||||||
|
</issueManagement>
|
||||||
|
|
||||||
|
<developers>
|
||||||
|
<developer>
|
||||||
|
<name>Dr. Marc Mültin</name>
|
||||||
|
<email>marc.mueltin@v2g-clarity.com</email>
|
||||||
|
<organization>V2G Clarity</organization>
|
||||||
|
</developer>
|
||||||
|
</developers>
|
||||||
|
|
||||||
|
<licenses>
|
||||||
|
<license>
|
||||||
|
<name>MIT License</name>
|
||||||
|
<url>https://opensource.org/licenses/MIT</url>
|
||||||
|
</license>
|
||||||
|
</licenses>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<project.version>1.1.4-SNAPSHOT</project.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.7.0</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.8</source> <!-- Which Java version to use -->
|
||||||
|
<target>1.8</target> <!-- Which Java version to use -->
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId> <!-- See http://maven.apache.org/plugins/maven-assembly-plugin/usage.html -->
|
||||||
|
<version>3.1.0</version>
|
||||||
|
<configuration>
|
||||||
|
<finalName>rise-v2g-${project.version}-src</finalName>
|
||||||
|
<appendAssemblyId>false</appendAssemblyId>
|
||||||
|
<descriptors>
|
||||||
|
<descriptor>src/assembly/src.xml</descriptor> <!-- Generate the release .zip with the sources -->
|
||||||
|
</descriptors>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>one-jar-only</id>
|
||||||
|
<phase>package</phase> <!-- bind to the packaging phase -->
|
||||||
|
<goals>
|
||||||
|
<goal>single</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,65 @@
|
||||||
|
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
|
||||||
|
<id>project</id>
|
||||||
|
<formats>
|
||||||
|
<format>zip</format>
|
||||||
|
</formats>
|
||||||
|
<fileSets>
|
||||||
|
<fileSet> <!-- LICENSE.txt and README.md from root directory -->
|
||||||
|
<directory>../</directory>
|
||||||
|
<outputDirectory></outputDirectory>
|
||||||
|
<includes>
|
||||||
|
<include>LICENSE.txt</include>
|
||||||
|
<include>README.md</include>
|
||||||
|
</includes>
|
||||||
|
</fileSet>
|
||||||
|
<fileSet> <!-- rise-v2g-parent -->
|
||||||
|
<directory>${project.basedir}</directory>
|
||||||
|
<outputDirectory>rise-v2g-parent</outputDirectory>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/*.log</exclude>
|
||||||
|
<exclude>**/${project.build.directory}/**</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
<fileSet> <!-- rise-v2g-certificates -->
|
||||||
|
<directory>../RISE-V2G-Certificates</directory>
|
||||||
|
<outputDirectory>rise-v2g-certificates</outputDirectory>
|
||||||
|
<excludes>
|
||||||
|
<exclude>/certs/**</exclude>
|
||||||
|
<exclude>/csrs/**</exclude>
|
||||||
|
<exclude>/keystores/**</exclude>
|
||||||
|
<exclude>/privateKeys/**</exclude>
|
||||||
|
<exclude>/testing-symposia/**</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
|
<moduleSets> <!-- rise-v2g-evcc and rise-v2g-secc -->
|
||||||
|
<moduleSet>
|
||||||
|
|
||||||
|
<!-- Enable access to all projects in the current multi-module build.
|
||||||
|
Includes all submodules (rise-v2g-evcc and rise-v2g-secc) -->
|
||||||
|
<useAllReactorProjects>true</useAllReactorProjects>
|
||||||
|
|
||||||
|
<sources>
|
||||||
|
<fileSets>
|
||||||
|
<fileSet>
|
||||||
|
<directory>${project.basedir}</directory>
|
||||||
|
<outputDirectory>/</outputDirectory>
|
||||||
|
<useDefaultExcludes>true</useDefaultExcludes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/*.log</exclude>
|
||||||
|
<exclude>**/${project.build.directory}/**</exclude>
|
||||||
|
<exclude>**/.classpath</exclude>
|
||||||
|
<exclude>**/.project</exclude>
|
||||||
|
<exclude>**/.settings</exclude>
|
||||||
|
<exclude>/src/main/resources/*.p12</exclude>
|
||||||
|
<exclude>/src/main/resources/*.jks</exclude>
|
||||||
|
<exclude>/src/main/resources/*.pkcs8.der</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
|
</sources>
|
||||||
|
</moduleSet>
|
||||||
|
</moduleSets>
|
||||||
|
</assembly>
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2015-2017 V2G Clarity (Dr. Marc Mültin)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*******************************************************************************/
|
|
@ -30,7 +30,7 @@
|
||||||
#
|
#
|
||||||
# The network interface name like en3 or eth1 of the network interface on which to communicate with the EVCC via a
|
# The network interface name like en3 or eth1 of the network interface on which to communicate with the EVCC via a
|
||||||
# link-local IPv6 address
|
# link-local IPv6 address
|
||||||
NetworkInterface = en0
|
network.interface = en0
|
||||||
|
|
||||||
|
|
||||||
# Supported energy transfer modes
|
# Supported energy transfer modes
|
||||||
|
@ -44,7 +44,7 @@ NetworkInterface = en0
|
||||||
# - DC_extended
|
# - DC_extended
|
||||||
# - DC_combo_core
|
# - DC_combo_core
|
||||||
# - DC_unique
|
# - DC_unique
|
||||||
SupportedEnergyTransferModes = AC_three_phase_core, AC_single_phase_core, DC_core, DC_extended, DC_combo_core
|
energy.transfermodes.supported = AC_three_phase_core, AC_single_phase_core, DC_core, DC_extended, DC_combo_core
|
||||||
|
|
||||||
|
|
||||||
# Is charging a free service?
|
# Is charging a free service?
|
||||||
|
@ -53,7 +53,7 @@ SupportedEnergyTransferModes = AC_three_phase_core, AC_single_phase_core, DC_cor
|
||||||
# Possible values:
|
# Possible values:
|
||||||
# - true
|
# - true
|
||||||
# - false
|
# - false
|
||||||
ChargingForFree = false
|
charging.free = false
|
||||||
|
|
||||||
|
|
||||||
# PaymentOptions
|
# PaymentOptions
|
||||||
|
@ -64,7 +64,7 @@ ChargingForFree = false
|
||||||
# - ExternalPayment
|
# - ExternalPayment
|
||||||
# The supported values must be separated by the comma delimiter (","). It does not matter
|
# The supported values must be separated by the comma delimiter (","). It does not matter
|
||||||
# if you add white spaces between the values or not.
|
# if you add white spaces between the values or not.
|
||||||
SupportedPaymentOptions = Contract, ExternalPayment
|
authentication.modes.supported = Contract, ExternalPayment
|
||||||
|
|
||||||
|
|
||||||
# Is the SECC located in a private environment?
|
# Is the SECC located in a private environment?
|
||||||
|
@ -74,7 +74,7 @@ SupportedPaymentOptions = Contract, ExternalPayment
|
||||||
# Possible values:
|
# Possible values:
|
||||||
# - true
|
# - true
|
||||||
# - false
|
# - false
|
||||||
PrivateEnvironment = false
|
environment.private = false
|
||||||
|
|
||||||
|
|
||||||
# XML representation of messages
|
# XML representation of messages
|
||||||
|
@ -85,7 +85,7 @@ PrivateEnvironment = false
|
||||||
# - false
|
# - false
|
||||||
# If this value is set to 'true', the EXICodec will print each message's XML representation (for debugging purposes)
|
# If this value is set to 'true', the EXICodec will print each message's XML representation (for debugging purposes)
|
||||||
# If no correct value is provided here, 'false' will be chosen
|
# If no correct value is provided here, 'false' will be chosen
|
||||||
XMLRepresentationOfMessages = true
|
exi.messages.showxml = true
|
||||||
|
|
||||||
|
|
||||||
# Hexadecimal and Base64 representation of messages
|
# Hexadecimal and Base64 representation of messages
|
||||||
|
@ -96,7 +96,7 @@ XMLRepresentationOfMessages = true
|
||||||
# - false
|
# - false
|
||||||
# If this value is set to 'true', the EXICodec will print each message's hexadecimal and Base64 representation (for debugging purposes)
|
# If this value is set to 'true', the EXICodec will print each message's hexadecimal and Base64 representation (for debugging purposes)
|
||||||
# If no correct value is provided here, 'false' will be chosen
|
# If no correct value is provided here, 'false' will be chosen
|
||||||
HexAndBase64RepresentationOfMessages = true
|
exi.messages.showhex = true
|
||||||
|
|
||||||
|
|
||||||
# Extended logging of signature verification
|
# Extended logging of signature verification
|
||||||
|
@ -107,7 +107,7 @@ HexAndBase64RepresentationOfMessages = true
|
||||||
# - false
|
# - false
|
||||||
# If this value is set to 'true', extended logging will be printed upon verification of signatures (for debugging purposes)
|
# If this value is set to 'true', extended logging will be printed upon verification of signatures (for debugging purposes)
|
||||||
# If no correct value is provided here, 'false' will be chosen
|
# If no correct value is provided here, 'false' will be chosen
|
||||||
SignatureVerificationLog = true
|
signature.verification.showlog = true
|
||||||
|
|
||||||
|
|
||||||
# EXI codec
|
# EXI codec
|
||||||
|
@ -118,4 +118,4 @@ SignatureVerificationLog = true
|
||||||
# - exificient
|
# - exificient
|
||||||
# - open_exi
|
# - open_exi
|
||||||
# If no correct value is provided here, 'exificient' will be used
|
# If no correct value is provided here, 'exificient' will be used
|
||||||
EXICodec = exificient
|
exi.codec = exificient
|
||||||
|
|
|
@ -2,62 +2,82 @@
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.v2gclarity.risev2g</groupId>
|
<groupId>com.v2gclarity.risev2g</groupId>
|
||||||
<artifactId>parent</artifactId>
|
<artifactId>rise-v2g-parent</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.1.4-SNAPSHOT</version>
|
||||||
|
<relativePath>../RISE-V2G-PARENT</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<url>http://maven.apache.org</url>
|
<artifactId>rise-v2g-secc</artifactId>
|
||||||
<artifactId>secc</artifactId>
|
<name>rise-v2g-secc</name>
|
||||||
<name>risev2g.secc</name>
|
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.v2gclarity.risev2g</groupId>
|
<groupId>com.v2gclarity.risev2g</groupId>
|
||||||
<artifactId>shared</artifactId>
|
<artifactId>rise-v2g-shared</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.1.4-SNAPSHOT</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<project.version>1.1.4-SNAPSHOT</project.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin> <!-- For creating the JAR file -->
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId> <!-- See http://maven.apache.org/plugins/maven-assembly-plugin/usage.html -->
|
||||||
|
<version>3.1.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
|
<finalName>rise-v2g-secc-${project.version}</finalName>
|
||||||
|
<appendAssemblyId>false</appendAssemblyId>
|
||||||
<archive>
|
<archive>
|
||||||
<manifest>
|
<manifest>
|
||||||
<addClasspath>true</addClasspath>
|
<addClasspath>true</addClasspath>
|
||||||
<mainClass>org.v2gclarity.risev2g.secc.main.StartSECC</mainClass>
|
<mainClass>com.v2gclarity.risev2g.secc.main.StartSECC</mainClass>
|
||||||
</manifest>
|
</manifest>
|
||||||
</archive>
|
</archive>
|
||||||
<descriptorRefs>
|
<descriptors> <!-- Same as jar-with-dependencies descriptorRef, but can be adapted if needed -->
|
||||||
<descriptorRef>jar-with-dependencies</descriptorRef>
|
<descriptor>src/assembly/bin.xml</descriptor>
|
||||||
</descriptorRefs>
|
</descriptors>
|
||||||
<appendAssemblyId>false</appendAssemblyId>
|
|
||||||
</configuration>
|
</configuration>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>make-my-jar-with-dependencies</id>
|
<id>one-jar-only</id>
|
||||||
<phase>package</phase>
|
<phase>package</phase> <!-- bind to the packaging phase -->
|
||||||
<goals>
|
<goals>
|
||||||
<goal>single</goal>
|
<goal>single</goal>
|
||||||
</goals>
|
</goals>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin> <!-- For copying the keystores and private key to the target folder next to the JAR file -->
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
<configuration>
|
<version>3.0.2</version>
|
||||||
<appendAssemblyId>false</appendAssemblyId>
|
|
||||||
<descriptor>${project.baseUri}src/assembly/bin.xml</descriptor>
|
|
||||||
</configuration>
|
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<phase>package</phase>
|
<id>copy-resources</id>
|
||||||
|
<phase>install</phase>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>single</goal>
|
<goal>copy-resources</goal>
|
||||||
</goals>
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${basedir}/target</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>${basedir}</directory>
|
||||||
|
<includes>
|
||||||
|
<include>*.p12</include>
|
||||||
|
<include>*.jks</include>
|
||||||
|
<include>*.der</include>
|
||||||
|
<include>*.properties</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -1,40 +1,18 @@
|
||||||
<assembly>
|
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
|
||||||
<id>bin</id>
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
|
||||||
|
<!-- TODO: a jarjar format would be better -->
|
||||||
|
<id>jar-with-dependencies</id>
|
||||||
<formats>
|
<formats>
|
||||||
<format>tar.gz</format>
|
<format>jar</format>
|
||||||
<format>tar.bz2</format>
|
|
||||||
<format>zip</format>
|
|
||||||
</formats>
|
</formats>
|
||||||
|
<includeBaseDirectory>false</includeBaseDirectory>
|
||||||
<fileSets>
|
<dependencySets>
|
||||||
<fileSet>
|
<dependencySet>
|
||||||
<includes>
|
<outputDirectory>/</outputDirectory>
|
||||||
<include>README*</include>
|
<useProjectArtifact>true</useProjectArtifact>
|
||||||
</includes>
|
<unpack>true</unpack>
|
||||||
</fileSet>
|
<scope>runtime</scope>
|
||||||
<fileSet>
|
</dependencySet>
|
||||||
<directory>target</directory>
|
</dependencySets>
|
||||||
<outputDirectory>.</outputDirectory>
|
|
||||||
<includes>
|
|
||||||
<include>*.jar</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet>
|
|
||||||
<directory>.</directory>
|
|
||||||
<outputDirectory>.</outputDirectory>
|
|
||||||
<includes>
|
|
||||||
<include>*.p12</include>
|
|
||||||
<include>*.jks</include>
|
|
||||||
<include>*.pkcs8.der</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet>
|
|
||||||
<directory>.</directory>
|
|
||||||
<outputDirectory>.</outputDirectory>
|
|
||||||
<includes>
|
|
||||||
<include>*.properties</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
|
|
||||||
</fileSets>
|
|
||||||
</assembly>
|
</assembly>
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.backend;
|
package com.v2gclarity.risev2g.secc.backend;
|
||||||
|
|
||||||
import java.security.KeyStore;
|
import java.security.KeyStore;
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
|
@ -34,20 +34,20 @@ import javax.xml.namespace.QName;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EMAIDType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EMAIDType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleEntryType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleEntryType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.RelativeTimeIntervalType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.RelativeTimeIntervalType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleTupleType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleTupleType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SalesTariffEntryType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SalesTariffEntryType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SalesTariffType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SalesTariffType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
||||||
|
|
||||||
public class DummyBackendInterface implements IBackendInterface {
|
public class DummyBackendInterface implements IBackendInterface {
|
||||||
|
|
|
@ -21,14 +21,14 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.backend;
|
package com.v2gclarity.risev2g.secc.backend;
|
||||||
|
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
import java.security.interfaces.ECPrivateKey;
|
import java.security.interfaces.ECPrivateKey;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
||||||
|
|
||||||
public interface IBackendInterface {
|
public interface IBackendInterface {
|
||||||
|
|
|
@ -21,21 +21,21 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.evseController;
|
package com.v2gclarity.risev2g.secc.evseController;
|
||||||
|
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.utils.ByteUtils;
|
import com.v2gclarity.risev2g.shared.utils.ByteUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
||||||
|
|
||||||
public class DummyACEVSEController implements IACEVSEController {
|
public class DummyACEVSEController implements IACEVSEController {
|
||||||
|
|
|
@ -21,22 +21,22 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.evseController;
|
package com.v2gclarity.risev2g.secc.evseController;
|
||||||
|
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.IsolationLevelType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.IsolationLevelType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
||||||
|
|
||||||
public class DummyDCEVSEController implements IDCEVSEController {
|
public class DummyDCEVSEController implements IDCEVSEController {
|
||||||
|
|
|
@ -21,13 +21,13 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.evseController;
|
package com.v2gclarity.risev2g.secc.evseController;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
|
|
||||||
public interface IACEVSEController extends IEVSEController {
|
public interface IACEVSEController extends IEVSEController {
|
||||||
|
|
|
@ -21,15 +21,15 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.evseController;
|
package com.v2gclarity.risev2g.secc.evseController;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.IsolationLevelType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.IsolationLevelType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
||||||
|
|
||||||
public interface IDCEVSEController extends IEVSEController {
|
public interface IDCEVSEController extends IEVSEController {
|
||||||
|
|
|
@ -21,9 +21,9 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.evseController;
|
package com.v2gclarity.risev2g.secc.evseController;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
||||||
|
|
||||||
|
|
||||||
public interface IEVSEController {
|
public interface IEVSEController {
|
|
@ -21,16 +21,16 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.main;
|
package com.v2gclarity.risev2g.secc.main;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionHandlerSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionHandlerSECC;
|
||||||
import org.v2gclarity.risev2g.secc.transportLayer.TCPServer;
|
import com.v2gclarity.risev2g.secc.transportLayer.TCPServer;
|
||||||
import org.v2gclarity.risev2g.secc.transportLayer.TLSServer;
|
import com.v2gclarity.risev2g.secc.transportLayer.TLSServer;
|
||||||
import org.v2gclarity.risev2g.secc.transportLayer.UDPServer;
|
import com.v2gclarity.risev2g.secc.transportLayer.UDPServer;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
|
|
||||||
public class StartSECC {
|
public class StartSECC {
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ public class StartSECC {
|
||||||
tlsServerThread.setName("TLSServerThread");
|
tlsServerThread.setName("TLSServerThread");
|
||||||
|
|
||||||
// All transport layer threads need to be initialized before initializing the SECC session handler.
|
// All transport layer threads need to be initialized before initializing the SECC session handler.
|
||||||
V2GCommunicationSessionHandlerSECC sessionHandler = new V2GCommunicationSessionHandlerSECC();
|
new V2GCommunicationSessionHandlerSECC();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* To avoid possible race conditions, the transport layer threads need to be started AFTER the SECC
|
* To avoid possible race conditions, the transport layer threads need to be started AFTER the SECC
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.session;
|
package com.v2gclarity.risev2g.secc.session;
|
||||||
|
|
||||||
import java.net.DatagramPacket;
|
import java.net.DatagramPacket;
|
||||||
import java.net.Inet6Address;
|
import java.net.Inet6Address;
|
||||||
|
@ -33,17 +33,17 @@ import java.util.Observer;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.secc.transportLayer.ConnectionHandler;
|
import com.v2gclarity.risev2g.secc.transportLayer.ConnectionHandler;
|
||||||
import org.v2gclarity.risev2g.secc.transportLayer.TCPServer;
|
import com.v2gclarity.risev2g.secc.transportLayer.TCPServer;
|
||||||
import org.v2gclarity.risev2g.secc.transportLayer.TLSServer;
|
import com.v2gclarity.risev2g.secc.transportLayer.TLSServer;
|
||||||
import org.v2gclarity.risev2g.secc.transportLayer.UDPServer;
|
import com.v2gclarity.risev2g.secc.transportLayer.UDPServer;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.MessageHandler;
|
import com.v2gclarity.risev2g.shared.messageHandling.MessageHandler;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.ByteUtils;
|
import com.v2gclarity.risev2g.shared.utils.ByteUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryReq;
|
import com.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryReq;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryRes;
|
import com.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryRes;
|
||||||
|
|
||||||
public class V2GCommunicationSessionHandlerSECC implements Observer {
|
public class V2GCommunicationSessionHandlerSECC implements Observer {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.session;
|
package com.v2gclarity.risev2g.secc.session;
|
||||||
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -29,55 +29,55 @@ import java.util.Arrays;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.backend.DummyBackendInterface;
|
import com.v2gclarity.risev2g.secc.backend.DummyBackendInterface;
|
||||||
import org.v2gclarity.risev2g.secc.backend.IBackendInterface;
|
import com.v2gclarity.risev2g.secc.backend.IBackendInterface;
|
||||||
import org.v2gclarity.risev2g.secc.evseController.DummyACEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.DummyACEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.evseController.DummyDCEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.DummyDCEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IACEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IACEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.states.ForkState;
|
import com.v2gclarity.risev2g.secc.states.ForkState;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForAuthorizationReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForAuthorizationReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForCableCheckReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForCableCheckReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForCertificateInstallationReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForCertificateInstallationReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForCertificateUpdateReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForCertificateUpdateReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForChargeParameterDiscoveryReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForChargeParameterDiscoveryReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForChargingStatusReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForChargingStatusReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForCurrentDemandReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForCurrentDemandReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForMeteringReceiptReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForMeteringReceiptReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForPaymentDetailsReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForPaymentDetailsReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForPaymentServiceSelectionReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForPaymentServiceSelectionReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForPowerDeliveryReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForPowerDeliveryReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForPreChargeReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForPreChargeReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForServiceDetailReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForServiceDetailReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForServiceDiscoveryReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForServiceDiscoveryReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForSessionSetupReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForSessionSetupReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForSessionStopReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForSessionStopReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForSupportedAppProtocolReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForSupportedAppProtocolReq;
|
||||||
import org.v2gclarity.risev2g.secc.states.WaitForWeldingDetectionReq;
|
import com.v2gclarity.risev2g.secc.states.WaitForWeldingDetectionReq;
|
||||||
import org.v2gclarity.risev2g.secc.transportLayer.ConnectionHandler;
|
import com.v2gclarity.risev2g.secc.transportLayer.ConnectionHandler;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ChangeProcessingState;
|
import com.v2gclarity.risev2g.shared.messageHandling.ChangeProcessingState;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.SendMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.SendMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GCommunicationSession;
|
import com.v2gclarity.risev2g.shared.misc.V2GCommunicationSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.ByteUtils;
|
import com.v2gclarity.risev2g.shared.utils.ByteUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolReq;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolReq;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MessageHeaderType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MessageHeaderType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class V2GCommunicationSessionSECC extends V2GCommunicationSession implements Observer {
|
public class V2GCommunicationSessionSECC extends V2GCommunicationSession implements Observer {
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ChangeProcessingState;
|
import com.v2gclarity.risev2g.shared.messageHandling.ChangeProcessingState;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
import com.v2gclarity.risev2g.shared.messageHandling.TerminateSession;
|
||||||
import org.v2gclarity.risev2g.shared.misc.State;
|
import com.v2gclarity.risev2g.shared.misc.State;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class ForkState extends ServerState {
|
public class ForkState extends ServerState {
|
||||||
|
|
|
@ -21,44 +21,44 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IACEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IACEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.SendMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.SendMessage;
|
||||||
import org.v2gclarity.risev2g.shared.misc.State;
|
import com.v2gclarity.risev2g.shared.misc.State;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ContractSignatureEncryptedPrivateKeyType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ContractSignatureEncryptedPrivateKeyType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DiffieHellmanPublickeyType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DiffieHellmanPublickeyType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EMAIDType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EMAIDType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.UnitSymbolType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionResType;
|
||||||
|
|
||||||
public abstract class ServerState extends State {
|
public abstract class ServerState extends State {
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ public abstract class ServerState extends State {
|
||||||
protected SendMessage getSendMessage(
|
protected SendMessage getSendMessage(
|
||||||
SupportedAppProtocolRes message,
|
SupportedAppProtocolRes message,
|
||||||
V2GMessages nextExpectedMessage,
|
V2GMessages nextExpectedMessage,
|
||||||
org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.ResponseCodeType responseCode) {
|
com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.ResponseCodeType responseCode) {
|
||||||
String messageName = message.getClass().getSimpleName();
|
String messageName = message.getClass().getSimpleName();
|
||||||
|
|
||||||
if (!responseCode.value().substring(0, 2).toUpperCase().equals("OK")) {
|
if (!responseCode.value().substring(0, 2).toUpperCase().equals("OK")) {
|
|
@ -21,23 +21,23 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.AuthorizationResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForAuthorizationReq extends ServerState {
|
public class WaitForAuthorizationReq extends ServerState {
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CableCheckResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.IsolationLevelType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.IsolationLevelType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForCableCheckReq extends ServerState {
|
public class WaitForCableCheckReq extends ServerState {
|
||||||
|
|
|
@ -21,26 +21,26 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import java.security.KeyPair;
|
import java.security.KeyPair;
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
import java.security.interfaces.ECPublicKey;
|
import java.security.interfaces.ECPublicKey;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.PKI;
|
import com.v2gclarity.risev2g.shared.enumerations.PKI;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateInstallationResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ContractSignatureEncryptedPrivateKeyType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ContractSignatureEncryptedPrivateKeyType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForCertificateInstallationReq extends ServerState {
|
public class WaitForCertificateInstallationReq extends ServerState {
|
||||||
|
|
|
@ -21,25 +21,26 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import java.security.KeyPair;
|
import java.security.KeyPair;
|
||||||
import java.security.interfaces.ECPublicKey;
|
import java.security.interfaces.ECPublicKey;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.PKI;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.PKI;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateChainType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ContractSignatureEncryptedPrivateKeyType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CertificateUpdateResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ContractSignatureEncryptedPrivateKeyType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
||||||
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForCertificateUpdateReq extends ServerState {
|
public class WaitForCertificateUpdateReq extends ServerState {
|
||||||
|
|
|
@ -21,28 +21,28 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IACEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IACEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeParameterDiscoveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVChargeParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVChargeParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSEProcessingType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EnergyTransferModeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForChargeParameterDiscoveryReq extends ServerState {
|
public class WaitForChargeParameterDiscoveryReq extends ServerState {
|
||||||
|
|
|
@ -21,18 +21,18 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingStatusResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
|
|
||||||
public class WaitForChargingStatusReq extends ServerState {
|
public class WaitForChargingStatusReq extends ServerState {
|
||||||
|
|
|
@ -21,19 +21,19 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.CurrentDemandResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForCurrentDemandReq extends ServerState {
|
public class WaitForCurrentDemandReq extends ServerState {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -29,20 +29,20 @@ import java.util.HashMap;
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeterInfoType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.MeteringReceiptResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SignatureType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForMeteringReceiptReq extends ServerState {
|
public class WaitForMeteringReceiptReq extends ServerState {
|
||||||
|
|
|
@ -21,19 +21,19 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.PKI;
|
import com.v2gclarity.risev2g.shared.enumerations.PKI;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentDetailsResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForPaymentDetailsReq extends ServerState {
|
public class WaitForPaymentDetailsReq extends ServerState {
|
||||||
|
|
|
@ -21,19 +21,19 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentOptionType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PaymentServiceSelectionResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SelectedServiceType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SelectedServiceType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForPaymentServiceSelectionReq extends ServerState {
|
public class WaitForPaymentServiceSelectionReq extends ServerState {
|
||||||
|
|
|
@ -21,29 +21,30 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import javax.xml.bind.JAXBElement;
|
import javax.xml.bind.JAXBElement;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ACEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeProgressType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargingProfileType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleEntryType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PMaxScheduleEntryType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ProfileEntryType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PowerDeliveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.RelativeTimeIntervalType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ProfileEntryType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.RelativeTimeIntervalType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleTupleType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SAScheduleTupleType;
|
||||||
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForPowerDeliveryReq extends ServerState {
|
public class WaitForPowerDeliveryReq extends ServerState {
|
||||||
|
|
|
@ -21,18 +21,18 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PreChargeResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForPreChargeReq extends ServerState {
|
public class WaitForPreChargeReq extends ServerState {
|
||||||
|
|
|
@ -21,20 +21,20 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ParameterSetType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ParameterSetType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ParameterType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ParameterType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDetailResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceParameterListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceParameterListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForServiceDetailReq extends ServerState {
|
public class WaitForServiceDetailReq extends ServerState {
|
||||||
|
|
|
@ -21,22 +21,22 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeServiceType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ChargeServiceType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceCategoryType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceCategoryType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceDiscoveryResType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceListType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceListType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ServiceType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SupportedEnergyTransferModeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SupportedEnergyTransferModeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
|
|
||||||
public class WaitForServiceDiscoveryReq extends ServerState {
|
public class WaitForServiceDiscoveryReq extends ServerState {
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ public class WaitForServiceDiscoveryReq extends ServerState {
|
||||||
*/
|
*/
|
||||||
chargeService.setServiceScope("chargingServiceScope");
|
chargeService.setServiceScope("chargingServiceScope");
|
||||||
|
|
||||||
boolean isChargingForFree = ((boolean) MiscUtils.getPropertyValue("ChargingForFree"));
|
boolean isChargingForFree = ((boolean) MiscUtils.getPropertyValue("charging.free"));
|
||||||
chargeService.setFreeService(isChargingForFree);
|
chargeService.setFreeService(isChargingForFree);
|
||||||
|
|
||||||
return chargeService;
|
return chargeService;
|
|
@ -21,15 +21,15 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionSetupResType;
|
||||||
|
|
||||||
public class WaitForSessionSetupReq extends ServerState {
|
public class WaitForSessionSetupReq extends ServerState {
|
||||||
|
|
|
@ -21,15 +21,15 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.SessionStopResType;
|
||||||
|
|
||||||
public class WaitForSessionStopReq extends ServerState {
|
public class WaitForSessionStopReq extends ServerState {
|
||||||
|
|
|
@ -21,23 +21,23 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ChangeProcessingState;
|
import com.v2gclarity.risev2g.shared.messageHandling.ChangeProcessingState;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryReq;
|
import com.v2gclarity.risev2g.shared.v2gMessages.SECCDiscoveryReq;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.AppProtocolType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolReq;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolReq;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
|
import com.v2gclarity.risev2g.shared.v2gMessages.appProtocol.SupportedAppProtocolRes;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
|
|
||||||
public class WaitForSupportedAppProtocolReq extends ServerState {
|
public class WaitForSupportedAppProtocolReq extends ServerState {
|
||||||
|
|
|
@ -21,18 +21,18 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.states;
|
package com.v2gclarity.risev2g.secc.states;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
import com.v2gclarity.risev2g.secc.evseController.IDCEVSEController;
|
||||||
import org.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
import com.v2gclarity.risev2g.secc.session.V2GCommunicationSessionSECC;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
import com.v2gclarity.risev2g.shared.enumerations.V2GMessages;
|
||||||
import org.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
import com.v2gclarity.risev2g.shared.messageHandling.ReactionToIncomingMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.BodyBaseType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.ResponseCodeType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.V2GMessage;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionReqType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionReqType;
|
||||||
import org.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionResType;
|
import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.WeldingDetectionResType;
|
||||||
|
|
||||||
public class WaitForWeldingDetectionReq extends ServerState {
|
public class WaitForWeldingDetectionReq extends ServerState {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.transportLayer;
|
package com.v2gclarity.risev2g.secc.transportLayer;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
@ -36,9 +36,9 @@ import javax.net.ssl.SSLSocket;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
import com.v2gclarity.risev2g.shared.misc.TimeRestrictions;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.ByteUtils;
|
import com.v2gclarity.risev2g.shared.utils.ByteUtils;
|
||||||
|
|
||||||
public class ConnectionHandler extends Observable implements Runnable {
|
public class ConnectionHandler extends Observable implements Runnable {
|
||||||
|
|
|
@ -21,14 +21,14 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.transportLayer;
|
package com.v2gclarity.risev2g.secc.transportLayer;
|
||||||
|
|
||||||
import java.net.Inet6Address;
|
import java.net.Inet6Address;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
|
|
||||||
public abstract class StatefulTransportLayerServer extends Observable implements Runnable {
|
public abstract class StatefulTransportLayerServer extends Observable implements Runnable {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.transportLayer;
|
package com.v2gclarity.risev2g.secc.transportLayer;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.ServerSocket;
|
import java.net.ServerSocket;
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.transportLayer;
|
package com.v2gclarity.risev2g.secc.transportLayer;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.SocketException;
|
import java.net.SocketException;
|
||||||
|
@ -29,8 +29,8 @@ import javax.net.ssl.SSLServerSocket;
|
||||||
import javax.net.ssl.SSLServerSocketFactory;
|
import javax.net.ssl.SSLServerSocketFactory;
|
||||||
import javax.net.ssl.SSLSocket;
|
import javax.net.ssl.SSLSocket;
|
||||||
|
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
import com.v2gclarity.risev2g.shared.utils.SecurityUtils;
|
||||||
|
|
||||||
public final class TLSServer extends StatefulTransportLayerServer {
|
public final class TLSServer extends StatefulTransportLayerServer {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.v2gclarity.risev2g.secc.transportLayer;
|
package com.v2gclarity.risev2g.secc.transportLayer;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.DatagramPacket;
|
import java.net.DatagramPacket;
|
||||||
|
@ -33,9 +33,9 @@ import java.util.Observable;
|
||||||
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
import com.v2gclarity.risev2g.shared.enumerations.GlobalValues;
|
||||||
import org.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
import com.v2gclarity.risev2g.shared.misc.V2GTPMessage;
|
||||||
import org.v2gclarity.risev2g.shared.utils.MiscUtils;
|
import com.v2gclarity.risev2g.shared.utils.MiscUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The UDP server is handling the SECCDiscovery messages only. The standard does not
|
* The UDP server is handling the SECCDiscovery messages only. The standard does not
|
|
@ -2,7 +2,7 @@
|
||||||
<Configuration>
|
<Configuration>
|
||||||
<Appenders>
|
<Appenders>
|
||||||
<Console name="Console" target="SYSTEM_OUT">
|
<Console name="Console" target="SYSTEM_OUT">
|
||||||
<PatternLayout pattern="%d{ISO8601} %highlight{%level}{FATAL=bg_red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue} [%t] %c: %m%n" />
|
<PatternLayout pattern="%d{ISO8601} %level [%t] %c: %m%n" />
|
||||||
</Console>
|
</Console>
|
||||||
</Appenders>
|
</Appenders>
|
||||||
<Loggers>
|
<Loggers>
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* The MIT License (MIT)
|
||||||
|
*
|
||||||
|
* Copyright (c) 2015-2017 V2G Clarity (Dr. Marc Mültin)
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*******************************************************************************/
|
|
@ -2,21 +2,24 @@
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.v2gclarity.risev2g</groupId>
|
<groupId>com.v2gclarity.risev2g</groupId>
|
||||||
<artifactId>parent</artifactId>
|
<artifactId>rise-v2g-parent</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.1.4-SNAPSHOT</version>
|
||||||
|
<relativePath>../RISE-V2G-PARENT</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<url>http://maven.apache.org</url>
|
<artifactId>rise-v2g-shared</artifactId>
|
||||||
<artifactId>shared</artifactId>
|
<name>rise-v2g-shared</name>
|
||||||
<name>risev2g.shared</name>
|
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
|
<!-- OpenEXI jars deployed in the /repo folder of RISE-V2G-Shared.
|
||||||
|
See https://devcenter.heroku.com/articles/local-maven-dependencies for how to deploy .jars locally which are not
|
||||||
|
published in a public Maven repo. -->
|
||||||
<repository>
|
<repository>
|
||||||
<id>in-project</id>
|
<id>project.local</id>
|
||||||
<name>In Project Repo</name>
|
<name>project</name>
|
||||||
<url>file://${project.basedir}/libs</url>
|
<url>file:${project.basedir}/repo</url>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
|
@ -31,20 +34,15 @@
|
||||||
<artifactId>xercesImpl</artifactId>
|
<artifactId>xercesImpl</artifactId>
|
||||||
<version>2.11.0</version>
|
<version>2.11.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>xml-apis</groupId>
|
|
||||||
<artifactId>xml-apis</artifactId>
|
|
||||||
<version>1.4.01</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
<artifactId>log4j-api</artifactId>
|
<artifactId>log4j-api</artifactId>
|
||||||
<version>2.9.0</version>
|
<version>2.9.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
<artifactId>log4j-core</artifactId>
|
<artifactId>log4j-core</artifactId>
|
||||||
<version>2.9.0</version>
|
<version>2.9.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.sourceforge.openexi</groupId>
|
<groupId>net.sourceforge.openexi</groupId>
|
||||||
|
@ -58,28 +56,4 @@
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-shade-plugin</artifactId>
|
|
||||||
<version>2.4.1</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>shade</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<transformers>
|
|
||||||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
||||||
<mainClass>org.sonatype.haven.HavenCli</mainClass>
|
|
||||||
</transformer>
|
|
||||||
</transformers>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</project>
|
</project>
|
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
7b375be13edb0bd60115484b9ee910ae
|
|
@ -0,0 +1 @@
|
||||||
|
151a0ffbfad58d963fef8d7eb9afee45caa097f5
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>net.sourceforge.openexi</groupId>
|
||||||
|
<artifactId>nagasena-rta</artifactId>
|
||||||
|
<version>0000.0002.0052.0</version>
|
||||||
|
</project>
|
|
@ -0,0 +1 @@
|
||||||
|
6804aff1bd5d5a64ad32c77fa340a210
|
|
@ -0,0 +1 @@
|
||||||
|
d3a85dd867e323d64a4ada41ba727b8037bbb0c5
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<metadata>
|
||||||
|
<groupId>net.sourceforge.openexi</groupId>
|
||||||
|
<artifactId>nagasena-rta</artifactId>
|
||||||
|
<versioning>
|
||||||
|
<release>0000.0002.0052.0</release>
|
||||||
|
<versions>
|
||||||
|
<version>0000.0002.0052.0</version>
|
||||||
|
</versions>
|
||||||
|
<lastUpdated>20171010062755</lastUpdated>
|
||||||
|
</versioning>
|
||||||
|
</metadata>
|
|
@ -0,0 +1 @@
|
||||||
|
5339d557de85298bce41835f018e1e24
|
|
@ -0,0 +1 @@
|
||||||
|
7a9eb14772b77dd0ad07f2eeb0edee95dafcb07a
|
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
c192a17d3e1cddf9ede1a665b519aec9
|
|
@ -0,0 +1 @@
|
||||||
|
cca128e2267b20bf33224ad5174d2b413fa0b060
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>net.sourceforge.openexi</groupId>
|
||||||
|
<artifactId>nagasena</artifactId>
|
||||||
|
<version>0000.0002.0052.0</version>
|
||||||
|
</project>
|
|
@ -0,0 +1 @@
|
||||||
|
7e1842bc6e8f9cd871c3a1b5abdf8e69
|
|
@ -0,0 +1 @@
|
||||||
|
31c8f0910b4f8878b02829081dc7d82fffb56552
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<metadata>
|
||||||
|
<groupId>net.sourceforge.openexi</groupId>
|
||||||
|
<artifactId>nagasena</artifactId>
|
||||||
|
<versioning>
|
||||||
|
<release>0000.0002.0052.0</release>
|
||||||
|
<versions>
|
||||||
|
<version>0000.0002.0052.0</version>
|
||||||
|
</versions>
|
||||||
|
<lastUpdated>20171010062613</lastUpdated>
|
||||||
|
</versioning>
|
||||||
|
</metadata>
|
|
@ -0,0 +1 @@
|
||||||
|
952c9386ef2ffc7c0aa99760f0ce7d01
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue