1942 disable connections/communication from rejected stations#1943
1942 disable connections/communication from rejected stations#1943goekay wants to merge 3 commits into
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||
PR Type
Bug fix, Enhancement
Description
Block websocket connections from stations with "Rejected" registration status
Convert registration status from String to RegistrationStatus enum type
Update handshake validation logic to check registration status
Simplify registration status mapping in ChargePointService
Diagram Walkthrough
flowchart LR A["WebSocket Handshake Request"] --> B["Check ChargeBoxId Validity"] B --> C["Fetch Registration from DB"] C --> D["Validate Registration Status"] D --> E{"Status != REJECTED?"} E -->|Yes| F["Allow Connection"] E -->|No| G["Reject Connection"]File Walkthrough
OcppWebSocketHandshakeHandler.java
Add registration status validation to websocket handshakesrc/main/java/de/rwth/idsg/steve/ocpp/ws/OcppWebSocketHandshakeHandler.java
RegistrationStatusenum from OCPP schemaChargePointRegistration.java
Convert registration status to enum typesrc/main/java/de/rwth/idsg/steve/repository/dto/ChargePointRegistration.java
registrationStatusfield type from String toRegistrationStatusenum
RegistrationStatusfrom OCPP schemaChargePointRepositoryImpl.java
Map database status string to enumsrc/main/java/de/rwth/idsg/steve/repository/impl/ChargePointRepositoryImpl.java
RegistrationStatusenum usingfromValue()getRegistration()methodChargePointService.java
Simplify registration status retrievalsrc/main/java/de/rwth/idsg/steve/service/ChargePointService.java
getRegistrationStatus()method by removing redundantconversion
SecurityProfileValidatorTest.java
Update test to use registration status enumsrc/test/java/de/rwth/idsg/steve/web/validation/SecurityProfileValidatorTest.java
RegistrationStatusenumRegistrationStatus.ACCEPTEDenum value