Conversation
a546c1b to
11dd575
Compare
11dd575 to
c76a84d
Compare
Add Java classes for all OCPP 2.1 messages and types as well as client and server event handler interfaces and function classes corresponding to the OCPP 2.1 "functional blocks." Add OCPP 2.1 to the ProtocolVersion enum. Specify UTF-8 encoding for the Java source files in build.gradle and pom.xml to avoid compiler warnings about the UTF-8 sequences in the source files.
c76a84d to
febd153
Compare
Implement the CALLRESULTERROR RPC as a response to a CALLRESULT, in case that failed internal validation, or if the completion action last added to the CompletionStage returned by send() using .whenComplete[Async]() throws any exception. Add an optional confirmationError() callback method to the ClientEvents and ServerEvents interfaces to allow the application to get notified about an incoming CALLRESULTERROR. The application may use the uniqueId parameter to match it to the Request#getOcppMessageId() of one of the requests it last responded to, provided it keeps track of them. Implement the SEND RPC as requests which do not have a confirmation type. These are sent through the existing send() method, returning a CompletableFuture which is already completed when the method returns, to which a completion action can be added to check whether a local exception prevented the request from being sent. Fix the only OCPP message using the SEND RPC, NotifyPeriodicEventStream, and add its missing Feature and Function handlers. The handler for this message is a void method, as it has no response. Remove sending CALLERROR in response to anything other than a CALL, except for the RpcFrameworkError when the message could not be parsed. Simplify the pendingPromises synchronization in Session by using the ConcurrentHashMap class rather than HashMap. Fix a few typos encountered along the way.
Add multi-protocol integration tests for OCPP 1.6/2.0.1/2.1 protocol selection and exchanging BootNotification messages. Add integration tests for the OCPP 2.1 CALLRESULTERROR and SEND RPCs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Java classes for all OCPP 2.1 messages and types as well as client and server event handler interfaces and function classes corresponding to the OCPP 2.1 "functional blocks."
Add OCPP 2.1 to the ProtocolVersion enum.
Specify UTF-8 encoding for the Java source files in build.gradle and pom.xml to avoid compiler warnings about the UTF-8 sequences in the source files.